Store team knowledge, project conventions, and learnings from tasks. Use to remember what works and recall context before new tasks. Connects to a self-hosted Hindsight server. (user)
You have persistent memory via a self-hosted Hindsight server. This memory bank can be shared with the team, so knowledge stored here benefits everyone working on this codebase.
Proactively store team knowledge and recall context to provide better assistance.
Before using memory commands, verify the Hindsight CLI is configured:
cat ~/.hindsight/config
If the file doesn't exist or is missing credentials, help the user set it up:
Install the CLI (if hindsight command not found):
curl -fsSL https://hindsight.vectorize.io/get-cli | bash
Create the config file - ask the user for:
https://hindsight.mycompany.com)mkdir -p ~/.hindsight
cat > ~/.hindsight/config << 'EOF'
api_url = "<user's server URL>"
api_key = "<user's API key>"
EOF
chmod 600 ~/.hindsight/config
Get the bank ID - ask the user for their bank ID (e.g., team-myproject)
After setup, use the bank ID in all commands below.
When you call retain, Hindsight does not store the string as-is. The server runs an internal pipeline that:
This means you should pass rich, full-context content — the server is better at extracting what matters than a pre-summarized string. Your job is to decide when to store, not what to extract.
Replace <bank-id> with the user's actual bank ID (e.g., team-frontend).
Use memory retain to store what you learn. Pass full context — raw observations, session notes, or detailed descriptions:
hindsight memory retain <bank-id> "The project uses ESLint configured with the Airbnb rule set and Prettier for formatting. Auto-fix on save is enabled in the editor config."
hindsight memory retain <bank-id> "Ran the test suite with NODE_ENV=test. Tests pass. Without NODE_ENV=test, the suite fails with a missing config error." --context procedures
hindsight memory retain <bank-id> "Build failed on Node 18 with error 'ERR_UNSUPPORTED_ESM_URL_SCHEME'. Switched to Node 20 and build succeeded." --context learnings
hindsight memory retain <bank-id> "Alice reviewed the PR and asked for verbose commit messages that explain the motivation, not just what changed." --context preferences
You can also pass a raw conversation transcript with timestamps:
hindsight memory retain <bank-id> "[2026-03-16T10:12:03] User: The auth tests keep failing on CI but pass locally. Any idea?
[2026-03-16T10:12:45] Assistant: Let me check the CI logs. Looks like the tests are running without the TEST_DATABASE_URL env var set — they fall back to the production DB URL and hit a connection timeout.
[2026-03-16T10:13:20] User: Ah right, I never added that to the CI secrets. Adding it now.
[2026-03-16T10:15:02] User: That fixed it. All green now." --context learnings
Use memory recall BEFORE starting tasks to get relevant context:
hindsight memory recall <bank-id> "project conventions and coding standards"
hindsight memory recall <bank-id> "Alice preferences for this project"
hindsight memory recall <bank-id> "what issues have we encountered before"
hindsight memory recall <bank-id> "how does the auth module work"
Use memory reflect to synthesize context:
hindsight memory reflect <bank-id> "How should I approach this task based on past experience?"
This is a shared team bank. Store knowledge that benefits the team. For individual preferences, include the person's name.
Always recall before:
--context for metadata: The --context flag labels the type of memory (e.g., procedures, learnings, preferences), not a replacement for full content