🧠📚🔍 Hydration layer for agent work. Joins OTel spans, git/gh state, Claude Code sessions, and local docs context into one queryable surface (web + MCP).
This repository has been archived on 2026-07-04. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.
  • Rust 96.2%
  • Python 1.2%
  • Shell 0.8%
  • Makefile 0.8%
  • Dockerfile 0.6%
  • Other 0.4%
Find a file
claude-linux-c62db889577d-eb15-she-her 1bfed46638
Some checks failed
mirror-to-github / mirror (push) Successful in 9s
release / release (push) Successful in 28s
release / bump-formula (push) Failing after 23s
release / bump-tap-formula (push) Failing after 23s
release / windows-assets (push) Failing after 30s
build-publish-deploy / test (push) Successful in 1m40s
build-publish-deploy / deploy (push) Failing after 4m13s
chore: scrub coily references for coily retirement
Retire coily-tool references in favor of ward / ward-kdl.

- .claude/settings.json: drop coily allow-rules (flyctl/gcloud gaming
  ops are dropped capabilities), add ward + ward-kdl.
- Remove stale .coily/coily.yaml (an exact duplicate of .ward/ward.yaml)
  and fix the ward.yaml header. Repoint README / AGENTS / FEATURES
  See-also entries at .ward/ward.yaml.
- cli-guard audit dir default moves ~/.coily/audit to ~/.ward/audit.
  ward writes the audit JSONL now (src, config.example, doc comments).
- Test fixtures: argv coily to ward / ward-kdl, and capture.sh calls
  gh api directly instead of the retired coily ops gh wrapper.
- AGENTS release step: coily ssh to a direct ssh (passthrough retired).

Remaining coily matches are org/user/host names (coilysiren, coilyco-*,
forgejo.coilysiren.me) plus captured GitHub API fixtures and the "coily
to ward consolidation" milestone title, all historical and kept.

closes #116

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-02 02:38:30 +00:00
.agents/skills chore: scrub coily references for coily retirement 2026-07-02 02:38:30 +00:00
.claude chore: scrub coily references for coily retirement 2026-07-02 02:38:30 +00:00
.forgejo/workflows chore(code-comments): clean YAML comment discipline, pin agentic-os v0.16.0 2026-06-08 17:45:27 -07:00
.github/workflows chore(code-comments): clean YAML comment discipline, pin agentic-os v0.16.0 2026-06-08 17:45:27 -07:00
.ward chore: scrub coily references for coily retirement 2026-07-02 02:38:30 +00:00
assets/pr-screenshots chore: bump agentic-os pre-commit rev to v0.3.0 2026-05-27 00:29:42 -07:00
deploy feat(forgejo): remote-first ingest + fix Forgejo issue/milestone parsers 2026-06-17 04:47:17 -07:00
docs chore: scrub coily references for coily retirement 2026-07-02 02:38:30 +00:00
Formula chore(formula): bump to v0.51.0 [skip ci] 2026-06-18 09:48:41 +00:00
scripts test: set git identity inline on the stale-branches merge commit 2026-05-28 06:38:53 -07:00
src chore: scrub coily references for coily retirement 2026-07-02 02:38:30 +00:00
tests chore: scrub coily references for coily retirement 2026-07-02 02:38:30 +00:00
.agentic-os.toml chore(code-comments): clean YAML comment discipline, pin agentic-os v0.16.0 2026-06-08 17:45:27 -07:00
.dockerignore demo mode phase 4: Dockerfile.demo + entrypoint + smoke harness 2026-04-27 23:12:27 -07:00
.editorconfig Initial commit — repo-recall v0.1.0 2026-04-24 03:38:00 -07:00
.gitattributes Initial commit — repo-recall v0.1.0 2026-04-24 03:38:00 -07:00
.gitignore chore: renormalize .claude/ to current coily lockdown render 2026-06-07 22:51:52 -07:00
.pre-commit-config.yaml chore(code-comments): clean YAML comment discipline, pin agentic-os v0.16.0 2026-06-08 17:45:27 -07:00
.trufflehog-exclude chore: renormalize .claude/ to current coily lockdown render 2026-06-07 22:51:52 -07:00
AGENTS.md chore: scrub coily references for coily retirement 2026-07-02 02:38:30 +00:00
build.rs chore: trim 850 contiguous-comment-block violations for agentic-os v0.2.8 2026-05-25 20:39:56 -07:00
Cargo.lock strip HTML UI tier, JSON + MCP only 2026-05-17 14:40:46 -07:00
Cargo.toml feat(ingest): per-repo dispatch routes Forgejo-hosted repos to Forgejo REST 2026-05-27 16:46:10 -07:00
CLAUDE.md Initial commit — repo-recall v0.1.0 2026-04-24 03:38:00 -07:00
config.example.yaml chore: scrub coily references for coily retirement 2026-07-02 02:38:30 +00:00
docker-compose.yml chore(code-comments): clean YAML comment discipline, pin agentic-os v0.16.0 2026-06-08 17:45:27 -07:00
Dockerfile chore: remove the React frontend entirely 2026-05-27 15:18:02 -07:00
Makefile feat(deploy): add systemd --user service for Linux/WSL 2026-05-28 06:23:03 -07:00
README.md chore: scrub coily references for coily retirement 2026-07-02 02:38:30 +00:00
rustfmt.toml Initial commit — repo-recall v0.1.0 2026-04-24 03:38:00 -07:00
SECURITY.md labeled issues: single GraphQL request per refresh, closes #161 2026-05-14 18:59:22 -07:00

repo-recall

"What's the current state of every repo and agent burst on this machine, right now?"

repo-recall is a local hydration layer that joins git (commits, churn, working tree), gh (PRs, issues, deploy status), and Claude Code sessions (~/.claude/projects/) into a single queryable surface served as JSON and over MCP out of the same process.

Two questions, one HTTP call or one MCP tool call:

  • Which sessions touched this repo? ask the dashboard for a repo, get every session with it as cwd.
  • Which repos did this session touch? ask for a session, get every repo it crossed.

Local-only. Binds 127.0.0.1, cache lives in $TMPDIR. Outbound limited to GitHub REST reads for PRs, issues, and deploy status.

Surface

API + MCP service only. The Rust binary serves JSON HTTP on 127.0.0.1:7777 plus an MCP server co-running in the same process. No HTML, no web frontend. Consumers are agents (via MCP) and the luca-* skills + ward wrappers (via JSON).

Endpoint list and MCP tool inventory: docs/endpoints.md. Env vars: docs/env-vars.md.

Quick start

cargo run
curl http://127.0.0.1:7777/

No config, no wizard. Walks cwd + 4 levels for .git, parses ~/.claude/projects/**/*.jsonl, joins by cwd.

Local dev: make watch runs cargo-watch on the Rust binary.

MCP host

For Claude Desktop:

{
  "mcpServers": {
    "repo-recall": {
      "command": "repo-recall",
      "env": { "REPO_RECALL_CWD": "/Users/you/projects", "REPO_RECALL_DEPTH": "4" }
    }
  }
}

Install via Homebrew

brew tap coilysiren/repo-recall https://forgejo.coilysiren.me/coilysiren/repo-recall
brew install coilysiren/repo-recall/repo-recall
brew services start repo-recall

Logs at $(brew --prefix)/var/log/repo-recall.{log,err.log}. brew services edit repo-recall for custom WorkingDirectory / env vars.

Install as a systemd service (Linux / WSL)

ward exec install-systemd-user   # or: make install-systemd-user

Builds the release binary, installs it to ~/.local/bin/repo-recall, drops scripts/repo-recall.service into ~/.config/systemd/user/, enables lingering (starts at boot without a login), and starts the service. Idempotent: re-run after a rebuild to roll the binary. Logs via journalctl --user -u repo-recall -f.

Silencing repos

Drop empty .repo-recall-ignore at the root of a repo cloned for reading. Suppresses all action-required signals. Opt-in.

Point an agent at it

Hand the URL or MCP entry to a coding agent. Starter prompts: "work through every repo flagged as action-required", "find dirty trees and commit or discard", "land or delete stale local branches".

See also

Cross-reference convention from coilysiren/agentic-os#59.