v1 reached Todoist feature-parity, so remaining/future work is now tracked in heph itself — tasks in the Hephaestus project (heph view ondeck) — not in a doc. Renamed docs/reference/tech-spec.md -> v1-prototype-tech-spec.md and rewrote all 27 [[tech-spec]] wiki-links + README/changelog path refs (docs checks green). Retitled + bannered the spec as a historical v1 build record and froze its §14 tracker. AGENTS.md gains a "Planning future work" section (capture via `heph task --project Hephaestus`, triage in heph-tui On Deck); README status reflects parity + the three daily-driver surfaces. The design doc remains the living rationale. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
5.4 KiB
AGENTS.md
Guidance for Claude Code working in this repository. See also ai-assistance-guide.
Overview
hephaestus — Personal context management system: wiki-style knowledge base and task management.
This is a generated repo, not the template source. C1/C2 changes use feature branches + PRs (
tea pr create); noteworthy changes get changelog fragments indocs/changelog.d/.
Rules
- Always run
mise run ai-docsat session start This will refresh your context with important information you will be assumed to know and follow. Read the full output — never truncate, pipe tohead/tail, or skip sections. - Classify the change as C0/C1/C2 before starting (see below) — this determines branching and PR requirements
- Generated repos use feature branches + PRs for C1/C2 — checkout main, pull, create branch, open PR via
tea pr create. This template source repo usually stays C0/direct-to-main so it remains clean and templatable. - Use changelog fragments in generated repos, not as template residue —
docs/changelog.d/<name>.<type>.mdTypes:feature,bugfix,infra,doc,ai,misc- Generated repos: add fragments for noteworthy changes
- This template repo: keep
docs/changelog.d/empty except for.gitkeep
- Never commit secrets
Change Classification
Before starting work, classify the change:
| Class | Name | When to use | Key trait |
|---|---|---|---|
| C0 | Quick Fix | Small, low-risk, fix-forward safe | Direct to main, no PR |
| C1 | Human Review | Moderate complexity or risk | Feature branch + PR, docs-first |
| C2 | Mikado Chain | Multi-phase, multi-session, high complexity | Mikado Branch Invariant |
C0 — commit directly to main. No branch or PR needed. Fix forward if problems arise.
C1 — in generated repos, use a feature branch with an early PR. In this template source repo, prefer direct cleanups unless the user explicitly wants branch-based review. Search related docs first, write documentation changes before code. Upgrade to C2 if complexity spirals.
C2 — branch mikado/<chain-stem> governed by the Mikado Branch Invariant: all card commits first, then code progress, then card closures. Commits use C2(<chain>): plan/impl/close/finalize convention. Reset the branch when new prerequisites are discovered. Resume with mise run docs-mikado --resume.
See agent-change-process for the full methodology.
Project Structure
A Cargo workspace (Cargo.toml at the root) plus the Neovim plugin and repo tooling. v1 reached Todoist feature-parity on 2026-06-03 — the Rust backend is feature-complete (all three runtime modes + sync + OIDC auth) and all three surfaces (heph CLI, heph-tui, heph.nvim) are installed daily-drivers. Remaining/future work is now tracked in heph itself (see Planning below), not in a doc; the v1-prototype-tech-spec is the historical build record.
./Cargo.toml # workspace manifest (shared deps + members)
./crates/heph-core/ # core lib: data model, Store trait + SQLite store, extraction,
# recurrence, "what is next?" ranking, op-log/HLC/CRDT (yrs) sync
./crates/hephd/ # daemon: local/server/client modes — unix-socket RPC + HTTP sync/rpc + OIDC auth
./crates/heph/ # CLI (thin client of hephd): next/task/doc/get/export/search/journal/auth
./heph.nvim/ # Neovim plugin: primary surface; replaces obsidian.nvim (Lua + headless e2e)
./docs/ # Diataxis docs (incl. [[design]] + [[v1-prototype-tech-spec]]), Quartz config, release content
./docs/changelog.d/ # towncrier fragments for noteworthy changes
./.dagger/ # Dagger module (src/hephaestus_ci/) backing docs builds and releases
./.forgejo/workflows/ # build + release workflows
./.forgejo/scripts/ # per-project build/release hooks (build runs cargo test once present)
./mise-tasks/ # repo automation via `mise run`
Development is TDD (v1-prototype-tech-spec §2, §9): failing test first, implement to green, commit on green. heph-core is clock-injected — no ambient wall-clock reads; time is always passed in. The historical v1 build spec is v1-prototype-tech-spec; the living rationale/decisions are design.
Other doc paths are listed via mise run ai-docs. Wiki-links ([[like-this]]) refer to docs/ cards.
Planning future work (heph self-hosts its roadmap)
Since v1 parity, heph tracks its own remaining/future work as tasks in the Hephaestus project inside the live store (the "bootstrap lift" — heph plans heph). This replaces the old v1-prototype-tech-spec §14 tracker, which is now a historical build record.
- See the roadmap:
heph view ondeck(CLI) orheph-tui→ the On Deck sidebar view (the backlog lives as blue/on-deck tasks); open the Hephaestus project in the sidebar to see all of it. - Capture new work:
heph task "<title>" --project Hephaestus -a blue(blue = on-deck backlog, kept out ofnext/ToM until pulled up). Add detail in the task's canonical-context doc viaheph.nvim. - Don't reopen the §14 tracker for new work — add a task instead. Update the spec only to correct historical record.
- Note the design doc remains the living design/decision log; the tech-spec is frozen as the v1 build description.