1
0
Fork 0
Code Issues Pull requests Projects Releases 2 Packages Wiki Activity Actions Pages
Successor repository for the DocForge project-scoped documentation graph.
Find a file
2026-07-25 20:00:21 -04:00
docs Document Release 1 adapter compatibility 2026-07-25 19:21:23 -04:00
schemas feat: add deterministic preview rendering 2026-07-22 03:32:05 -04:00
src/docforge Avoid rewriting warm extraction cache 2026-07-25 20:00:21 -04:00
tests Avoid rewriting warm extraction cache 2026-07-25 20:00:21 -04:00
tools Refactor and harden graph browser assets 2026-07-25 16:46:00 -04:00
.gitignore Add browser asset quality gate 2026-07-24 22:36:44 -04:00
.htmlvalidate.json Add browser asset quality gate 2026-07-24 22:36:44 -04:00
ACTIVE_SLICE.md Upgrade generic graph navigation 2026-07-24 21:43:11 -04:00
AGENTS.md Add browser asset quality gate 2026-07-24 22:36:44 -04:00
eslint.config.mjs Refactor and harden graph browser assets 2026-07-25 16:46:00 -04:00
package-lock.json Make DocForge quality gates reproducible 2026-07-25 16:23:23 -04:00
package.json Make DocForge quality gates reproducible 2026-07-25 16:23:23 -04:00
pyproject.toml Add incremental adapter compiler boundary 2026-07-25 19:08:39 -04:00
README.md Document Release 1 adapter compatibility 2026-07-25 19:21:23 -04:00
SLICE_HISTORY.md Add incremental adapter compiler boundary 2026-07-25 19:08:39 -04:00
stylelint.config.mjs Add browser asset quality gate 2026-07-24 22:36:44 -04:00
toreview.md Add incremental adapter compiler boundary 2026-07-25 19:08:39 -04:00
uv.lock Add incremental adapter compiler boundary 2026-07-25 19:08:39 -04:00

DocForge

DocForge is a project-scoped documentation graph for people and AI agents. It validates canonical documentation, builds a disposable search and relationship index, compiles bounded context, renders declared manuals, visualizes project structure, and manages reviewable documentation changesets.

What it does

  • Validates stable Markdown/TOML nodes and typed relationships.
  • Builds a deterministic SQLite search and graph index.
  • Exposes project-bound CLI and MCP query surfaces.
  • Creates, validates, diffs, and previews isolated changesets.
  • Applies one explicitly approved changeset hash through CLI or gated MCP.
  • Supports opt-in incremental adapters with reverse-dependency invalidation and full-build equivalence checks.
  • Keeps function-scoped control-flow projections separate from the primary architecture graph.
  • Runs a managed loopback graph browser with neighborhood, semantic Flow, convergence Web, source inspection, and branch-aware node hiding.
  • Supports generic documentation projects and project-owned source adapters.

DocForge never treats indexed text as instructions. It does not run shell commands, mutate Git, build applications, deploy, publish, or select projects globally.

Release 1

DocForge 1.0.0 is the first stable product release. It combines the project-scoped graph, CLI and MCP query surfaces, reviewable hash-approved changesets, generic and project-owned adapters, declared rendering, and the complete Nodes/Flow/Web visualization model in one supported release.

The post-1.0 incremental compiler is a backward-compatible, optional enhancement. Existing Release 1 adapters that implement only load_projection() continue to use the original complete-projection path without modification. Adapters gain incremental performance only when they additionally implement the source manifest and extraction methods. Incremental adapters must retain load_projection() as their clean-rebuild fallback and equivalence oracle.

Graph views

The browser presents the same indexed graph through three complementary views:

  • Nodes shows a bounded, relation-neutral neighborhood around the focus. It is the broad inspection view for seeing stored incoming and outgoing relationships without changing their direction. Semantic cards distinguish structure, behavior, dependencies, execution, data, evidence, context, and other relationships.
  • Flow shows semantic origin-to-destination paths that terminate at the focus. DocForge reverses prerequisite-style relationships for presentation, so imports, dependencies, reads, inheritance, definitions, and tests flow toward the thing they help create or exercise.
  • Web shows the larger convergence picture: Flow contributors plus contextual relationships, callers, containers, and direct members or execution dependencies owned by the focus.

Graph cards show the node's readable leaf name and kind without clipping either value. The full qualified identity remains available in the tooltip, compact descriptor, and full inspector.

Hide node removes noise without changing the index. In Flow and Web, hiding a contributor also removes upstream ancestors that no longer have a path to the focus. Nodes between the hidden contributor and the focus stay visible, and alternate ancestor paths remain intact. Restore hidden restores the presentation.

Five-minute start

Requirements are Python 3.12+, uv, and Node.js/npm.

git clone forgejo@repo.andraxion.net:administrator/DocForge.git /absolute/path/DocForge
cd /absolute/path/DocForge
uv sync --group dev
npm ci

PROJECT=/absolute/path/MyProject
.venv/bin/docforge --project-root "$PROJECT" validate
.venv/bin/docforge --project-root "$PROJECT" reindex
.venv/bin/docforge --project-root "$PROJECT" visualize

Install the persistent per-user graph viewer once:

.venv/bin/docforge-viewer-manager install-user-service

Start an MCP server for one project:

.venv/bin/docforge-mcp \
  --project-root "$PROJECT" \
  --proposal-writer project-editor

Add --canonical-applier project-editor only when that MCP integration should expose the hash-bound docforge_apply_changeset tool.

Documentation

Development

npx pyright
npm run lint:web
uv run ruff check src tests tools
uv run ruff format --check src tests tools
uv run python -m compileall -q src tests tools
uv run pytest -q

See AGENTS.md before changing core boundaries.