{"id":50773847,"url":"https://github.com/agent-rt/memctl","last_synced_at":"2026-06-11T21:36:21.711Z","repository":{"id":354110539,"uuid":"1222193597","full_name":"agent-rt/memctl","owner":"agent-rt","description":"Persistent agent memory layer (cross-tool / cross-project / cross-session)","archived":false,"fork":false,"pushed_at":"2026-04-27T07:11:00.000Z","size":101,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-11T21:35:44.995Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://github.com/agent-rt/memoryctl","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/agent-rt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-04-27T06:10:04.000Z","updated_at":"2026-04-27T07:09:44.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/agent-rt/memctl","commit_stats":null,"previous_names":["agent-rt/memoryctl"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/agent-rt/memctl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agent-rt%2Fmemctl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agent-rt%2Fmemctl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agent-rt%2Fmemctl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agent-rt%2Fmemctl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/agent-rt","download_url":"https://codeload.github.com/agent-rt/memctl/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agent-rt%2Fmemctl/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34219510,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-11T02:00:06.485Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-11T21:36:20.967Z","updated_at":"2026-06-11T21:36:21.705Z","avatar_url":"https://github.com/agent-rt.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# memctl\n\n\u003e Persistent agent memory layer — cross-tool, cross-project, cross-session.\n\nAI agents lose context at every `/clear`. CLAUDE.md is static and tool-private. `memctl` is the layer in between: a topic-based markdown store with timestamped entries, accessible from any Agent that can read `AGENTS.md` and execute a shell.\n\n```bash\n# Capture an observation (any Agent, any project)\nmemctl save --type decision --topic skillctl-design \\\n  \"core/extra naming wins over baseline/on-demand: more human-friendly\"\n\n# Read it back from a different project, different Agent, different session:\nmemctl read --topic skillctl-design --format tsv\nmemctl search \"naming\"\n```\n\n## Seven types of memory\n\n| Type | Use for |\n|---|---|\n| `lesson` | Recurring gotchas, hard-won experience |\n| `decision` | Design decisions + rationale |\n| `fact` | Domain knowledge (non-opinion) |\n| `feedback` | Collaboration preferences |\n| `reference` | Pointers to external systems |\n| `user` | Who the user is |\n| `project` | Current project state / context |\n\n## Three scopes\n\n| Scope | Path | Visible to |\n|---|---|---|\n| `global` (default) | `~/.memctl/global/topics/` | All projects, all Agents |\n| `project` | `\u003cproject\u003e/.memctl/topics/` | Only this repo (commit it!) |\n| `agent:\u003cname\u003e` | `~/.memctl/agents/\u003cname\u003e/topics/` | Only that Agent |\n\nProject-scoped memory commits with your code — new team members get the lore on `git clone`. Something Claude Code / Cursor private memory cannot do.\n\n## Install\n\nPre-built binaries: see [Releases](https://github.com/agent-rt/memctl/releases).\n\nHomebrew:\n\n```bash\nbrew install agent-rt/tap/memctl\n```\n\nFrom source (Rust 1.83+):\n\n```bash\ngit clone https://github.com/agent-rt/memctl\ncd memctl\ncargo install --path apps/memctl-cli --locked\n```\n\n## Quick start in a project\n\n```bash\ncd my-project\nmemctl init                         # creates .memctl/ + AGENTS.md block\nmemctl save --type fact --topic api-conventions \\\n  --scope project --no-confirm \\\n  \"POST /payments must include Idempotency-Key header\"\ngit add .memctl AGENTS.md\ngit commit -m \"memctl: capture API conventions\"\n```\n\nNow any Agent (Claude Code, Codex, Cursor, …) opening this repo will:\n\n1. Read `AGENTS.md` → see the memctl block\n2. Run `memctl list --format tsv` → discover topics\n3. Run `memctl read --topic api-conventions` → get the convention\n4. Apply it without you re-explaining\n\n## Position in the Agent-RT family\n\n| Tool | Layer |\n|---|---|\n| [`skillctl`](https://github.com/agent-rt/skillctl) | Curated capability bundles |\n| [`memctl`](https://github.com/agent-rt/memctl) | Persistent memory (this) |\n| [`acpctl`](https://github.com/agent-rt/acpctl) | ACP agent invocation |\n\nBoth `skillctl` and `memctl` install their own `AGENTS.md` managed block; they coexist without conflict.\n\n## Documentation\n\n- [`REQ.md`](https://github.com/agent-rt/memctl/blob/main/REQ.md) — product spec\n\n## License\n\nApache-2.0\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagent-rt%2Fmemctl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fagent-rt%2Fmemctl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagent-rt%2Fmemctl/lists"}