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 1995e0e3cf
Some checks failed
Build / validate (pull_request) Failing after 3s
heph-core: markdown extraction (wiki-links + checkboxes)
Slice 2 (tech-spec §5). Pure, deterministic derivation from a body:

- `[[wiki-links]]` → wiki-link targets, in first-seen order, deduped,
  honoring `[[target|display]]`. Scans the raw body (CommonMark mangles
  `[[ ]]` brackets in inline parsing) and excludes matches inside code,
  whose byte ranges come from pulldown-cmark's offset iterator.
- GFM `- [ ]` / `- [x]` task items → the local context-item index
  (Fork A): label keeps raw markdown (for promotion) + checked state.
- Code blocks are correctly skipped for both.

10 extraction unit tests incl. idempotency; 14 total green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-31 18:56:59 -07:00
.dagger Set up hephaestus from template and add design + tech spec 2026-05-31 09:37:28 -07:00
.forgejo Scaffold cargo workspace + heph-core foundation 2026-05-31 18:52:15 -07:00
.gitea Initial commit 2026-05-31 06:13:36 -07:00
.github Initial commit 2026-05-31 06:13:36 -07:00
crates/heph-core heph-core: markdown extraction (wiki-links + checkboxes) 2026-05-31 18:56:59 -07:00
docs heph-core: markdown extraction (wiki-links + checkboxes) 2026-05-31 18:56:59 -07:00
mise-tasks Initial commit 2026-05-31 06:13:36 -07:00
.gitignore Scaffold cargo workspace + heph-core foundation 2026-05-31 18:52:15 -07:00
.yamllint.yaml Initial commit 2026-05-31 06:13:36 -07:00
AGENTS.md Scaffold cargo workspace + heph-core foundation 2026-05-31 18:52:15 -07:00
Cargo.lock heph-core: markdown extraction (wiki-links + checkboxes) 2026-05-31 18:56:59 -07:00
Cargo.toml heph-core: markdown extraction (wiki-links + checkboxes) 2026-05-31 18:56:59 -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.