Rule files don't travel
CLAUDE.md and Cursor rules are per-tool, per-repo, and injected
into every session. Ten people's conventions become fifty standing
instructions no agent can use well.
Your team's hardest-won asset is its institutional memory — the decisions, the conventions, the “why we don't do it that way” — and it lives in a few people's heads, leaking out one Slack reply at a time. PriorStates is the layer where that knowledge accumulates once and is recalled by everyone: across teammates via sync, and across every AI tool via one shared store. Onboard a new person — or a new agent — with a pack, not a week of asking around.
A local store fixes one person's recall. The valuable, hard version — shared recall across people and tools — has no good home today.
CLAUDE.md and Cursor rules are per-tool, per-repo, and injected
into every session. Ten people's conventions become fifty standing
instructions no agent can use well.
A wiki page is written once, never searched mid-task by an agent, and drifts out of date. The knowledge that matters is oral and bursty — and it evaporates.
The individual loop — recall, record — but the record is shared, so one person's lesson becomes everyone's starting point.
A teammate makes a decision, hits a gotcha, or rules out an approach — the dense, hard-won knowledge that usually stays in their head.
One journal_add / memory_add in whatever tool they're
using. No separate wiki to update, no context-switch.
priorstates sync converges the shared store across everyone's
machines — the same store the team's ChatGPT connector reads.
The next teammate — in Claude Code, Cursor, Copilot, anywhere — recalls it the moment it's relevant. Decided once, known by all.
Export the team's decisions as a checksummed .pspack. A new hire
imports it and their first session is already warm.
Day one, before anyone explains anything. Same question, before and after the onboarding pack.
Before — a blank slate. The new engineer's agent knows nothing about how your team works:
$ memory_search "auth, deploys, conventions"
(no results — fresh machine, empty store)So it guesses — confidently, and often wrong — and the new hire spends a week asking around to fill the gaps.
After — one pack import.
priorstates import onboarding.pspack, and the same search returns the
team's hard-won rules:
$ memory_search "auth, deploys, conventions"
decision Auth is validated in the gateway, never in services
decision Ship to staging before main — always
gotcha Billing service clock is UTC; everything else is local
loser Evaluated a monorepo in Q1 — rejected, here's whyHours of “why is it like this?” collapse into a recall — and as the new hire learns more, they record it back and the next hire starts further ahead.
Each a plain Markdown file with provenance — who recorded it, when, and the evidence — semantically searchable by everyone.
A standing choice the team made. “Staging before main — always.” Stops every new session from re-litigating it.
A trap that bit someone once. “Billing's clock is UTC.” The new hire avoids it without first falling in.
An approach already evaluated and rejected. “The monorepo, Q1.” So it isn't re-proposed every six months.
Where the truth lives. “On-call runbook, escalation path.” Pointers the whole team recalls on demand.
A ten-team bucket recalls worse as it grows. The primitives keep each team's knowledge dense and let it cross boundaries on purpose.
Scope memory by team or subsystem so recall stays dense — research notes don't dilute an ops query. One workspace per area.
Export a scope as a checksummed, provenance-stamped .pspack.
Crossing a boundary is an explicit export → review → import, not a bleed.
The shared store converges across machines. Imports don't auto-pin, so one team's “always” never silently becomes everyone's standing instruction.
Once installed, your team's agents do it on their own.
priorstates init gives a repo or area its own
memory and journal and
wires the recall / record protocol into Claude Code,
Codex, Gemini, Copilot and Cursor. priorstates sync shares it across the
team; priorstates export turns a scope into an onboarding pack. Secrets
never go in memory — those belong in a vault.
Free, open source, and yours to run.