v0.14.0 · local-first · no account
Picking up where your AI agents left off
Agents write the resume. You typemental.01$ npm i -g @balacode/mental
02$ mental install
03$ mental doctor
mental is a different project.Sample session. Not your files.
mental dashboard is the localhost page.Works in the agents you already use
Claude CodeCursorGitHub CopilotCodexOpenCodeVS CodeKiro
01The tax
Feeling faster is not the same as picking up
Every new chat, every Monday, every second clone pays to rebuild where you were. The research measured it.02The loop
It already knows
No pre-configuration. No commands to learn. After install, your agents use it on the next chat.01
Install copies the skill. Nothing else to configure. The next chat already knows.02
You stay in the task. The agent writes the resume, the decision, and what is still in the air.03
You do not learn a command list. Type mental when you want the pulse.~/.agents/skills/mentalCursor · Claude Code · Codex · Copilot · OpenCodeHooks, MCP, and time tracking stay off.
03The pulse
You type mental
One screen, then it exits. Not a dashboard you keep open, not a dump of the chat.ResumeThe exact next action, written by the last agent.
GitBranch, dirty state, and the last commit, read live.
Needs eyesWork an agent finished that nobody has reviewed.
In the airDirections and concerns that live nowhere else.
SettledDecisions in force, so nobody argues them again.
$ mental Ship the pointer, not the dump. Open loops: noneAgainst PLAN.md
NowResolver landed (17:27)
Gitcursor/marketing-website-aac0 (dirty)
212b5b1 Release 0.14.0Hops0
Needs eyes[verify] Resolver tests not reviewed
In the air[direction] Tom said ship the pointer
Later[thread] Come back to MCP
Unsettled[open] OKF markdown is the source of truth
SettledHeartbeat only, no standing TUI
more · mental doctor · mental search · mental --help$ 04The residue
When the chat is gone
Same sample session. Two things git does not keep.AttentionWhat is still in the air.
DecisionsWhy it stayed that way.
05In the host
Inside Claude Code
It reads the session. It does not write.Above the prompt
Resume, pulse, and open counts in two rows. It steps aside for a survey.Desktop Code tab
A panel for this session. Local sessions only, not cloud or WSL./mental
Now, residue, decisions, session, and time. Park and Hand off ask the agent.06The ledger
What leaves this machine
Journals stay here. Everything else is off until you turn it on.Journals, decisions, residueMarkdown in
Stays here~/.mental/. No account. Uninstall keeps the files unless you type DELETE.Version checkThe package name, sent to npm.
OptionalMENTAL_SKIP_UPDATE_CHECK=1 turns it off.Decision modelRedacted text, only after you store a key in
Opt-in~/.mental/config.json.07FAQ
Short answers
No. After install, agents write it on your behalf. You type mental when you want the pulse.
No. Mental CLI is project continuity, not conversation memory. Markdown files are the source of truth. There are no embeddings as source of truth, and there is no cloud store.
No. Git still records what changed. --against PLAN.md points at the plan. Mental holds the small amount those systems cannot see: resume, decisions, and residue.
No. Agents journal at task boundaries, real decisions, and residue in the air. Session hooks stay off until you run mental hooks on.
park encodes an interruption mid-hop. handoff is a planned close (journal plus heartbeat). pulse is a compact cross-project overview. The cheap mid-chat reload is still mental / heartbeat --json.
Run npm i -g @balacode/mental, then mental install, then mental doctor. Journals stay. From a git checkout: npm run mental -- install.
Agents continue the coding task and mention the install block. They never execute a .mjs file directly. Fail open.
Default store is ~/.mental (never commit). Project ./.mental only after mental local. Uninstall does not delete OKF files unless you type DELETE.
Only if you turn it on with mental option track on. Default off. Hours never go in git.
Three commands. Then your agents remember.