Personal context management system: wiki-style knowledge base and task management.
  • Rust 89.1%
  • JavaScript 8.8%
  • CSS 1.2%
  • Python 0.5%
  • Shell 0.3%
  • Other 0.1%
Find a file
Erich Blume 2fcc5c0f22
Some checks failed
Build / validate (push) Failing after 5s
Fold second-pass design review into v1 spec
Resolve the open tensions surfaced in the pre-Phase-1 second pass over
design.md and tech-spec.md:

- Context items: Fork A index model — body markdown is the source of
  truth; context items are a locally-derived, non-synced index;
  identity is pinned at promotion. Dissolves the body-CRDT vs.
  extraction convergence problem.
- Recurrence: roll-forward in place; drop task_occurrences and
  is_template; advance to next RRULE instance after now (skip misses).
- Identity: deterministic ids for journal/tag (offline-convergent);
  ULID for content nodes and project.
- Mode/sync: orthogonal hub_url spoke capability; everyday device is
  local + hub_url, not server.
- Auth/owner: nullable oidc_sub, friction-free local user, hub-
  authoritative identity, one-time pre-first-sync adoption rewrite.
- Ranking: do_date is a boolean candidacy filter only; late_on is the
  sole urgency signal (global tier); FIFO tiebreak; order expressed as
  a reorderable named-dimension list.
- Modes are plugin-side compositions; add list() and log.tail().
- Frame v1 as a single deliberate C1; misc cleanups (export, health,
  CI nvim runner, README license).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-31 18:08:47 -07:00
.dagger Set up hephaestus from template and add design + tech spec 2026-05-31 09:37:28 -07:00
.forgejo/workflows Initial commit 2026-05-31 06:13:36 -07:00
.gitea Initial commit 2026-05-31 06:13:36 -07:00
.github Initial commit 2026-05-31 06:13:36 -07:00
docs Fold second-pass design review into v1 spec 2026-05-31 18:08:47 -07:00
mise-tasks Initial commit 2026-05-31 06:13:36 -07:00
.gitignore Initial commit 2026-05-31 06:13:36 -07:00
.yamllint.yaml Initial commit 2026-05-31 06:13:36 -07:00
AGENTS.md Fold second-pass design review into v1 spec 2026-05-31 18:08:47 -07:00
CHANGELOG.md Initial commit 2026-05-31 06:13:36 -07:00
CLAUDE.md Initial commit 2026-05-31 06:13:36 -07:00
dagger.json Initial commit 2026-05-31 06:13:36 -07:00
LICENSE Set up hephaestus from template and add design + tech spec 2026-05-31 09:37:28 -07:00
mise.toml Initial commit 2026-05-31 06:13:36 -07:00
prek.toml Initial commit 2026-05-31 06:13:36 -07:00
README.md Set up hephaestus from template and add design + tech spec 2026-05-31 09:37:28 -07:00
towncrier.toml Initial commit 2026-05-31 06:13:36 -07:00

hephaestus

A personal context management system — a unified, self-hosted application that fuses a wiki-style knowledge base (Zettelkasten) with task management. Built in Rust, offline-capable, and syncs to a central instance hosted in blumeops.

See the project design document for goals, architecture, and the development roadmap.

What's Included

  • DocumentationDiataxis-structured docs built with Quartz
  • ChangelogTowncrier fragment-based changelog
  • CI/CDDagger pipelines + Forgejo build and release workflows
  • Pre-commit hooksprek with linting, formatting, secret detection
  • AI assistanceAGENTS.md + structured docs for Claude Code (C0/C1/C2 change process, Mikado method)
  • Task runnermise tasks for docs validation, Mikado chain management, release preview, and runner inspection

Getting Started

# Install git hooks
prek install && prek install --hook-type commit-msg

# Run all pre-commit checks
prek run --all-files

# List available tasks
mise tasks

# Build docs (requires Dagger)
dagger call build-docs --src=. --version=dev export --path=./docs-dev.tar.gz

Project Structure

./docs/                 # documentation (Diataxis, Quartz)
./docs/changelog.d/     # leave only .gitkeep in the template; generated repos add towncrier fragments here
./.dagger/              # Dagger module backing docs builds and releases
./.forgejo/workflows/   # generic build/release workflows for generated repos
./.forgejo/scripts/     # optional per-project hooks consumed by those workflows
./mise-tasks/           # scripts via `mise run`

License

All rights reserved. This is a personal, private project — not licensed for use, copying, modification, or distribution. Open-sourcing may be considered in the future. See LICENSE.