Vault (alpha)
A markdown-backed knowledge store wired into your code, tasks, snapshots, and receipts.
KROWFORGE_ALPHA flag. Hidden by default in stable builds.What it is
A note system that lives next to your code. Notes are markdown files in .krowforge/vault/. Each note can link to:
- Other notes (
[[Note Name]]) - Files (
file:src/auth.py) - Tasks (
task:run_2026_04_25_…) - Snapshots (
snapshot:snap_…) - Patches (
patch:rcpt_…) - Symbols (
symbol:validate_user)
Backlinks are auto-computed.
Note types
Tabbed filter at the top:
| Type | Use |
|---|---|
| Spec | Long-form spec for a feature or module. |
| Decision | An ADR (Architecture Decision Record). What/why/alternatives/decision. |
| Receipt | A summary of what was done in a run, written for humans. |
| Scratch | Working notes, not promoted yet. |
Layout
Three panes:
- Left — list of all notes, filtered by type/tag/status.
- Center — the active note's editor (textarea) or rendered preview.
- Right — Links panel (outgoing + backlinks) + Cheatsheet (link syntax reference).
Status
Each note has an optional status:
- Active — current truth.
- Draft — work in progress.
- Replaced — superseded by another note (link to it in the body).
Helps with note lifecycle in long-lived projects.
Tags
Optional comma-separated tags. Filterable via the left pane.
Why
The Vault is for the persistent context that doesn't fit in code comments and shouldn't live in a separate wiki. The agent can read vault notes too — @vault:NoteName mentions are on the roadmap.
Storage
.krowforge/vault/<slug>.md per note. Standard markdown, git-friendly. The structured metadata (type, status, tags) lives in the YAML frontmatter:
---
type: decision
status: active
tags: auth, security
---
# Use bcrypt for password hashing
…
Quick-create
The "New note" / "New decision" buttons in the left pane create scaffolded notes with the right frontmatter for each type.