Seven small TypeScript libraries that give an AI agent a place to keep its state: what it believes, what it has to do, who it knows, who it is, what it has learned, and the two channels it talks through. Each one stores plain records in a SQLite file you can open, inspect and delete.
They are built for agents that run on their own for days. When an agent saves a wrong fact, marks a task done without doing it, or rewrites its own prompt, the record shows it and the change can be undone.
| Library | Keeps | What it does |
|---|---|---|
| codex site · npm |
Memory | Beliefs with a source, a certainty and a revision history. Stale or weakly evidenced beliefs are flagged.npm i @ghostpaw/codex |
| questlog site · npm |
Tasks | Quests, deadlines, scheduled windows and RRULE repeats. A quest finishes only with a written outcome.npm i @ghostpaw/questlog |
| affinity site · npm |
Contacts | People, identities, promises and yearly dates, with a radar for relationships that are drifting.npm i @ghostpaw/affinity |
| souls site · npm |
Identity | A prompt kept as an essence plus evidence-backed traits. Refinement waits until evidence agrees; every change rolls back.npm i @ghostpaw/souls |
| grimoire site · npm |
Skills | SKILL.md folders whose improvements are sealed as git commits, with evidence notes, a health check and rollback.npm i @ghostpaw/grimoire |
| email site · npm |
IMAP sync and SMTP send in-process, with a SQLite cache, threads and FTS5 search. Reading and sending are separate tools.npm i @ghostpaw/email |
|
| telegram site · npm |
Telegram | Every bot update mirrored into SQLite before your handler runs, with edit history, files and search. Agent tools return plans by default.npm i @ghostpaw/telegram |
- No shared core. The packages never import each other. Your agent's code carries data from one to the next, and each library keeps its own tables. Install one and ignore the rest.
- Same runtime. Node.js 24 or newer and its built-in
node:sqlite. Zero runtime dependencies, MIT licence. - Four ways in. A library import, a stdio MCP server, a
ghostpaw-<name>command line tool, and an Agent Skill. All four are generated from the same tool definitions. - State you can find. The MCP servers default to
~/.ghostpaw/<name>.db. grimoire also keeps its SKILL.md files in a git folder.
npm install @ghostpaw/codex # use it as a library
npx -y @ghostpaw/codex mcp # or run it as an MCP serverEvery server is listed in the MCP Registry under io.github.GhostPawJS/<name>.
ghostpaw.dev · llms.txt · npm @ghostpaw · Contributing · Security · Support
