Knowledge vault (Orion/PARA) migrated from the pre-Orion 484vault on 2026-10-01. Deliberately orphaned: prior history contained a plaintext password and stays local-only on branch archive/pre-boilerplate-history. Secrets and live Hermes state are gitignored.
3.9 KiB
Hermes Agent supports project-specific instruction files, so the best way is to put the behavior in your project’s .hermes.md or HERMES.md file. Hermes also supports AGENTS.md, CLAUDE.md, and .cursorrules, but .hermes.md/HERMES.md takes priority when multiple context files exist. nousresearch.com1
Create a file named .hermes.md in the project’s root directory and add this:
markdown
# Project Continuity and Memory Protocol
You are working on a long-running project. Maintain continuity across long contexts and future sessions.
## Before starting work
1. Inspect the project files and git status.2. Read `PROJECT_STATE.md` if it exists.3. Treat `PROJECT_STATE.md` as the current project source of truth.4. Do not redo completed work unless it is broken or I explicitly request it.
## During work
- Keep track of the project objective and acceptance criteria.- Record important decisions and the reasons behind them.- Track files created, modified, or deleted.- Record commands run, tests performed, and their results.- Record failed approaches and why they failed.- Distinguish confirmed facts from assumptions.- If the task changes direction, update the project state.
## Context management
When the conversation becomes long, before context compaction, or after a major milestone:
1. Update `PROJECT_STATE.md`.2. Make the update concise but sufficiently detailed for another agent to continue.3. Preserve exact file paths, names, commands, configuration values, and unresolved issues.4. Never claim that work is complete unless it has been verified.
## Required PROJECT_STATE.md format
```markdown# Project State
## ObjectiveWhat the project is trying to accomplish.
## Requirements and constraintsImportant requirements, limitations, and acceptance criteria.
## Current statusWhat is complete, in progress, blocked, or unverified.
## DecisionsDecisions made and the reason for each.
## Files and artifactsFiles created or changed, with a brief description.
## Commands and verificationCommands run, tests performed, and their results.
## Failed approachesApproaches attempted that did not work and why.
## Open questionsIssues that still need to be resolved.
## Next actionsThe exact next steps, in priority order.
## Continuation instructionsA concise explanation of how a future agent should resume this project.
At the end of every substantial task
Update PROJECT_STATE.md before replying. Then report:
- What changed
- What was verified
- What remains
- The next recommended action
You can create it with:
```bashcat > .hermes.md <<'EOF'# Project Continuity and Memory Protocol
[ paste the instructions above here ]EOF
You should also create an initial state file:
bash
touch PROJECT_STATE.md
Then tell Hermes:
text
Set up the project continuity system now. Inspect the repository, create or update PROJECT_STATE.md using the required format, and from this point forward update it after every substantial task and before context compaction.
Hermes has built-in persistent memory, but that memory is intentionally bounded and is better for durable facts about your environment, preferences, and project conventions—not for storing the complete evolving state of one project. Project progress belongs in a file such as PROJECT_STATE.md; Hermes can read it again in later sessions. nousresearch.com
One important limitation: a prompt cannot guarantee that the agent notices context exhaustion before it happens. The file-based approach is more reliable because the state is stored in the workspace rather than only in the conversation. Hermes also has automatic working-directory checkpoints for file changes, but those are rollback snapshots, not a replacement for a human-readable project log. nousresearch.com