NOVA.md and project rules
Use this lesson to build a practical, evidence-based Nova workflow for this topic.Purpose
NOVA.md gives Nova durable instructions about how to work in a project. It is the right place for conventions that should apply across sessions: required verification commands, architecture boundaries, language standards, generated-file policies, security constraints, and release rules.
It should describe how the repository is meant to be worked on, not duplicate information Nova can discover cheaply from package manifests or repository inspection.
Instruction discovery order
Kore-CLI loads project instructions in this order, highest priority first:<projectRoot>/NOVA.local.md<projectRoot>/.compass/rules/*.md, sorted alphabetically<projectRoot>/NOVA.md<projectRoot>/.compass/NOVA.md~/.compass/NOVA.md
Choosing a location
Use each location deliberately:NOVA.md— team-shared repository instructions, normally committed to version control.NOVA.local.md— developer-specific project instructions, normally excluded from version control..compass/rules/*.md— modular project rules split by concern, such as testing, frontend, database, or security..compass/NOVA.md— project instructions kept with other Compass configuration.~/.compass/NOVA.md— personal defaults that apply across projects.
What belongs in project instructions
Useful examples include:- The supported operating systems and shell syntax.
- The package manager and commands for install, lint, type checking, tests, and builds.
- Which generated files must never be edited manually.
- Architectural boundaries and dependency direction.
- Error-handling, validation, accessibility, and security requirements.
- Commit or branch conventions specific to the team.
- Deployment targets and approval requirements, without credentials.
- Instructions for protecting uncommitted user work.
What does not belong
Avoid:- API keys, passwords, tokens, private certificates, or connection strings.
- Long implementation explanations that will drift out of date.
- Temporary task status or one-off debugging notes.
- Raw logs and command output.
- Rules that conflict with organisation policy.
- Vague preferences such as “write clean code”.
- A catalogue of every file in the repository.
Write concise, testable instructions
A good instruction states the condition and required action:Modular rules
Use.compass/rules when one root file becomes difficult to scan:
Local overrides
NOVA.local.md has the highest project-file priority and is suitable for local paths, machine-specific commands, or personal workflow details. Keep it out of Git if it contains environment-specific information. It still must not contain secrets.
Maintaining the file
Review instructions when tooling, architecture, or team policy changes. Remove rules that are obsolete or already enforced automatically. A short, accurateNOVA.md is more effective than a large historical document with conflicting guidance.
After editing instructions, start a fresh session or ensure Nova reloads the changed context before relying on the new rule.