@dotdotgod/pi
v0.1.19
Published
Pi adapter for dotdotgod: project-initializer skill, shared docs scaffold, plan/archive workflow, and project loading extensions.
Maintainers
Readme
@dotdotgod/pi
Change a file, know what else must be checked.
$ dotdotgod graph impact . --changed packages/cli/src/core.mjs --compactdocs:
- docs/spec/REFERENCE_EXPANSION.md (91; incoming:implemented_by, semantic_similarity)
- docs/test/REFERENCE_EXPANSION.md (65.3; verified_by, semantic_similarity)
- docs/spec/LOAD_PROJECT.md (35.8; related_doc, semantic_similarity)
tests:
- packages/cli/test/core.test.mjs (78.6; semantic_similarity, incoming:semantic_similarity, verified_by)
- packages/cli/test/e2e.test.mjs (51.4; verified_by)
files:
- packages/cli/src/core.mjs (100; changed-file)
- packages/pi/extensions/plan-mode/index.ts (45; implemented_by, semantic_similarity)graph impact ranks the specs, tests, architecture notes, config docs, and source files most likely to matter for a change. --compact keeps the result agent-facing: grouped by docs/tests/files and annotated with the reasons each item is likely relevant. It uses the project-memory graph built from Markdown links, README routes, headings, traceability blocks, package metadata, memory areas, and deterministic routing hints.
Pi adapter for dotdotgod's context curation workflow. It gives Pi the most complete dotdotgod loop: initialize a project-memory scaffold, load bounded context, plan before source edits, execute explicit steps, verify, and archive completed work.
Use this package when you want Pi to make repository work start from stable specs, tests, architecture, active plans, archive maps, and graph/cache metadata instead of raw chat history.
Start Here: Run the Project Initializer Skill
After installing the package, open Pi in your repository and ask it to initialize or normalize the project memory scaffold. The bundled skill is named project-initializer; it uses dotdotgod init when the CLI is available, but it also includes a shell fallback.
pi install npm:@dotdotgod/piUse natural language in Pi:
Initialize this project with dotdotgod.
Set up AGENTS.md, CLAUDE.md, CODEX.md, and docs folders.
Create a doc-first project baseline for this repository.A good first-run flow is:
- Install the package.
- Start Pi in the target repository.
- Ask:
Initialize this project with dotdotgod. - Review the files the skill plans to create or skip.
- Let the skill create the scaffold.
- Run
/dd:loadto load bounded project memory. - Use
/planbefore implementation work.
What You Get
- Project initializer skill: create
AGENTS.md, thinCLAUDE.md/CODEX.md, docs indexes, active-plan space, archive map, and local memory/cache ignores. - Task-directed loading:
/dd:loadstarts fromdotdotgod load-snapshotwhen available, then reads only relevant docs. - Safe planning:
/plankeeps source/config changes blocked while the agent writes or updates durable task intent underdocs/plan/. - Impact-aware context shaping: Plan Mode can use
dotdotgod expand --with-impactfor explicit[[...]]refs andexpand --fuzzy --with-impactfor high-signal natural references. - Execution continuity: completed plan steps are reported with explicit
[DONE:n]markers so progress survives long sessions and compaction. - Reusable history: completed work moves to
docs/archive/plan/, whiledocs/archive/README.mdremains the lightweight history map. - Cross-agent conventions: the same
AGENTS.md, docs, plan, and archive structure works with dotdotgod's CLI, Claude Code, and Codex packages.
The Memory Shape Initialized by the Skill
AGENTS.md # canonical working rules for agents
CLAUDE.md # thin Claude Code pointer to AGENTS.md
CODEX.md # thin Codex pointer to AGENTS.md
docs/
README.md # project documentation map
spec/README.md # behavior, requirements, product truth
arch/README.md # architecture, conventions, boundaries
test/README.md # verification strategy and smoke tests
plan/README.md # active local plans, ignored by git
archive/README.md # completed-work history map, ignored by gitBy default, docs/spec/** has two roles: it is stable shared/fresh project memory, and it is the traceability-enforced behavior-spec path. Those knobs are separate: projects can customize memory classification with memory.areas and traceability enforcement with traceability.required / traceability.exclude.
Graph and Bounded Loading
The Pi adapter relies on the CLI graph when available but does not ask agents to read a giant graph report. load-snapshot returns bounded cache status, graph size, memory areas, communities, and archive policy. graph impact and reference expansion can surface related specs, tests, source, and config for a change before broad scanning.
The graph uses more than traceability blocks: Markdown links, README routes, headings, package metadata, memory-area membership, commands, tests, and deterministic routing hints all contribute. Archive bodies are excluded by default; docs/archive/README.md is the map.
Commands
/plan Toggle safe planning mode.
/todos Show tracked plan progress during execution.
/load Load project memory for the current repository.
/dd:load Stable namespaced alias for project memory loading.Included
project-initializerskill: the starting point forAGENTS.md, thin agent entrypoints, docs folders, README indexes, and local memory/cache ignores.plan-modeextension: read-first planning mode with restricted tools, optional--plan-extra-tools, docs/plan writes, execution tracking, tiered hidden prompts, and/todos.load-projectextension: read-only project context loading through/loadand/dd:load.
Local Development
pi install /Users/dotdot/Workspace/dotdotgod/packages/pi
pnpm --filter @dotdotgod/pi run verify
pnpm --filter @dotdotgod/pi run pack:dry-runLearn More
See the root README, GitHub repository, docs/concept/CONTEXT_CURATION.md, docs/concept/CONTEXT_MECHANICS.md, docs/spec/MEMORY_AREA_CONFIG.md, and docs/spec/TRACEABILITY_CONFIG.md.
Compared with Graphify-Style Memory
The Pi adapter focuses on workflow: initialize the project memory scaffold, load a bounded snapshot, plan before source edits, and archive completed work for future sessions. Graph/cache output is a compact map; detail still comes from targeted file reads.
