@dotdotgod/claude-code 0.2.5 → 0.2.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/commands/dd/init.md +10 -53
- package/commands/dd/load.md +9 -51
- package/commands/dd/plan.md +9 -60
- package/hooks/README.md +3 -3
- package/package.json +1 -1
- package/skills/doc-first-planning/SKILL.md +9 -60
- package/skills/document-clarify/SKILL.md +2 -2
- package/skills/project-initializer/SKILL.md +7 -50
- package/skills/project-initializer/agents/openai.yaml +1 -1
- package/skills/project-initializer/scripts/init_project.sh +6 -40
- package/skills/project-load/SKILL.md +8 -50
- package/skills/project-load/agents/openai.yaml +1 -1
package/README.md
CHANGED
|
@@ -38,7 +38,7 @@ claude --plugin-dir /path/to/dotdotgod/packages/claude-code
|
|
|
38
38
|
| Command or skill | Use it for | Result |
|
|
39
39
|
| --- | --- | --- |
|
|
40
40
|
| `/dd:init` | Start a repository with dotdotgod conventions. | Creates or normalizes shared agent files, docs indexes, local-memory areas, and the complete default project config. |
|
|
41
|
-
| `/dd:load` | Load project memory
|
|
41
|
+
| `/dd:load` | Load project memory without changing maintained project files. | Renders the shared Markdown tree and uses `dotdotgod query` when focus text is provided; query may refresh ignored caches. |
|
|
42
42
|
| `/dd:plan` | Plan before implementation. | Writes or updates durable task intent in `docs/plan/<task-slug>/README.md`. |
|
|
43
43
|
| `/dd:plan-goal` | Run 5-stage structured planning before implementation. | Produces durable checkpoint files in `docs/plan/<task>/.dotdotgod-plan/` and a plan README. |
|
|
44
44
|
| `/dd:impact` | Review changed files before verification or handoff. | Uses `dotdotgod graph impact` to identify likely related docs, tests, commands, and source files. |
|
|
@@ -86,4 +86,4 @@ See the [root README](https://github.com/dotdotgod/dotdotgod-kit#readme), [Conte
|
|
|
86
86
|
|
|
87
87
|
## Compared with Graphify-Style Memory
|
|
88
88
|
|
|
89
|
-
This adapter is guidance-oriented. It asks Claude Code to prefer a bounded
|
|
89
|
+
This adapter is guidance-oriented. It asks Claude Code to prefer a depth-bounded documentation map with optional focused local query, avoid broad archive scans, and follow README indexes before reading raw files. The strength is structured retrieval from maintained project docs, not a giant graph report.
|
package/commands/dd/init.md
CHANGED
|
@@ -1,67 +1,24 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Initialize dotdotgod
|
|
3
|
-
argument-hint: [project-root] [--
|
|
4
|
-
allowed-tools: [Read, Glob, Grep, Bash]
|
|
2
|
+
description: Initialize dotdotgod project memory and config
|
|
3
|
+
argument-hint: [project-root] [--dotdot-setting] [--dry-run]
|
|
4
|
+
allowed-tools: [Read, Glob, Grep, Bash, Write, Edit]
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
<!-- Generated from packages/shared resources by scripts/generate-adapters.mjs. Do not edit this file directly; edit the shared source and run `pnpm run generate`. -->
|
|
8
8
|
|
|
9
9
|
# /dd:init - Initialize Project Memory
|
|
10
10
|
|
|
11
|
-
Initialize or normalize a repository with dotdotgod
|
|
11
|
+
Initialize or normalize a repository with dotdotgod project memory and the complete default config.
|
|
12
12
|
|
|
13
13
|
Arguments: `$ARGUMENTS`
|
|
14
14
|
|
|
15
|
-
##
|
|
15
|
+
## Goal
|
|
16
16
|
|
|
17
|
-
Create a
|
|
18
|
-
|
|
19
|
-
- `AGENTS.md` is the canonical project instruction file.
|
|
20
|
-
- `CLAUDE.md` and `CODEX.md` are thin agent-specific entrypoints.
|
|
21
|
-
- `docs/` contains concise indexes for specs, tests, architecture, active plans, and archives.
|
|
22
|
-
- `dotdotgod.config.json` materializes the complete editable default project policy.
|
|
23
|
-
- `.gitignore` keeps `docs/plan`, `docs/archive`, and `.dotdotgod` local by default.
|
|
24
|
-
|
|
25
|
-
Under `docs/`, directories use kebab-case and markdown file names use UPPER_SNAKE_CASE, including `README.md`.
|
|
26
|
-
|
|
27
|
-
## CLI and Fallback
|
|
28
|
-
|
|
29
|
-
Prefer the CLI initializer:
|
|
30
|
-
|
|
31
|
-
```bash
|
|
32
|
-
dotdotgod init <project-root>
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
Use the bundled fallback when the CLI is unavailable:
|
|
36
|
-
|
|
37
|
-
```bash
|
|
38
|
-
sh "${CLAUDE_PLUGIN_ROOT}/skills/project-initializer/scripts/init_project.sh" <project-root>
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
Both paths create the same baseline file set and canonical config while preserving existing files by default. Use `--dry-run` for unfamiliar repositories, `--dotdot-setting` for the optional documentation and code-convention guidance, and `--force` only with explicit user approval.
|
|
17
|
+
Create a non-destructive dotdotgod baseline with canonical agent instructions, thin agent entrypoints, documentation indexes, project config, and local-memory ignore rules.
|
|
42
18
|
|
|
43
19
|
## Workflow
|
|
44
20
|
|
|
45
|
-
1. Inspect
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
2. Run the initializer.
|
|
50
|
-
- Use the CLI when available; otherwise use the bundled fallback.
|
|
51
|
-
- Existing files are skipped unless the user approved `--force`.
|
|
52
|
-
- If `.dotdotgodrc.json` exists, preserve it and skip creation of `dotdotgod.config.json`, including under `--force`.
|
|
53
|
-
3. Review and validate.
|
|
54
|
-
- Fill project-specific placeholders in `AGENTS.md` when the required context is known.
|
|
55
|
-
- Keep `CLAUDE.md` and `CODEX.md` thin.
|
|
56
|
-
- Preserve the generated complete memory-area set; do not replace it with a partial hand-written list.
|
|
57
|
-
- Run `dotdotgod validate <project-root>` after creating or changing config when the CLI is available.
|
|
58
|
-
- Inspect `dotdotgod config <project-root> --json` when validation fails or resolved policy needs review.
|
|
59
|
-
4. Report the result.
|
|
60
|
-
- List created, skipped, replaced, backed-up, conflicting, and invalid files.
|
|
61
|
-
- Identify existing instructions that still require manual consolidation.
|
|
62
|
-
|
|
63
|
-
## Bundled Resources
|
|
64
|
-
|
|
65
|
-
- `scripts/init_project.sh`: POSIX fallback initializer.
|
|
66
|
-
- `templates/dotdotgod.config.json`: generated canonical config template used by the fallback.
|
|
67
|
-
- `references/agent-docs.md`: shared agent-document naming and content model.
|
|
21
|
+
1. Inspect existing agent instructions, documentation, config, and ignore rules; preserve existing files and unrelated user work.
|
|
22
|
+
2. Run `dotdotgod init <project-root>` when available; otherwise run `sh "${CLAUDE_PLUGIN_ROOT}/skills/project-initializer/scripts/init_project.sh" <project-root>`. Existing files must be skipped, not replaced.
|
|
23
|
+
3. Validate the initialized project with `dotdotgod validate <project-root>` when available.
|
|
24
|
+
4. Report created and skipped files, validation failures, and unresolved instruction conflicts.
|
package/commands/dd/load.md
CHANGED
|
@@ -8,64 +8,22 @@ allowed-tools: [Read, Glob, Grep, Bash]
|
|
|
8
8
|
|
|
9
9
|
# /dd:load - Load Project Memory
|
|
10
10
|
|
|
11
|
-
Load
|
|
11
|
+
Load project memory without modifying source, documentation, or project config; focused query may refresh ignored caches.
|
|
12
12
|
|
|
13
13
|
User focus, if provided: `$ARGUMENTS`
|
|
14
14
|
|
|
15
15
|
## Goal
|
|
16
16
|
|
|
17
|
-
Load the
|
|
18
|
-
|
|
19
|
-
Do not modify files during the load pass unless the user explicitly asks for edits after the summary.
|
|
17
|
+
Load the repository's dotdotgod project memory without modifying maintained files. Treat free-form arguments as query text, not mode switches.
|
|
20
18
|
|
|
21
19
|
## Workflow
|
|
22
20
|
|
|
23
|
-
1. Identify the repository root
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
- If the prompt has high-signal natural refs such as `PLAN_MODE`, `docs/spec/PLAN_MODE.md`, or quoted doc names, use `dotdotgod expand <root> "<prompt>" --fuzzy --json` before broad scans; avoid fuzzy expansion for low-signal generic words alone and respect configured fuzzy low-signal add/remove terms.
|
|
29
|
-
- If `dotdotgod` is installed or available in the repository, run `dotdotgod load-snapshot <root> --json`. This bounded CLI snapshot backs `/dd:load` and `/dd:load:compact`.
|
|
30
|
-
- If the local environment allows package execution but no `dotdotgod` binary is available, optionally run `npx @dotdotgod/cli load-snapshot <root> --json`.
|
|
31
|
-
- Treat the snapshot as the first-pass project-memory map for cache trust/freshness status, graph size, memory policy, top memory areas, top related communities, and archive inclusion policy. Avoid expanding command/event-heavy details unless the user asks for a full or diagnostic load.
|
|
32
|
-
- Treat docs structure as metadata: use README.md paths as a book-like table of contents and expand a specific docs subtree only when the user request, a graph community, a memory area, or a README route identifies it. Respect `load.documentationSummary.exclude`; its default omits `docs/plan` and `docs/archive` independently from local-memory classification.
|
|
33
|
-
- During load/planning, treat `dotdotgod status`, `load-snapshot`, `resolve`, `expand`, `graph impact`, `graph communities`, read-only `config`, and `index` as bounded context/status helpers. `load-snapshot`, `resolve`, `expand`, `graph impact`, `graph communities`, and `index` are project-content safe but may refresh ignored `.dotdotgod/` cache metadata. Avoid mutating scaffold/config commands such as `init` or `config init` unless the user explicitly asks for initialization or config creation.
|
|
34
|
-
- Use `dotdotgod graph impact <root> --changed <path> --yml` as a task-focused structured impact map when the user identifies a likely source/config/doc file. In Claude Code, `/dd:impact` can run the same review; in Codex, `dd:impact` is the command-like trigger for the `impact-review` skill.
|
|
35
|
-
- Use `grep` or `find` after `expand`, impact, and targeted reads when the task needs fallback discovery or raw source text search.
|
|
36
|
-
- Fall back to raw `dotdotgod graph impact <root> --changed <path> --json` only when diagnostics need the full payload.
|
|
37
|
-
- When graph impact surfaces traceability relations, inspect the related specs, tests, and docs before editing source.
|
|
38
|
-
- Related behavior docs: `docs/spec/LOAD_PROJECT.md`, `docs/spec/CROSS_AGENT_SUPPORT.md`, and `docs/arch/CROSS_AGENT_ARCHITECTURE.md`.
|
|
39
|
-
- If the CLI is unavailable, network/package execution is undesirable, or the command fails, continue with the manual README-index fallback below.
|
|
40
|
-
3. Inspect baseline memory files when present:
|
|
41
|
-
- `AGENTS.md`, `CLAUDE.md`, `CODEX.md`, `README.md`
|
|
42
|
-
- `docs/README.md`
|
|
43
|
-
- `docs/spec/README.md`
|
|
44
|
-
- `docs/test/README.md`
|
|
45
|
-
- `docs/arch/README.md`
|
|
46
|
-
- `docs/plan/README.md`
|
|
47
|
-
- `docs/archive/README.md`
|
|
48
|
-
4. Start with `AGENTS.md`, `README.md`, and `docs/README.md` when they are not already clear from the CLI snapshot or loaded context.
|
|
49
|
-
5. Follow README indexes. Read relevant docs under `docs/spec`, `docs/test`, and `docs/arch` selectively unless the task needs a full refresh.
|
|
50
|
-
6. When plans are relevant through the request or snapshot routing, list `docs/plan` entries first, then selectively read only relevant active plans. Do not infer documentation-summary inclusion from local-memory scope.
|
|
51
|
-
7. Use `docs/archive/README.md` as the archive history map when history is relevant. Do not scan archive bodies by default; read targeted completed plans under `docs/archive/plan/` or reports under `docs/archive/report/` only when directly relevant.
|
|
52
|
-
8. Avoid broad reads of generated outputs, dependencies, databases, caches, secrets, and `.env*` contents.
|
|
53
|
-
|
|
54
|
-
## Output Shape
|
|
55
|
-
|
|
56
|
-
For explicit manual full loads, respond concisely with:
|
|
57
|
-
|
|
58
|
-
- Project summary
|
|
59
|
-
- Key working rules
|
|
60
|
-
- Available commands and verification methods, including `/dd:impact` or `dd:impact` when available for changed-file review
|
|
61
|
-
- Documentation map
|
|
62
|
-
- Active plans
|
|
63
|
-
- Relevant archive notes
|
|
64
|
-
- Open TODO/TBD items or questions to clarify
|
|
21
|
+
1. Identify the repository root.
|
|
22
|
+
2. When baseline context is missing, read `AGENTS.md`, the adapter entrypoint, `README.md`, and `docs/README.md` when present.
|
|
23
|
+
3. Build a prefix-compressed tree of `docs/**/*.md` after `load.documentationSummary.exclude`. Count `docs/` as depth 1; without arguments, expand through depth 5 and summarize deeper descendants with exact directory and Markdown-file counts.
|
|
24
|
+
4. With arguments, run `dotdotgod query <root> "<arguments>" --limit 30 --json` when available, return at most 30 distinct Markdown files, and render the tree through depth 3. Fall back to the tree and README indexes when query is unavailable.
|
|
25
|
+
5. Read bodies selectively from query results, explicit paths, and README indexes. Read relevant active plans only when needed, use `docs/archive/README.md` as the history map, and avoid broad generated, dependency, cache, or secret reads.
|
|
65
26
|
|
|
66
|
-
|
|
27
|
+
## Output
|
|
67
28
|
|
|
68
|
-
|
|
69
|
-
- Relevant docs map: only the docs areas or README indexes likely needed for the current request
|
|
70
|
-
- Active plan hints: active plan paths only when relevant
|
|
71
|
-
- Next recommended reads: a short, bounded list, or a note that no further reads are needed
|
|
29
|
+
Report the project purpose, key rules, relevant documentation routes, and only the active-plan or next-read hints needed for the request. Keep compact loads to a brief refresh.
|
package/commands/dd/plan.md
CHANGED
|
@@ -14,74 +14,23 @@ Task request: `$ARGUMENTS`
|
|
|
14
14
|
|
|
15
15
|
## Goal
|
|
16
16
|
|
|
17
|
-
Create implementation
|
|
17
|
+
Create an implementation plan from maintained repository documentation before substantial source or configuration changes.
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
## Source Order
|
|
22
|
-
|
|
23
|
-
Prefer live repository docs in this order:
|
|
24
|
-
|
|
25
|
-
1. `AGENTS.md`, `CLAUDE.md`, `CODEX.md`, `README.md`, and `docs/README.md` for working rules and project map.
|
|
26
|
-
2. `docs/spec/` for behavior, domain rules, API contracts, and acceptance criteria.
|
|
27
|
-
3. `docs/test/` for verification strategy, regression cases, fixtures, and manual checks.
|
|
28
|
-
4. `docs/arch/` for architecture decisions, module boundaries, integration constraints, and runtime assumptions.
|
|
29
|
-
5. `docs/plan/README.md` and matching active plans under `docs/plan/`.
|
|
30
|
-
6. Relevant completed plans under `docs/archive/plan/` or reports under `docs/archive/report/` only when directly useful.
|
|
19
|
+
Use `docs/plan/<task-slug>/README.md` for substantial, risky, or resumable work; otherwise use a short in-chat checklist unless the user requests a saved plan.
|
|
31
20
|
|
|
32
21
|
## Workflow
|
|
33
22
|
|
|
34
|
-
1.
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
- When the request contains explicit project-memory refs such as `[[PLAN_MODE]]`, run `dotdotgod expand <root> "<request>" --json` before broad `grep` or `find` scans, then read the resolved candidates selectively.
|
|
41
|
-
- When the request uses high-signal natural refs such as `PLAN_MODE`, `docs/spec/PLAN_MODE.md`, or quoted doc names, run `dotdotgod expand <root> "<request>" --fuzzy --json`; skip fuzzy expansion for generic low-signal words alone and respect configured fuzzy low-signal add/remove terms.
|
|
42
|
-
- Search docs by domain terms from the user request.
|
|
43
|
-
- Read nearest README indexes and relevant focused docs.
|
|
44
|
-
- For behavior changes, prefer specs with CLI-enforced fenced `json dotdotgod` traceability blocks in the final section; use their source, test, related-doc, and verification-command mappings before editing code.
|
|
45
|
-
- When the dotdotgod CLI is available and likely target files are known, run one bounded multi-seed `dotdotgod graph impact <root> --changed <path-a> --changed <path-b> --yml` command for up to 20 unique files, splitting only larger sets into ordered batches. Use the combined ranking and per-seed top-five related specs, tests, docs, commands, scores, and reasons to strengthen target files, risks, and verification steps. If impact lookup fails or the CLI is unavailable, continue with README-index and traceability fallback evidence.
|
|
46
|
-
- For Claude Code and Codex, add an explicit post-edit impact-review step to the plan when the task will change source/config files, because those adapters do not have Pi's automatic pending-impact reminder or `/impact-check` enforcement.
|
|
47
|
-
- During planning, treat these dotdotgod commands as bounded context/status helpers: `status`, `load-snapshot`, `resolve`, `expand`, `graph impact`, `graph communities`, read-only `config`, and `index`. Do not run mutating scaffold/config commands such as `init` or `config init` unless the user explicitly asks for initialization or config creation.
|
|
48
|
-
- Use `grep` or `find` after reference expansion, impact, and targeted reads when the task needs fallback discovery or raw source text search.
|
|
49
|
-
- Read code only after docs identify likely module boundaries, impact output points to relevant files, or docs are missing/stale.
|
|
50
|
-
3. Create or update an active plan at this path when durable planning is needed:
|
|
51
|
-
|
|
52
|
-
```text
|
|
53
|
-
docs/plan/<task-slug>/README.md
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
Skip the saved plan for obvious bounded work such as typos, single-file documentation clarifications, targeted test/validation runs, or one-file fixes with an unambiguous implementation path.
|
|
57
|
-
4. For durable active plans that will be executed, keep the user-facing plan in `docs/plan/<task-slug>/README.md`. If `/plan-goal` staged planning is useful, it may record internal checkpoints under `docs/plan/<task-slug>/.dotdotgod-plan/NN_STAGE_NAME.md`; do not make legacy stage directories such as `01-intake/README.md` the required plan product.
|
|
58
|
-
5. Use UPPER_SNAKE_CASE support files in the task directory only when they improve resume quality, such as `ROLE_AREA_WORKSTREAMS.md`, `ATOMIC_TASKS.md`, `PROGRESS_LOG.md`, or `VERIFICATION_EVIDENCE.md`.
|
|
59
|
-
6. For long-running durable tasks, use concise README sections or optional support files for chronological progress, durable decisions, resume state, and task-specific verification checklists. `.dotdotgod-plan/` checkpoints are `/plan-goal` state, not a general Plan Mode requirement.
|
|
60
|
-
7. When a durable plan is created, include:
|
|
61
|
-
- scope and current status
|
|
62
|
-
- target files and rationale
|
|
63
|
-
- impact-derived related files/checks when available
|
|
64
|
-
- implementation steps
|
|
65
|
-
- risks and edge cases when useful
|
|
66
|
-
- verification method
|
|
67
|
-
- current resume state when useful
|
|
68
|
-
- final housekeeping step to move completed work to `docs/archive/plan/<task-slug>/`
|
|
69
|
-
- for Claude Code/Codex plans, a concrete `dd:impact` or `impact-review` step before broad verification or final handoff when source/config/docs files changed
|
|
70
|
-
8. Before executing a durable active plan, ensure the user has explicitly asked to execute it and resolve any plan-local Discussion Queue items that block execution review. Plan Mode does not require `dotdotgod plan validate` before execution; `/plan-goal` and manual/non-Plan-Mode workflows may still use the CLI plan-validation contract when appropriate.
|
|
71
|
-
9. Update `docs/plan/README.md` if the repository keeps active plan entries there.
|
|
72
|
-
10. Use repository-local package manager evidence for verification commands. In this repository, prefer `pnpm run verify`, `pnpm run pack:dry-run`, and `.husky/pre-push` when applicable.
|
|
73
|
-
11. After creating or updating behavior specs, run project validation when possible. For dotdotgod projects, `dotdotgod validate` enforces machine-readable `json dotdotgod` traceability blocks as the final section in specs. Use `dotdotgod validate --check-index` when you need to confirm markdown fingerprints match the graph index. If validation fails, use the schema, property guidance, and example shown in the validation error to repair the spec.
|
|
74
|
-
12. Stop after presenting the plan unless the user explicitly asks for execution.
|
|
75
|
-
13. During implementation in Claude Code or Codex, use `/dd:impact`, `dd:impact`, or the `impact-review` skill after edits and before broad verification, commits, pushes, publishing, or final handoff.
|
|
76
|
-
14. After implementation and verification, archive completed or superseded plan directories under `docs/archive/plan/<task-slug>/`; remove stale local plan artifacts only when the project policy allows plan/archive housekeeping.
|
|
23
|
+
1. Check for a matching active plan.
|
|
24
|
+
2. Reuse loaded memory and the documentation map, then use focused query and README indexes to select maintained docs and verify conclusions in them.
|
|
25
|
+
3. Inspect the source needed to confirm targets and constraints.
|
|
26
|
+
4. Run impact review on likely changed files and refine targets, risks, and verification.
|
|
27
|
+
5. For durable work, write and present the task README with scope, targets, executable steps, verification, and required completion gates.
|
|
28
|
+
6. Resolve blocking decisions and stop until the user asks to execute the plan.
|
|
77
29
|
|
|
78
30
|
## Quality Rules
|
|
79
31
|
|
|
80
32
|
- Prefer documented facts over inference; label inference explicitly.
|
|
81
|
-
- Keep plans concise and maintainable.
|
|
82
|
-
- Use local repository terminology and existing module names.
|
|
83
|
-
- Validation steps must be executable commands or concrete review checks.
|
|
84
|
-
- Avoid turning explanatory numbered lists into executable implementation plans. Use concrete action-oriented `Plan:` steps only when a real active plan artifact is being created or updated.
|
|
33
|
+
- Keep plans concise, executable, and maintainable.
|
|
85
34
|
|
|
86
35
|
## Execution Rule
|
|
87
36
|
|
package/hooks/README.md
CHANGED
|
@@ -43,7 +43,7 @@ This SDLC framing maps common Claude Code guidance about a project brain to dotd
|
|
|
43
43
|
- Use `/dd:load` or the `project-load` skill when you intentionally want a curated project-memory load.
|
|
44
44
|
- Use `/dd:plan` or the `doc-first-planning` skill before implementation, refactors, migrations, or multi-step work.
|
|
45
45
|
- Use `/dd:impact` or the `impact-review` skill after source/config/docs edits and before broad verification, commits, pushes, publishing, or final handoff.
|
|
46
|
-
- During planning, prefer bounded dotdotgod context/status helpers: `status`, `
|
|
46
|
+
- During planning, prefer bounded dotdotgod context/status helpers: `status`, `query`, `resolve`, `expand`, `graph impact`, `graph communities`, read-only `config`, and intentional `index` refreshes. Do not run mutating scaffold/config commands such as `init` or `config init` from hooks unless the user explicitly requested that setup.
|
|
47
47
|
- Use hooks for small reminders at session start, prompt submission, tool boundaries, or stop time.
|
|
48
48
|
|
|
49
49
|
## Opt-In Levels
|
|
@@ -67,7 +67,7 @@ This example reminds Claude to use dotdotgod intentionally and checks cache stat
|
|
|
67
67
|
"hooks": [
|
|
68
68
|
{
|
|
69
69
|
"type": "command",
|
|
70
|
-
"command": "printf '%s\\n' 'dotdotgod: use /dd:load or dotdotgod
|
|
70
|
+
"command": "printf '%s\\n' 'dotdotgod: use /dd:load for project memory or dotdotgod query for focused documentation search.'",
|
|
71
71
|
"timeout": 10
|
|
72
72
|
}
|
|
73
73
|
]
|
|
@@ -167,4 +167,4 @@ A strict script must read hook JSON from stdin, confirm the session is explicitl
|
|
|
167
167
|
- Do not run `dotdotgod init` or `dotdotgod config init` automatically.
|
|
168
168
|
- Do not move active plans to `docs/archive/` automatically.
|
|
169
169
|
- Do not block all source writes without an explicit plan-only state signal.
|
|
170
|
-
-
|
|
170
|
+
- Treat `dotdotgod query` as a cache-writing command in strict hooks; it may refresh `.dotdotgod/vectors/` and download the local model on first use.
|
package/package.json
CHANGED
|
@@ -10,71 +10,20 @@ version: 1.0.0
|
|
|
10
10
|
|
|
11
11
|
## Goal
|
|
12
12
|
|
|
13
|
-
Create implementation
|
|
13
|
+
Create an implementation plan from maintained repository documentation before substantial source or configuration changes.
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
## Source Order
|
|
18
|
-
|
|
19
|
-
Prefer live repository docs in this order:
|
|
20
|
-
|
|
21
|
-
1. `AGENTS.md`, `CLAUDE.md`, `CODEX.md`, `README.md`, and `docs/README.md` for working rules and project map.
|
|
22
|
-
2. `docs/spec/` for behavior, domain rules, API contracts, and acceptance criteria.
|
|
23
|
-
3. `docs/test/` for verification strategy, regression cases, fixtures, and manual checks.
|
|
24
|
-
4. `docs/arch/` for architecture decisions, module boundaries, integration constraints, and runtime assumptions.
|
|
25
|
-
5. `docs/plan/README.md` and matching active plans under `docs/plan/`.
|
|
26
|
-
6. Relevant completed plans under `docs/archive/plan/` or reports under `docs/archive/report/` only when directly useful.
|
|
15
|
+
Use `docs/plan/<task-slug>/README.md` for substantial, risky, or resumable work; otherwise use a short in-chat checklist unless the user requests a saved plan.
|
|
27
16
|
|
|
28
17
|
## Workflow
|
|
29
18
|
|
|
30
|
-
1.
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
- When the request contains explicit project-memory refs such as `[[PLAN_MODE]]`, run `dotdotgod expand <root> "<request>" --json` before broad `grep` or `find` scans, then read the resolved candidates selectively.
|
|
37
|
-
- When the request uses high-signal natural refs such as `PLAN_MODE`, `docs/spec/PLAN_MODE.md`, or quoted doc names, run `dotdotgod expand <root> "<request>" --fuzzy --json`; skip fuzzy expansion for generic low-signal words alone and respect configured fuzzy low-signal add/remove terms.
|
|
38
|
-
- Search docs by domain terms from the user request.
|
|
39
|
-
- Read nearest README indexes and relevant focused docs.
|
|
40
|
-
- For behavior changes, prefer specs with CLI-enforced fenced `json dotdotgod` traceability blocks in the final section; use their source, test, related-doc, and verification-command mappings before editing code.
|
|
41
|
-
- When the dotdotgod CLI is available and likely target files are known, run one bounded multi-seed `dotdotgod graph impact <root> --changed <path-a> --changed <path-b> --yml` command for up to 20 unique files, splitting only larger sets into ordered batches. Use the combined ranking and per-seed top-five related specs, tests, docs, commands, scores, and reasons to strengthen target files, risks, and verification steps. If impact lookup fails or the CLI is unavailable, continue with README-index and traceability fallback evidence.
|
|
42
|
-
- For Claude Code and Codex, add an explicit post-edit impact-review step to the plan when the task will change source/config files, because those adapters do not have Pi's automatic pending-impact reminder or `/impact-check` enforcement.
|
|
43
|
-
- During planning, treat these dotdotgod commands as bounded context/status helpers: `status`, `load-snapshot`, `resolve`, `expand`, `graph impact`, `graph communities`, read-only `config`, and `index`. Do not run mutating scaffold/config commands such as `init` or `config init` unless the user explicitly asks for initialization or config creation.
|
|
44
|
-
- Use `grep` or `find` after reference expansion, impact, and targeted reads when the task needs fallback discovery or raw source text search.
|
|
45
|
-
- Read code only after docs identify likely module boundaries, impact output points to relevant files, or docs are missing/stale.
|
|
46
|
-
3. Create or update an active plan at this path when durable planning is needed:
|
|
47
|
-
|
|
48
|
-
```text
|
|
49
|
-
docs/plan/<task-slug>/README.md
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
Skip the saved plan for obvious bounded work such as typos, single-file documentation clarifications, targeted test/validation runs, or one-file fixes with an unambiguous implementation path.
|
|
53
|
-
4. For durable active plans that will be executed, keep the user-facing plan in `docs/plan/<task-slug>/README.md`. If `/plan-goal` staged planning is useful, it may record internal checkpoints under `docs/plan/<task-slug>/.dotdotgod-plan/NN_STAGE_NAME.md`; do not make legacy stage directories such as `01-intake/README.md` the required plan product.
|
|
54
|
-
5. Use UPPER_SNAKE_CASE support files in the task directory only when they improve resume quality, such as `ROLE_AREA_WORKSTREAMS.md`, `ATOMIC_TASKS.md`, `PROGRESS_LOG.md`, or `VERIFICATION_EVIDENCE.md`.
|
|
55
|
-
6. For long-running durable tasks, use concise README sections or optional support files for chronological progress, durable decisions, resume state, and task-specific verification checklists. `.dotdotgod-plan/` checkpoints are `/plan-goal` state, not a general Plan Mode requirement.
|
|
56
|
-
7. When a durable plan is created, include:
|
|
57
|
-
- scope and current status
|
|
58
|
-
- target files and rationale
|
|
59
|
-
- impact-derived related files/checks when available
|
|
60
|
-
- implementation steps
|
|
61
|
-
- risks and edge cases when useful
|
|
62
|
-
- verification method
|
|
63
|
-
- current resume state when useful
|
|
64
|
-
- final housekeeping step to move completed work to `docs/archive/plan/<task-slug>/`
|
|
65
|
-
- for Claude Code/Codex plans, a concrete `dd:impact` or `impact-review` step before broad verification or final handoff when source/config/docs files changed
|
|
66
|
-
8. Before executing a durable active plan, ensure the user has explicitly asked to execute it and resolve any plan-local Discussion Queue items that block execution review. Plan Mode does not require `dotdotgod plan validate` before execution; `/plan-goal` and manual/non-Plan-Mode workflows may still use the CLI plan-validation contract when appropriate.
|
|
67
|
-
9. Update `docs/plan/README.md` if the repository keeps active plan entries there.
|
|
68
|
-
10. Use repository-local package manager evidence for verification commands. In this repository, prefer `pnpm run verify`, `pnpm run pack:dry-run`, and `.husky/pre-push` when applicable.
|
|
69
|
-
11. After creating or updating behavior specs, run project validation when possible. For dotdotgod projects, `dotdotgod validate` enforces machine-readable `json dotdotgod` traceability blocks as the final section in specs. Use `dotdotgod validate --check-index` when you need to confirm markdown fingerprints match the graph index. If validation fails, use the schema, property guidance, and example shown in the validation error to repair the spec.
|
|
70
|
-
12. Stop after presenting the plan unless the user explicitly asks for execution.
|
|
71
|
-
13. During implementation in Claude Code or Codex, use `/dd:impact`, `dd:impact`, or the `impact-review` skill after edits and before broad verification, commits, pushes, publishing, or final handoff.
|
|
72
|
-
14. After implementation and verification, archive completed or superseded plan directories under `docs/archive/plan/<task-slug>/`; remove stale local plan artifacts only when the project policy allows plan/archive housekeeping.
|
|
19
|
+
1. Check for a matching active plan.
|
|
20
|
+
2. Reuse loaded memory and the documentation map, then use focused query and README indexes to select maintained docs and verify conclusions in them.
|
|
21
|
+
3. Inspect the source needed to confirm targets and constraints.
|
|
22
|
+
4. Run impact review on likely changed files and refine targets, risks, and verification.
|
|
23
|
+
5. For durable work, write and present the task README with scope, targets, executable steps, verification, and required completion gates.
|
|
24
|
+
6. Resolve blocking decisions and stop until the user asks to execute the plan.
|
|
73
25
|
|
|
74
26
|
## Quality Rules
|
|
75
27
|
|
|
76
28
|
- Prefer documented facts over inference; label inference explicitly.
|
|
77
|
-
- Keep plans concise and maintainable.
|
|
78
|
-
- Use local repository terminology and existing module names.
|
|
79
|
-
- Validation steps must be executable commands or concrete review checks.
|
|
80
|
-
- Avoid turning explanatory numbered lists into executable implementation plans. Use concrete action-oriented `Plan:` steps only when a real active plan artifact is being created or updated.
|
|
29
|
+
- Keep plans concise, executable, and maintainable.
|
|
@@ -19,8 +19,8 @@ Use this workflow for README indexes, specs, test docs, architecture docs, activ
|
|
|
19
19
|
Prefer live repository context in this order:
|
|
20
20
|
|
|
21
21
|
1. The user's target file or requested documentation area.
|
|
22
|
-
2.
|
|
23
|
-
3. Resolved config from `dotdotgod config <root> --json` when
|
|
22
|
+
2. Relevant documentation from `dotdotgod query <root> "<focus>" --json` when semantic routing is useful.
|
|
23
|
+
3. Resolved config from `dotdotgod config <root> --json` when memory-area or documentation-map policy is needed.
|
|
24
24
|
4. The nearest README index, especially `docs/README.md` and the local area `README.md`.
|
|
25
25
|
5. Directly linked specs, tests, architecture notes, commands, and traceability targets needed to preserve meaning.
|
|
26
26
|
6. `docs/archive/README.md` as the history map; read archive bodies only when the current clarification task needs a targeted past decision.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: project-initializer
|
|
3
|
-
description:
|
|
3
|
+
description: Initialize or normalize shared project memory and a complete editable dotdotgod config. Use when asked to set up shared agent entrypoints, docs indexes, local-memory ignores, or dotdotgod.config.json.
|
|
4
4
|
version: 1.0.0
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -8,56 +8,13 @@ version: 1.0.0
|
|
|
8
8
|
|
|
9
9
|
# Project Initializer
|
|
10
10
|
|
|
11
|
-
##
|
|
11
|
+
## Goal
|
|
12
12
|
|
|
13
|
-
Create a
|
|
14
|
-
|
|
15
|
-
- `AGENTS.md` is the canonical project instruction file.
|
|
16
|
-
- `CLAUDE.md` and `CODEX.md` are thin agent-specific entrypoints.
|
|
17
|
-
- `docs/` contains concise indexes for specs, tests, architecture, active plans, and archives.
|
|
18
|
-
- `dotdotgod.config.json` materializes the complete editable default project policy.
|
|
19
|
-
- `.gitignore` keeps `docs/plan`, `docs/archive`, and `.dotdotgod` local by default.
|
|
20
|
-
|
|
21
|
-
Under `docs/`, directories use kebab-case and markdown file names use UPPER_SNAKE_CASE, including `README.md`.
|
|
22
|
-
|
|
23
|
-
## CLI and Fallback
|
|
24
|
-
|
|
25
|
-
Prefer the CLI initializer:
|
|
26
|
-
|
|
27
|
-
```bash
|
|
28
|
-
dotdotgod init <project-root>
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
Use the bundled fallback when the CLI is unavailable:
|
|
32
|
-
|
|
33
|
-
```bash
|
|
34
|
-
sh "${CLAUDE_PLUGIN_ROOT}/skills/project-initializer/scripts/init_project.sh" <project-root>
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
Both paths create the same baseline file set and canonical config while preserving existing files by default. Use `--dry-run` for unfamiliar repositories, `--dotdot-setting` for the optional documentation and code-convention guidance, and `--force` only with explicit user approval.
|
|
13
|
+
Create a non-destructive dotdotgod baseline with canonical agent instructions, thin agent entrypoints, documentation indexes, project config, and local-memory ignore rules.
|
|
38
14
|
|
|
39
15
|
## Workflow
|
|
40
16
|
|
|
41
|
-
1. Inspect
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
2. Run the initializer.
|
|
46
|
-
- Use the CLI when available; otherwise use the bundled fallback.
|
|
47
|
-
- Existing files are skipped unless the user approved `--force`.
|
|
48
|
-
- If `.dotdotgodrc.json` exists, preserve it and skip creation of `dotdotgod.config.json`, including under `--force`.
|
|
49
|
-
3. Review and validate.
|
|
50
|
-
- Fill project-specific placeholders in `AGENTS.md` when the required context is known.
|
|
51
|
-
- Keep `CLAUDE.md` and `CODEX.md` thin.
|
|
52
|
-
- Preserve the generated complete memory-area set; do not replace it with a partial hand-written list.
|
|
53
|
-
- Run `dotdotgod validate <project-root>` after creating or changing config when the CLI is available.
|
|
54
|
-
- Inspect `dotdotgod config <project-root> --json` when validation fails or resolved policy needs review.
|
|
55
|
-
4. Report the result.
|
|
56
|
-
- List created, skipped, replaced, backed-up, conflicting, and invalid files.
|
|
57
|
-
- Identify existing instructions that still require manual consolidation.
|
|
58
|
-
|
|
59
|
-
## Bundled Resources
|
|
60
|
-
|
|
61
|
-
- `scripts/init_project.sh`: POSIX fallback initializer.
|
|
62
|
-
- `templates/dotdotgod.config.json`: generated canonical config template used by the fallback.
|
|
63
|
-
- `references/agent-docs.md`: shared agent-document naming and content model.
|
|
17
|
+
1. Inspect existing agent instructions, documentation, config, and ignore rules; preserve existing files and unrelated user work.
|
|
18
|
+
2. Run `dotdotgod init <project-root>` when available; otherwise run `sh "${CLAUDE_PLUGIN_ROOT}/skills/project-initializer/scripts/init_project.sh" <project-root>`. Existing files must be skipped, not replaced.
|
|
19
|
+
3. Validate the initialized project with `dotdotgod validate <project-root>` when available.
|
|
20
|
+
4. Report created and skipped files, validation failures, and unresolved instruction conflicts.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
interface:
|
|
2
2
|
display_name: "Project Initializer"
|
|
3
3
|
short_description: "Initialize project memory and config."
|
|
4
|
-
default_prompt: "Initialize
|
|
4
|
+
default_prompt: "Initialize shared project memory and the complete default config with dotdotgod init or the bundled fallback, preserving existing files."
|
|
@@ -6,7 +6,7 @@ CONFIG_TEMPLATE="$SCRIPT_DIR/../templates/dotdotgod.config.json"
|
|
|
6
6
|
|
|
7
7
|
usage() {
|
|
8
8
|
cat <<'EOF'
|
|
9
|
-
Usage: init_project.sh <project-root> [--project-name NAME] [--dotdot-setting] [--
|
|
9
|
+
Usage: init_project.sh <project-root> [--project-name NAME] [--dotdot-setting] [--dry-run]
|
|
10
10
|
|
|
11
11
|
Initializes:
|
|
12
12
|
AGENTS.md, CLAUDE.md, CODEX.md
|
|
@@ -23,7 +23,6 @@ EOF
|
|
|
23
23
|
|
|
24
24
|
PROJECT_ROOT=""
|
|
25
25
|
PROJECT_NAME=""
|
|
26
|
-
FORCE=0
|
|
27
26
|
DRY_RUN=0
|
|
28
27
|
DOTDOT_SETTING=0
|
|
29
28
|
|
|
@@ -41,10 +40,6 @@ while [ "$#" -gt 0 ]; do
|
|
|
41
40
|
DOTDOT_SETTING=1
|
|
42
41
|
shift
|
|
43
42
|
;;
|
|
44
|
-
--force)
|
|
45
|
-
FORCE=1
|
|
46
|
-
shift
|
|
47
|
-
;;
|
|
48
43
|
--dry-run)
|
|
49
44
|
DRY_RUN=1
|
|
50
45
|
shift
|
|
@@ -85,16 +80,11 @@ if [ -z "$PROJECT_NAME" ]; then
|
|
|
85
80
|
fi
|
|
86
81
|
|
|
87
82
|
CONFIG_PATH="$PROJECT_ROOT/dotdotgod.config.json"
|
|
88
|
-
|
|
89
|
-
if [ ! -e "$RC_PATH" ] && { [ ! -e "$CONFIG_PATH" ] || [ "$FORCE" -eq 1 ]; } && [ ! -f "$CONFIG_TEMPLATE" ]; then
|
|
83
|
+
if [ ! -e "$CONFIG_PATH" ] && [ ! -f "$CONFIG_TEMPLATE" ]; then
|
|
90
84
|
echo "error: missing initializer config template: $CONFIG_TEMPLATE" >&2
|
|
91
85
|
exit 2
|
|
92
86
|
fi
|
|
93
87
|
|
|
94
|
-
timestamp() {
|
|
95
|
-
date -u "+%Y%m%d%H%M%S"
|
|
96
|
-
}
|
|
97
|
-
|
|
98
88
|
print_result() {
|
|
99
89
|
status=$1
|
|
100
90
|
path=$2
|
|
@@ -110,41 +100,19 @@ write_file() {
|
|
|
110
100
|
path=$1
|
|
111
101
|
content=$2
|
|
112
102
|
|
|
113
|
-
if [ -e "$path" ]
|
|
103
|
+
if [ -e "$path" ]; then
|
|
114
104
|
print_result "skipped" "$path"
|
|
115
105
|
return
|
|
116
106
|
fi
|
|
117
107
|
|
|
118
|
-
backup=""
|
|
119
|
-
if [ -e "$path" ] && [ "$FORCE" -eq 1 ]; then
|
|
120
|
-
backup_base="$path.bak.$(timestamp)"
|
|
121
|
-
backup="$backup_base"
|
|
122
|
-
suffix=1
|
|
123
|
-
while [ -e "$backup" ]; do
|
|
124
|
-
backup="$backup_base.$suffix"
|
|
125
|
-
suffix=$((suffix + 1))
|
|
126
|
-
done
|
|
127
|
-
if [ "$DRY_RUN" -ne 1 ]; then
|
|
128
|
-
mv "$path" "$backup"
|
|
129
|
-
fi
|
|
130
|
-
fi
|
|
131
|
-
|
|
132
108
|
if [ "$DRY_RUN" -eq 1 ]; then
|
|
133
|
-
|
|
134
|
-
print_result "would_replace" "$path" "backup=$backup"
|
|
135
|
-
else
|
|
136
|
-
print_result "would_create" "$path"
|
|
137
|
-
fi
|
|
109
|
+
print_result "would_create" "$path"
|
|
138
110
|
return
|
|
139
111
|
fi
|
|
140
112
|
|
|
141
113
|
mkdir -p "$(dirname "$path")"
|
|
142
114
|
printf '%s\n' "$content" > "$path"
|
|
143
|
-
|
|
144
|
-
print_result "replaced" "$path" "backup=$backup"
|
|
145
|
-
else
|
|
146
|
-
print_result "created" "$path"
|
|
147
|
-
fi
|
|
115
|
+
print_result "created" "$path"
|
|
148
116
|
}
|
|
149
117
|
|
|
150
118
|
ensure_gitignore_entry() {
|
|
@@ -422,9 +390,7 @@ Use this area for local completed plans, temporary reports, historical notes, pa
|
|
|
422
390
|
|
|
423
391
|
This directory is local-only and ignored by git by default."
|
|
424
392
|
|
|
425
|
-
if [ -e "$
|
|
426
|
-
print_result "conflict" "$CONFIG_PATH" "existing=$RC_PATH"
|
|
427
|
-
elif [ -e "$CONFIG_PATH" ] && [ "$FORCE" -ne 1 ]; then
|
|
393
|
+
if [ -e "$CONFIG_PATH" ]; then
|
|
428
394
|
print_result "skipped" "$CONFIG_PATH"
|
|
429
395
|
else
|
|
430
396
|
write_file "$CONFIG_PATH" "$(cat "$CONFIG_TEMPLATE")"
|
|
@@ -10,58 +10,16 @@ version: 1.0.0
|
|
|
10
10
|
|
|
11
11
|
## Goal
|
|
12
12
|
|
|
13
|
-
Load the
|
|
14
|
-
|
|
15
|
-
Do not modify files during the load pass unless the user explicitly asks for edits after the summary.
|
|
13
|
+
Load the repository's dotdotgod project memory without modifying maintained files. Treat free-form arguments as query text, not mode switches.
|
|
16
14
|
|
|
17
15
|
## Workflow
|
|
18
16
|
|
|
19
|
-
1. Identify the repository root
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
- If the prompt has high-signal natural refs such as `PLAN_MODE`, `docs/spec/PLAN_MODE.md`, or quoted doc names, use `dotdotgod expand <root> "<prompt>" --fuzzy --json` before broad scans; avoid fuzzy expansion for low-signal generic words alone and respect configured fuzzy low-signal add/remove terms.
|
|
25
|
-
- If `dotdotgod` is installed or available in the repository, run `dotdotgod load-snapshot <root> --json`. This bounded CLI snapshot backs `/dd:load` and `/dd:load:compact`.
|
|
26
|
-
- If the local environment allows package execution but no `dotdotgod` binary is available, optionally run `npx @dotdotgod/cli load-snapshot <root> --json`.
|
|
27
|
-
- Treat the snapshot as the first-pass project-memory map for cache trust/freshness status, graph size, memory policy, top memory areas, top related communities, and archive inclusion policy. Avoid expanding command/event-heavy details unless the user asks for a full or diagnostic load.
|
|
28
|
-
- Treat docs structure as metadata: use README.md paths as a book-like table of contents and expand a specific docs subtree only when the user request, a graph community, a memory area, or a README route identifies it. Respect `load.documentationSummary.exclude`; its default omits `docs/plan` and `docs/archive` independently from local-memory classification.
|
|
29
|
-
- During load/planning, treat `dotdotgod status`, `load-snapshot`, `resolve`, `expand`, `graph impact`, `graph communities`, read-only `config`, and `index` as bounded context/status helpers. `load-snapshot`, `resolve`, `expand`, `graph impact`, `graph communities`, and `index` are project-content safe but may refresh ignored `.dotdotgod/` cache metadata. Avoid mutating scaffold/config commands such as `init` or `config init` unless the user explicitly asks for initialization or config creation.
|
|
30
|
-
- Use `dotdotgod graph impact <root> --changed <path> --yml` as a task-focused structured impact map when the user identifies a likely source/config/doc file. In Claude Code, `/dd:impact` can run the same review; in Codex, `dd:impact` is the command-like trigger for the `impact-review` skill.
|
|
31
|
-
- Use `grep` or `find` after `expand`, impact, and targeted reads when the task needs fallback discovery or raw source text search.
|
|
32
|
-
- Fall back to raw `dotdotgod graph impact <root> --changed <path> --json` only when diagnostics need the full payload.
|
|
33
|
-
- When graph impact surfaces traceability relations, inspect the related specs, tests, and docs before editing source.
|
|
34
|
-
- Related behavior docs: `docs/spec/LOAD_PROJECT.md`, `docs/spec/CROSS_AGENT_SUPPORT.md`, and `docs/arch/CROSS_AGENT_ARCHITECTURE.md`.
|
|
35
|
-
- If the CLI is unavailable, network/package execution is undesirable, or the command fails, continue with the manual README-index fallback below.
|
|
36
|
-
3. Inspect baseline memory files when present:
|
|
37
|
-
- `AGENTS.md`, `CLAUDE.md`, `CODEX.md`, `README.md`
|
|
38
|
-
- `docs/README.md`
|
|
39
|
-
- `docs/spec/README.md`
|
|
40
|
-
- `docs/test/README.md`
|
|
41
|
-
- `docs/arch/README.md`
|
|
42
|
-
- `docs/plan/README.md`
|
|
43
|
-
- `docs/archive/README.md`
|
|
44
|
-
4. Start with `AGENTS.md`, `README.md`, and `docs/README.md` when they are not already clear from the CLI snapshot or loaded context.
|
|
45
|
-
5. Follow README indexes. Read relevant docs under `docs/spec`, `docs/test`, and `docs/arch` selectively unless the task needs a full refresh.
|
|
46
|
-
6. When plans are relevant through the request or snapshot routing, list `docs/plan` entries first, then selectively read only relevant active plans. Do not infer documentation-summary inclusion from local-memory scope.
|
|
47
|
-
7. Use `docs/archive/README.md` as the archive history map when history is relevant. Do not scan archive bodies by default; read targeted completed plans under `docs/archive/plan/` or reports under `docs/archive/report/` only when directly relevant.
|
|
48
|
-
8. Avoid broad reads of generated outputs, dependencies, databases, caches, secrets, and `.env*` contents.
|
|
49
|
-
|
|
50
|
-
## Output Shape
|
|
51
|
-
|
|
52
|
-
For explicit manual full loads, respond concisely with:
|
|
53
|
-
|
|
54
|
-
- Project summary
|
|
55
|
-
- Key working rules
|
|
56
|
-
- Available commands and verification methods, including `/dd:impact` or `dd:impact` when available for changed-file review
|
|
57
|
-
- Documentation map
|
|
58
|
-
- Active plans
|
|
59
|
-
- Relevant archive notes
|
|
60
|
-
- Open TODO/TBD items or questions to clarify
|
|
17
|
+
1. Identify the repository root.
|
|
18
|
+
2. When baseline context is missing, read `AGENTS.md`, the adapter entrypoint, `README.md`, and `docs/README.md` when present.
|
|
19
|
+
3. Build a prefix-compressed tree of `docs/**/*.md` after `load.documentationSummary.exclude`. Count `docs/` as depth 1; without arguments, expand through depth 5 and summarize deeper descendants with exact directory and Markdown-file counts.
|
|
20
|
+
4. With arguments, run `dotdotgod query <root> "<arguments>" --limit 30 --json` when available, return at most 30 distinct Markdown files, and render the tree through depth 3. Fall back to the tree and README indexes when query is unavailable.
|
|
21
|
+
5. Read bodies selectively from query results, explicit paths, and README indexes. Read relevant active plans only when needed, use `docs/archive/README.md` as the history map, and avoid broad generated, dependency, cache, or secret reads.
|
|
61
22
|
|
|
62
|
-
|
|
23
|
+
## Output
|
|
63
24
|
|
|
64
|
-
|
|
65
|
-
- Relevant docs map: only the docs areas or README indexes likely needed for the current request
|
|
66
|
-
- Active plan hints: active plan paths only when relevant
|
|
67
|
-
- Next recommended reads: a short, bounded list, or a note that no further reads are needed
|
|
25
|
+
Report the project purpose, key rules, relevant documentation routes, and only the active-plan or next-read hints needed for the request. Keep compact loads to a brief refresh.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
interface:
|
|
2
2
|
display_name: "Project Load"
|
|
3
3
|
short_description: "Load dotdotgod project memory."
|
|
4
|
-
default_prompt: "Load this project's dotdotgod memory and summarize rules, docs, commands, active plans, and
|
|
4
|
+
default_prompt: "Load this project's dotdotgod memory and summarize rules, docs, commands, relevant active plans, and questions surfaced by the loaded material."
|