@dzhechkov/p-replicator 1.5.17 → 1.6.0
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/.dz-manifest.json +173 -65
- package/CHANGELOG.md +135 -0
- package/MULTIPLATFORM_ROADMAP.md +1 -1
- package/README/eng/01_quickstart.md +2 -2
- package/README/eng/02_user_guide.md +1 -1
- package/README/eng/03_admin_guide.md +2 -2
- package/README/eng/05_architecture.md +6 -2
- package/README/eng/README.md +1 -1
- package/README/ru/01_quickstart.md +2 -2
- package/README/ru/02_user_guide.md +1 -1
- package/README/ru/03_admin_guide.md +2 -2
- package/README/ru/05_architecture.md +1 -1
- package/README/ru/README.md +1 -1
- package/README/ru/html/index.html +7 -7
- package/README.md +41 -18
- package/bin/cli.js +0 -0
- package/package.json +11 -10
- package/sbom.json +347 -77
- package/src/utils.js +2 -0
- package/templates/.claude/agents/doc-validator.md +2 -1
- package/templates/.claude/agents/product-discoverer.md +1 -1
- package/templates/.claude/commands/next.md +16 -0
- package/templates/.claude/commands/replicate.md +126 -8
- package/templates/.claude/commands/start.md +19 -1
- package/templates/.claude/hooks/autocommit-insights.cjs +95 -10
- package/templates/.claude/hooks/autocommit-plans.cjs +95 -10
- package/templates/.claude/hooks/autocommit-roadmap.cjs +96 -13
- package/templates/.claude/hooks/check-ports.cjs +232 -0
- package/templates/.claude/hooks/session-insights.cjs +13 -1
- package/templates/.claude/hooks/state-update.cjs +13 -1
- package/templates/.claude/hooks/statusline.cjs +145 -18
- package/templates/.claude/rules/docker-ports.md +123 -0
- package/templates/.claude/rules/replicate-pipeline.md +5 -2
- package/templates/.claude/settings.json +5 -5
- package/templates/.claude/skills/cc-toolkit-generator-enhanced/modules/01-detect-parse.md +57 -14
- package/templates/.claude/skills/cc-toolkit-generator-enhanced/modules/02-analyze-map.md +9 -7
- package/templates/.claude/skills/cc-toolkit-generator-enhanced/references/enhanced-recommendations.md +6 -4
- package/templates/.claude/skills/cc-toolkit-generator-enhanced/references/extended-mapping.md +2 -2
- package/templates/.claude/skills/cc-toolkit-generator-enhanced/references/templates/ddd-agents.md +2 -2
- package/templates/.claude/skills/cc-toolkit-generator-enhanced/references/templates/ddd-skills.md +1 -1
- package/templates/.claude/skills/cc-toolkit-generator-enhanced/references/templates/enhanced-claude-md.md +2 -2
- package/templates/.claude/skills/cc-toolkit-generator-enhanced/references/templates/feature-suggestions.md +11 -2
- package/templates/.claude/skills/cc-toolkit-generator-enhanced/references/templates/start-command.md +1 -1
- package/templates/.claude/skills/goap-research-ed25519/SKILL.md +340 -47
- package/templates/.claude/skills/goap-research-ed25519/scripts/check_report_evidence.py +359 -3
- package/templates/.claude/skills/goap-research-ed25519/scripts/ed25519_verifier.py +386 -13
- package/templates/.claude/skills/goap-research-ed25519/scripts/fixture_legacy_v2_fact.json +23 -0
- package/templates/.claude/skills/goap-research-ed25519/scripts/fixtures_field_cases.json +133 -0
- package/templates/.claude/skills/goap-research-ed25519/scripts/goap_planner.py +314 -44
- package/templates/.claude/skills/goap-research-ed25519/scripts/learning_bridge.py +890 -303
- package/templates/.claude/skills/goap-research-ed25519/scripts/population_match.py +591 -0
- package/templates/.claude/skills/goap-research-ed25519/scripts/risk_statement.py +289 -0
- package/templates/.claude/skills/goap-research-ed25519/scripts/test_ed25519_verifier.py +57 -2
- package/templates/.claude/skills/goap-research-ed25519/scripts/test_evidence_provenance.py +969 -344
- package/templates/.claude/skills/goap-research-ed25519/scripts/test_goap_planner.py +420 -0
- package/templates/.claude/skills/goap-research-ed25519/scripts/test_population_match.py +544 -0
- package/templates/.claude/skills/goap-research-ed25519/scripts/test_risk_absolute.py +239 -0
- package/templates/.claude/skills/goap-research-ed25519/scripts/test_signature_v3.py +554 -0
- package/templates/.claude/skills/goap-research-ed25519/scripts/test_suite_completeness.py +90 -0
- package/templates/.claude/skills/requirements-validator/SKILL.md +7 -0
- package/templates/.claude/skills/requirements-validator/references/scoring-system.md +28 -0
- package/templates/.claude/skills/sparc-prd-mini/SKILL.md +143 -1
- package/tests/e2e/lifecycle.test.js +21 -10
- package/tests/snapshot/baseline.json +51 -34
- package/tests/snapshot/update-baseline.js +2 -1
- package/tests/unit/adr-decision-coverage.test.js +137 -0
- package/tests/unit/adr-scanner-contract.test.js +108 -0
- package/tests/unit/autocommit-deletion.test.js +242 -0
- package/tests/unit/check-ports.test.js +184 -0
- package/tests/unit/db-port-rule.test.js +216 -0
- package/tests/unit/detect-parse-anchor.test.js +109 -0
- package/tests/unit/external-dependency-check.test.js +209 -0
- package/tests/unit/growth-module-b2b-gate.test.js +104 -0
- package/tests/unit/hooks-project-anchored.test.js +223 -0
- package/tests/unit/hooks-report-failures.test.js +207 -0
- package/tests/unit/pipeline-file-ownership.test.js +95 -0
- package/tests/unit/roadmap-one-schema.test.js +179 -0
- package/tests/unit/sparc-reconciliation.test.js +117 -0
- package/tests/unit/spec-pseudocode-traceability.test.js +146 -0
- package/tests/unit/statusline-honest-labels.test.js +178 -0
- package/tests/unit/statusline-two-roots.test.js +237 -0
- package/tests/unit/sync-templates-guard.test.js +209 -0
- package/tests/unit/utils.test.js +2 -2
- package/tests/unit/validation-gate-teeth.test.js +158 -0
- package/LICENSE +0 -21
|
@@ -162,7 +162,7 @@ npx @dzhechkov/p-replicator verify
|
|
|
162
162
|
|
|
163
163
|
The command checks:
|
|
164
164
|
|
|
165
|
-
- **Pre-shipped contract** (must-have): 10 skills + 11 commands + 4 agents +
|
|
165
|
+
- **Pre-shipped contract** (must-have): 10 skills + 11 commands + 4 agents + 6 rules + settings.json
|
|
166
166
|
- **Post-/replicate hints** (advisory): CLAUDE.md, project-specific agents,
|
|
167
167
|
feature-roadmap.json, security rules, etc.
|
|
168
168
|
|
|
@@ -225,7 +225,7 @@ your-project/
|
|
|
225
225
|
│ ├── skills/ # 10 skills
|
|
226
226
|
│ ├── commands/ # 11 slash commands
|
|
227
227
|
│ ├── agents/ # 4 pipeline agents
|
|
228
|
-
│ ├── rules/ #
|
|
228
|
+
│ ├── rules/ # 6 rules
|
|
229
229
|
│ ├── hooks/ # 6 Node scripts
|
|
230
230
|
│ └── settings.json # hooks + statusline config
|
|
231
231
|
├── .p-replicator.json # install manifest
|
|
@@ -501,7 +501,7 @@ npx @dzhechkov/p-replicator verify
|
|
|
501
501
|
```
|
|
502
502
|
|
|
503
503
|
Should report:
|
|
504
|
-
- ✅ Pre-shipped contract intact (10 skills + 11 commands + 4 agents +
|
|
504
|
+
- ✅ Pre-shipped contract intact (10 skills + 11 commands + 4 agents + 6 rules + settings.json)
|
|
505
505
|
- ✅ Post-/replicate hints — many will be absent in Mode 2 (this is normal)
|
|
506
506
|
- 📊 Per-feature artifacts: `docs/features/<id>/01_specification.md`...`05_completion.md`,
|
|
507
507
|
`validation-report.md`, `review-report.md`
|
|
@@ -83,7 +83,7 @@ P-Replicator V1.5.0 ● user │ Sonnet 4.7
|
|
|
83
83
|
🚀 Pipeline /<cmd> ▓▓▓░░░░ 50% │ Phase: VALIDATE (2/4) │ Last: /replicate
|
|
84
84
|
🎯 Roadmap [●●●○○○○○] mvp 3/8 │ Done 5/12 │ ▶ auth-jwt │ Domain: banking
|
|
85
85
|
📊 SPARC ●11/11 │ 🟢 78/100 │ Plans ●3 │ ADRs ●2 │ Harvest 2026-05-05
|
|
86
|
-
🛠️ Toolkit Skills ●10/10 │ Cmds ●11/11 │ Agents ●4+3 │ Rules ●
|
|
86
|
+
🛠️ Toolkit Skills ●10/10 │ Cmds ●11/11 │ Agents ●4+3 │ Rules ●6+2 │ Hooks ●7/7
|
|
87
87
|
💡 Insights ●12 (2026-05-06) │ Tests 85/85 ✓ │ MCP ●1/1 │ Settings ✓ │ 🧬 Keysarium ✓
|
|
88
88
|
```
|
|
89
89
|
|
|
@@ -245,7 +245,7 @@ from PRD MVP scope, or by hand).
|
|
|
245
245
|
|
|
246
246
|
| Tool | Checks | When |
|
|
247
247
|
|---|---|---|
|
|
248
|
-
| `npx @dzhechkov/p-replicator doctor` | Pre-shipped contract: 10 skills + 11 commands + 4 agents +
|
|
248
|
+
| `npx @dzhechkov/p-replicator doctor` | Pre-shipped contract: 10 skills + 11 commands + 4 agents + 6 rules + settings.json + 7 hooks + git on PATH | After init / when something seems broken |
|
|
249
249
|
| `npx @dzhechkov/p-replicator verify` | Pre-shipped + post-/replicate hints (CLAUDE.md, planner.md, security.md, feature-roadmap.json, etc.) | After every `/replicate` to confirm |
|
|
250
250
|
|
|
251
251
|
**`doctor` exit codes:**
|
|
@@ -73,7 +73,7 @@ function getItemRelativePath(comp, itemKey) {
|
|
|
73
73
|
|
|
74
74
|
**Design principle:** zero shell dependency.
|
|
75
75
|
|
|
76
|
-
All
|
|
76
|
+
All 7 hook scripts are pure Node, using `execFileSync('git', [...])`
|
|
77
77
|
instead of shell pipes. This works equivalently on:
|
|
78
78
|
- Windows cmd.exe (no `2>/dev/null`, no `2>nul` — neither needed)
|
|
79
79
|
- Bash / zsh / Git Bash on Windows
|
|
@@ -111,7 +111,11 @@ try {
|
|
|
111
111
|
|
|
112
112
|
## Sync-templates: MERGE mode (v1.4.1)
|
|
113
113
|
|
|
114
|
-
**File:** `scripts/sync-templates.js` —
|
|
114
|
+
**File:** `scripts/sync-templates.js` — **not** a `prepublishOnly` hook, and not part of publishing.
|
|
115
|
+
`prepublishOnly` runs the publish gate (`scripts/prepublish-gate.mjs`); this script is opt-in only and
|
|
116
|
+
refuses to run unless the root it finds carries a `.p-replicator-sync-source` marker. The section
|
|
117
|
+
below records how its MERGE mode works, for whoever opts in — it does not describe anything that
|
|
118
|
+
happens during a normal publish.
|
|
115
119
|
|
|
116
120
|
**Goal:** copy `.claude/` from source repo into `templates/.claude/` (which
|
|
117
121
|
ends up in the npm tarball).
|
package/README/eng/README.md
CHANGED
|
@@ -6,7 +6,7 @@ product development in Claude Code (Vibe Coding).
|
|
|
6
6
|
## What it is
|
|
7
7
|
|
|
8
8
|
`p-replicator` installs a ready-made `.claude/` toolkit into any project:
|
|
9
|
-
**11 slash commands**, **10 skills**, **4 agents**, **
|
|
9
|
+
**11 slash commands**, **10 skills**, **4 agents**, **6 rules**, **7 hook
|
|
10
10
|
scripts**, and a `settings.json` with pre-configured hooks. The flagship
|
|
11
11
|
`/replicate` command takes a project through a 5-phase pipeline (Discovery →
|
|
12
12
|
Planning → Validation → Toolkit Generation → Finalize), generating SPARC
|
|
@@ -162,7 +162,7 @@ npx @dzhechkov/p-replicator verify
|
|
|
162
162
|
|
|
163
163
|
Команда проверит:
|
|
164
164
|
|
|
165
|
-
- **Pre-shipped contract** (must-have): 10 skills + 11 commands + 4 agents +
|
|
165
|
+
- **Pre-shipped contract** (must-have): 10 skills + 11 commands + 4 agents + 6 rules + settings.json
|
|
166
166
|
- **Post-/replicate hints** (advisory): CLAUDE.md, project-specific агенты,
|
|
167
167
|
feature-roadmap.json, security-правила и т.д.
|
|
168
168
|
|
|
@@ -225,7 +225,7 @@ npx @dzhechkov/p-replicator doctor
|
|
|
225
225
|
│ ├── skills/ # 10 skills
|
|
226
226
|
│ ├── commands/ # 11 slash-команд
|
|
227
227
|
│ ├── agents/ # 4 pipeline-агента
|
|
228
|
-
│ ├── rules/ #
|
|
228
|
+
│ ├── rules/ # 6 правил
|
|
229
229
|
│ ├── hooks/ # 6 Node-скриптов
|
|
230
230
|
│ └── settings.json # hooks + statusline config
|
|
231
231
|
├── .p-replicator.json # манифест установки
|
|
@@ -502,7 +502,7 @@ npx @dzhechkov/p-replicator verify
|
|
|
502
502
|
```
|
|
503
503
|
|
|
504
504
|
Должен показать:
|
|
505
|
-
- ✅ Pre-shipped contract intact (10 skills + 11 commands + 4 agents +
|
|
505
|
+
- ✅ Pre-shipped contract intact (10 skills + 11 commands + 4 agents + 6 rules + settings.json)
|
|
506
506
|
- ✅ Post-/replicate hints — для Mode 2 многие будут отсутствовать (это нормально)
|
|
507
507
|
- 📊 Per-feature artifacts: `docs/features/<id>/01_specification.md`...`05_completion.md`,
|
|
508
508
|
`validation-report.md`, `review-report.md`
|
|
@@ -83,7 +83,7 @@ P-Replicator V1.5.0 ● user │ Sonnet 4.7
|
|
|
83
83
|
🚀 Pipeline /<cmd> ▓▓▓░░░░ 50% │ Phase: VALIDATE (2/4) │ Last: /replicate
|
|
84
84
|
🎯 Roadmap [●●●○○○○○] mvp 3/8 │ Done 5/12 │ ▶ auth-jwt │ Domain: banking
|
|
85
85
|
📊 SPARC ●11/11 │ 🟢 78/100 │ Plans ●3 │ ADRs ●2 │ Harvest 2026-05-05
|
|
86
|
-
🛠️ Toolkit Skills ●10/10 │ Cmds ●11/11 │ Agents ●4+3 │ Rules ●
|
|
86
|
+
🛠️ Toolkit Skills ●10/10 │ Cmds ●11/11 │ Agents ●4+3 │ Rules ●6+2 │ Hooks ●7/7
|
|
87
87
|
💡 Insights ●12 (2026-05-06) │ Tests 85/85 ✓ │ MCP ●1/1 │ Settings ✓ │ 🧬 Keysarium ✓
|
|
88
88
|
```
|
|
89
89
|
|
|
@@ -248,7 +248,7 @@ echo ".claude/.last-test.json" >> .gitignore
|
|
|
248
248
|
|
|
249
249
|
| Инструмент | Что проверяет | Когда |
|
|
250
250
|
|---|---|---|
|
|
251
|
-
| `npx @dzhechkov/p-replicator doctor` | Pre-shipped contract: 10 skills + 11 commands + 4 agents +
|
|
251
|
+
| `npx @dzhechkov/p-replicator doctor` | Pre-shipped contract: 10 skills + 11 commands + 4 agents + 6 rules + settings.json + 7 hooks + git on PATH | После init / при подозрении что что-то сломалось |
|
|
252
252
|
| `npx @dzhechkov/p-replicator verify` | Pre-shipped + post-/replicate hints (CLAUDE.md, planner.md, security.md, feature-roadmap.json, и т.д.) | После каждого `/replicate` для уверенности |
|
|
253
253
|
|
|
254
254
|
**`doctor` exit codes:**
|
|
@@ -73,7 +73,7 @@ function getItemRelativePath(comp, itemKey) {
|
|
|
73
73
|
|
|
74
74
|
**Дизайн-принцип:** zero shell dependency.
|
|
75
75
|
|
|
76
|
-
Все
|
|
76
|
+
Все 7 hook-скриптов написаны на pure Node, используют `execFileSync('git', [...])`
|
|
77
77
|
вместо shell-pipes. Это эквивалентно работает на:
|
|
78
78
|
- Windows cmd.exe (нет `2>/dev/null`, есть `2>nul` — не нужен ни тот ни другой)
|
|
79
79
|
- Bash / zsh / Git Bash на Windows
|
package/README/ru/README.md
CHANGED
|
@@ -6,7 +6,7 @@ toolkit для AI-assisted разработки в Claude Code (Vibe Coding).
|
|
|
6
6
|
## Что это
|
|
7
7
|
|
|
8
8
|
`p-replicator` устанавливает в проект готовый набор `.claude/`-инструментов:
|
|
9
|
-
**11 slash-команд**, **10 skills**, **4 агента**, **
|
|
9
|
+
**11 slash-команд**, **10 skills**, **4 агента**, **6 правил**, **7 hook-скриптов**
|
|
10
10
|
и `settings.json` с pre-configured хуками. Главная команда `/replicate`
|
|
11
11
|
проводит проект через 5-фазный pipeline (Discovery → Planning → Validation →
|
|
12
12
|
Toolkit Generation → Finalize), генерирует SPARC-документацию и project-specific
|
|
@@ -112,7 +112,7 @@
|
|
|
112
112
|
<h1 id="dokumentatsiya-dzhechkovp-replicator">Документация @dzhechkov/p-replicator</h1>
|
|
113
113
|
<p>Полный комплект документации к npm-пакету <code>@dzhechkov/p-replicator</code> — toolkit для AI-assisted разработки в Claude Code (Vibe Coding).</p>
|
|
114
114
|
<h2 id="index-chto-eto">Что это</h2>
|
|
115
|
-
<p><code>p-replicator</code> устанавливает в проект готовый набор <code>.claude/</code>-инструментов: <strong>11 slash-команд</strong>, <strong>10 skills</strong>, <strong>4 агента</strong>, <strong>
|
|
115
|
+
<p><code>p-replicator</code> устанавливает в проект готовый набор <code>.claude/</code>-инструментов: <strong>11 slash-команд</strong>, <strong>10 skills</strong>, <strong>4 агента</strong>, <strong>6 правил</strong>, <strong>7 hook-скриптов</strong> и <code>settings.json</code> с pre-configured хуками. Главная команда <code>/replicate</code> проводит проект через 5-фазный pipeline (Discovery → Planning → Validation → Toolkit Generation → Finalize), генерирует SPARC-документацию и project-specific артефакты.</p>
|
|
116
116
|
<h2 id="index-navigatsiya">Навигация</h2>
|
|
117
117
|
<div class="table-wrap"><table><thead><tr><th>Раздел</th><th>Описание</th></tr></thead><tbody><tr><td><a href="#quickstart">01_quickstart.md</a></td><td>Установка, первый запуск, проверка</td></tr><tr><td><a href="#user-guide">02_user_guide.md</a></td><td>Все команды и workflow с примерами</td></tr><tr><td><a href="#admin-guide">03_admin_guide.md</a></td><td>Настройка hooks, settings.json, statusline, insights</td></tr><tr><td><a href="#api-reference">04_api_reference.md</a></td><td>CLI-флаги, схемы манифеста, roadmap, state</td></tr><tr><td><a href="#architecture">05_architecture.md</a></td><td>Архитектура: pre-shipped vs generated, SSOT, hooks</td></tr><tr><td><a href="#troubleshooting">06_troubleshooting.md</a></td><td>Решение типичных проблем</td></tr><tr><td><a href="#changelog">07_changelog.md</a></td><td>История версий 1.3.x → 1.5.x</td></tr></tbody></table></div>
|
|
118
118
|
<h2 id="index-yazyki">Языки</h2>
|
|
@@ -186,7 +186,7 @@ mv docs/your-arch.md docs/Architecture.md
|
|
|
186
186
|
<p>После <code>/replicate</code> выполните:</p>
|
|
187
187
|
<pre data-lang="bash"><code class="language-bash">npx @dzhechkov/p-replicator verify</code></pre>
|
|
188
188
|
<p>Команда проверит:</p>
|
|
189
|
-
<ul><li><strong>Pre-shipped contract</strong> (must-have): 10 skills + 11 commands + 4 agents +
|
|
189
|
+
<ul><li><strong>Pre-shipped contract</strong> (must-have): 10 skills + 11 commands + 4 agents + 6 rules + settings.json</li><li><strong>Post-/replicate hints</strong> (advisory): CLAUDE.md, project-specific агенты, feature-roadmap.json, security-правила и т.д.</li></ul>
|
|
190
190
|
<p>Exit code <code>0</code> означает что pre-shipped контракт цел; warnings показывают что из project-specific артефактов ещё не создано.</p>
|
|
191
191
|
<p>Альтернатива (для общей health-проверки):</p>
|
|
192
192
|
<pre data-lang="bash"><code class="language-bash">npx @dzhechkov/p-replicator doctor</code></pre>
|
|
@@ -213,7 +213,7 @@ mv docs/your-arch.md docs/Architecture.md
|
|
|
213
213
|
│ ├── skills/ # 10 skills
|
|
214
214
|
│ ├── commands/ # 11 slash-команд
|
|
215
215
|
│ ├── agents/ # 4 pipeline-агента
|
|
216
|
-
│ ├── rules/ #
|
|
216
|
+
│ ├── rules/ # 6 правил
|
|
217
217
|
│ ├── hooks/ # 6 Node-скриптов
|
|
218
218
|
│ └── settings.json # hooks + statusline config
|
|
219
219
|
├── .p-replicator.json # манифест установки
|
|
@@ -429,7 +429,7 @@ claude
|
|
|
429
429
|
<p>После <code>/feature</code> (или <code>/run</code>) запустите:</p>
|
|
430
430
|
<pre data-lang="bash"><code class="language-bash">npx @dzhechkov/p-replicator verify</code></pre>
|
|
431
431
|
<p>Должен показать:</p>
|
|
432
|
-
<ul><li>✅ Pre-shipped contract intact (10 skills + 11 commands + 4 agents +
|
|
432
|
+
<ul><li>✅ Pre-shipped contract intact (10 skills + 11 commands + 4 agents + 6 rules + settings.json)</li><li>✅ Post-/replicate hints — для Mode 2 многие будут отсутствовать (это нормально)</li><li>📊 Per-feature artifacts: <code>docs/features/<id>/01_specification.md</code>...<code>05_completion.md</code>, <code>validation-report.md</code>, <code>review-report.md</code></li></ul>
|
|
433
433
|
<h4 id="user-guide-future-enhancement-m3-v-knownlimitations">Future enhancement (M3 в KNOWN_LIMITATIONS)</h4>
|
|
434
434
|
<p><code>docPaths</code> config в <code>.p-replicator.json</code> для нестандартных путей доков — в roadmap'е. Tier S effort, чисто config + spec-read изменения, без изменений CLI-кода.</p>
|
|
435
435
|
<hr>
|
|
@@ -551,7 +551,7 @@ Set DATABASE_URL_SHADOW env var explicitly to a separate database.
|
|
|
551
551
|
🚀 Pipeline /<cmd> ▓▓▓░░░░ 50% │ Phase: VALIDATE (2/4) │ Last: /replicate
|
|
552
552
|
🎯 Roadmap [●●●○○○○○] mvp 3/8 │ Done 5/12 │ ▶ auth-jwt │ Domain: banking
|
|
553
553
|
📊 SPARC ●11/11 │ 🟢 78/100 │ Plans ●3 │ ADRs ●2 │ Harvest 2026-05-05
|
|
554
|
-
🛠️ Toolkit Skills ●10/10 │ Cmds ●11/11 │ Agents ●4+3 │ Rules ●
|
|
554
|
+
🛠️ Toolkit Skills ●10/10 │ Cmds ●11/11 │ Agents ●4+3 │ Rules ●6+2 │ Hooks ●7/7
|
|
555
555
|
💡 Insights ●12 (2026-05-06) │ Tests 85/85 ✓ │ MCP ●1/1 │ Settings ✓ │ 🧬 Keysarium ✓</code></pre>
|
|
556
556
|
<p><strong>Источники (heuristic + state-file):</strong></p>
|
|
557
557
|
<div class="table-wrap"><table><thead><tr><th>Метрика</th><th>Откуда</th></tr></thead><tbody><tr><td>Pipeline command + phase + progress</td><td><code>.claude/.p-replicator-state.json</code> (state-file)</td></tr><tr><td>Roadmap progress</td><td><code>.claude/feature-roadmap.json</code></td></tr><tr><td>SPARC count</td><td><code>docs/{PRD,Architecture,...}.md</code> files</td></tr><tr><td>Validation score</td><td>regex extract from <code>docs/validation-report.md</code></td></tr><tr><td>Plans count</td><td><code>docs/plans/*.md</code></td></tr><tr><td>ADRs count</td><td><code>docs/ADR.md</code> <code>## ADR-...</code> headings, или <code>docs/adr/*.md</code>, или <code>docs/ddd/adr/*.md</code></td></tr><tr><td>Insights count + last date</td><td><code>## YYYY-MM-DD</code> headings в <code>.claude/insights/index.md</code></td></tr><tr><td>Toolkit counts</td><td>filesystem walk <code>.claude/{skills,commands,agents,rules,hooks}/</code></td></tr><tr><td>Settings status</td><td>deep-equals current vs <code>manifest.shippedDefaults</code> → <code>defaults</code>/<code>merged</code></td></tr><tr><td>MCP servers</td><td><code>.mcp.json</code></td></tr><tr><td>Domain</td><td>keyword grep <code>CLAUDE.md</code> (banking/retail/enterprise/healthcare)</td></tr><tr><td>Last harvest</td><td><code>TOOLKIT_HARVEST.md</code> mtime</td></tr><tr><td>Last test</td><td>optional <code>.claude/.last-test.json</code> cache</td></tr></tbody></table></div>
|
|
@@ -638,7 +638,7 @@ echo ".claude/.last-test.json" >> .gitignore</code></pre>
|
|
|
638
638
|
<p><strong>Auto-commit</strong> через <code>autocommit-roadmap.cjs</code> (Stop hook) при изменениях.</p>
|
|
639
639
|
<hr>
|
|
640
640
|
<h2 id="admin-guide-doctor-verify-dva-raznyh-instrumenta">Doctor + Verify — два разных инструмента</h2>
|
|
641
|
-
<div class="table-wrap"><table><thead><tr><th>Инструмент</th><th>Что проверяет</th><th>Когда</th></tr></thead><tbody><tr><td><code>npx @dzhechkov/p-replicator doctor</code></td><td>Pre-shipped contract: 10 skills + 11 commands + 4 agents +
|
|
641
|
+
<div class="table-wrap"><table><thead><tr><th>Инструмент</th><th>Что проверяет</th><th>Когда</th></tr></thead><tbody><tr><td><code>npx @dzhechkov/p-replicator doctor</code></td><td>Pre-shipped contract: 10 skills + 11 commands + 4 agents + 6 rules + settings.json + 7 hooks + git on PATH</td><td>После init / при подозрении что что-то сломалось</td></tr><tr><td><code>npx @dzhechkov/p-replicator verify</code></td><td>Pre-shipped + post-/replicate hints (CLAUDE.md, planner.md, security.md, feature-roadmap.json, и т.д.)</td><td>После каждого <code>/replicate</code> для уверенности</td></tr></tbody></table></div>
|
|
642
642
|
<p><strong><code>doctor</code> exit codes:</strong></p>
|
|
643
643
|
<ul><li><code>0</code> — всё в порядке</li><li><code>1</code> — что-то отсутствует из must-have (используйте <code>init --force</code> для repair)</li></ul>
|
|
644
644
|
<p><strong><code>verify</code> exit codes:</strong></p>
|
|
@@ -914,7 +914,7 @@ npx @dzhechkov/p-replicator@latest init --force --reset-settings</code></pre>
|
|
|
914
914
|
<hr>
|
|
915
915
|
<h2 id="architecture-cross-platform-hooks-v141">Cross-platform hooks (v1.4.1)</h2>
|
|
916
916
|
<p><strong>Дизайн-принцип:</strong> zero shell dependency.</p>
|
|
917
|
-
<p>Все
|
|
917
|
+
<p>Все 7 hook-скриптов написаны на pure Node, используют <code>execFileSync('git', [...])</code> вместо shell-pipes. Это эквивалентно работает на:</p>
|
|
918
918
|
<ul><li>Windows cmd.exe (нет <code>2>/dev/null</code>, есть <code>2>nul</code> — не нужен ни тот ни другой)</li><li>Bash / zsh / Git Bash на Windows</li><li>PowerShell</li></ul>
|
|
919
919
|
<p><strong>Pattern для autocommit-скрипта:</strong></p>
|
|
920
920
|
<pre data-lang="javascript"><code class="language-javascript">const fs = require('node:fs');
|
package/README.md
CHANGED
|
@@ -30,9 +30,11 @@
|
|
|
30
30
|
> [`@dzhechkov/harness-cli`](https://www.npmjs.com/package/@dzhechkov/harness-cli) is on PATH, the
|
|
31
31
|
> bundled research skill recalls prior METHOD lessons at the start of an investigation and records new
|
|
32
32
|
> ones at four named moments. Without it the skill behaves exactly as before and says so once — it is
|
|
33
|
-
> detected, never required.
|
|
34
|
-
>
|
|
35
|
-
>
|
|
33
|
+
> detected, never required. Lessons go to a SEPARATE store (`<project>/.health-brain/.dz`) and never
|
|
34
|
+
> to the shared one; recall reads both, so engineering lessons transfer in and medical ones do not
|
|
35
|
+
> leave. A format check refuses identifier shapes (email, phone, record numbers) — it does NOT judge
|
|
36
|
+
> whether a lesson describes a method or a person, and says so: that judgement is the agent's, per
|
|
37
|
+
> the teach protocol. See `skills/goap-research-ed25519/SKILL.md`.
|
|
36
38
|
|
|
37
39
|
## 📚 Documentation in your language
|
|
38
40
|
|
|
@@ -99,7 +101,7 @@
|
|
|
99
101
|
|
|
100
102
|
## 📖 What is p-replicator?
|
|
101
103
|
|
|
102
|
-
`@dzhechkov/p-replicator` installs a ready-made `.claude/` toolkit into any project: **11 slash commands**, **10 skills**, **4 agents**, **
|
|
104
|
+
`@dzhechkov/p-replicator` installs a ready-made `.claude/` toolkit into any project: **11 slash commands**, **10 skills**, **4 agents**, **6 rules**, **7 hook scripts**, and a `settings.json` with pre-configured hooks and a multi-line statusline dashboard.
|
|
103
105
|
|
|
104
106
|
The flagship `/replicate` command takes a project through a **5-phase pipeline**:
|
|
105
107
|
|
|
@@ -288,7 +290,7 @@ This creates:
|
|
|
288
290
|
| **Commands** | 11 | `/replicate`, `/harvest`, `/start`, `/plan`, `/feature`, `/go`, `/run`, `/next`, `/myinsights`, `/docs`, `/deploy` |
|
|
289
291
|
| **Agents** | 4 | `replicate-coordinator`, `product-discoverer`, `doc-validator`, `harvest-coordinator` |
|
|
290
292
|
| **Rules** | 5 | `replicate-pipeline`, `skill-interface-protocol`, `git-workflow`, `insights-capture`, `feature-lifecycle` |
|
|
291
|
-
| **Hooks** |
|
|
293
|
+
| **Hooks** | 7 | `session-insights`, `autocommit-{roadmap,insights,plans}`, `statusline`, `state-update`, `check-ports` (cross-platform Node) |
|
|
292
294
|
| **Settings** | 1 | `settings.json` with statusLine + SessionStart + Stop hooks pre-configured |
|
|
293
295
|
|
|
294
296
|
After running `/replicate`, the toolkit also generates **project-specific** artifacts:
|
|
@@ -314,7 +316,7 @@ npx @dzhechkov/p-replicator verify
|
|
|
314
316
|
|
|
315
317
|
The command checks:
|
|
316
318
|
|
|
317
|
-
- **Pre-shipped contract** (must-have): 10 skills + 11 commands + 4 agents +
|
|
319
|
+
- **Pre-shipped contract** (must-have): 10 skills + 11 commands + 4 agents + 6 rules + settings.json + 7 hooks
|
|
318
320
|
- **Post-/replicate hints** (advisory): CLAUDE.md, project-specific agents, feature-roadmap.json, security rules, etc.
|
|
319
321
|
|
|
320
322
|
**Exit codes:**
|
|
@@ -358,6 +360,14 @@ Generates 11 standardized documents in `docs/`:
|
|
|
358
360
|
| `C4_Diagrams.md` | Context / container / component |
|
|
359
361
|
| `ADR.md` | Architecture Decision Records |
|
|
360
362
|
|
|
363
|
+
> **ADR detection reads BOTH storage shapes.** `/replicate` writes every decision into one
|
|
364
|
+
> `docs/ADR.md`, while an idea2prd-manual project keeps a `docs/adr/*.md` directory. Since 1.5.19 the
|
|
365
|
+
> toolkit generator's scanner normalizes both into one decision list, so the ADR-driven parts of the
|
|
366
|
+
> generated toolkit (architect skill weighting, security boosts, tech-stack extraction, CLAUDE.md key
|
|
367
|
+
> decisions) work for `/replicate` projects too. Before 1.5.19 the scanner required a directory of
|
|
368
|
+
> more than five files, so for every `/replicate` project the flag was unreachable and those parts
|
|
369
|
+
> silently produced nothing.
|
|
370
|
+
|
|
361
371
|
Skill: `sparc-prd-mini` (internally chains explore + research + solve sub-phases).
|
|
362
372
|
|
|
363
373
|
### Phase 2 — Validation (5-agent swarm)
|
|
@@ -662,7 +672,7 @@ P-Replicator V1.5.x ● user │ Sonnet 4.7
|
|
|
662
672
|
🚀 Pipeline /<cmd> ▓▓▓░░░░ 50% │ Phase: VALIDATE (2/4) │ Last: /replicate
|
|
663
673
|
🎯 Roadmap [●●●○○○○○] mvp 3/8 │ Done 5/12 │ ▶ auth-jwt │ Domain: banking
|
|
664
674
|
📊 SPARC ●11/11 │ 🟢 78/100 │ Plans ●3 │ ADRs ●2 │ Harvest 2026-05-05
|
|
665
|
-
🛠️ Toolkit Skills ●10/10 │ Cmds ●11/11 │ Agents ●4+3 │ Rules ●
|
|
675
|
+
🛠️ Toolkit Skills ●10/10 │ Cmds ●11/11 │ Agents ●4+3 │ Rules ●6+2 │ Hooks ●7/7
|
|
666
676
|
💡 Insights ●12 (2026-05-06) │ Tests 85/85 ✓ │ MCP ●1/1 │ Settings ✓ │ 🧬 Keysarium ✓
|
|
667
677
|
```
|
|
668
678
|
|
|
@@ -732,7 +742,7 @@ All 4 autocommit scripts use `execFileSync('git', [...])` (no shell pipes, no `2
|
|
|
732
742
|
Updated via `state-update.cjs`:
|
|
733
743
|
|
|
734
744
|
```bash
|
|
735
|
-
node
|
|
745
|
+
node "${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/state-update.cjs" \
|
|
736
746
|
--command /feature \
|
|
737
747
|
--phase VALIDATE \
|
|
738
748
|
--index 2 \
|
|
@@ -878,14 +888,14 @@ Default structure after `init`:
|
|
|
878
888
|
"_comment": "Default hooks + statusline shipped by @dzhechkov/p-replicator init.",
|
|
879
889
|
"statusLine": {
|
|
880
890
|
"type": "command",
|
|
881
|
-
"command": "node
|
|
891
|
+
"command": "node \"${CLAUDE_PROJECT_DIR}/.claude/hooks/statusline.cjs\""
|
|
882
892
|
},
|
|
883
893
|
"hooks": {
|
|
884
894
|
"SessionStart": [
|
|
885
895
|
{
|
|
886
896
|
"matcher": "*",
|
|
887
897
|
"hooks": [
|
|
888
|
-
{ "type": "command", "command": "node
|
|
898
|
+
{ "type": "command", "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/hooks/session-insights.cjs\"", "timeout": 5 }
|
|
889
899
|
]
|
|
890
900
|
}
|
|
891
901
|
],
|
|
@@ -893,9 +903,9 @@ Default structure after `init`:
|
|
|
893
903
|
{
|
|
894
904
|
"matcher": "*",
|
|
895
905
|
"hooks": [
|
|
896
|
-
{ "type": "command", "command": "node
|
|
897
|
-
{ "type": "command", "command": "node
|
|
898
|
-
{ "type": "command", "command": "node
|
|
906
|
+
{ "type": "command", "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/hooks/autocommit-roadmap.cjs\"", "timeout": 10 },
|
|
907
|
+
{ "type": "command", "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/hooks/autocommit-insights.cjs\"", "timeout": 10 },
|
|
908
|
+
{ "type": "command", "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/hooks/autocommit-plans.cjs\"", "timeout": 10 }
|
|
899
909
|
]
|
|
900
910
|
}
|
|
901
911
|
]
|
|
@@ -903,6 +913,19 @@ Default structure after `init`:
|
|
|
903
913
|
}
|
|
904
914
|
```
|
|
905
915
|
|
|
916
|
+
**Why `${CLAUDE_PROJECT_DIR}` and not a relative path:** a relative path resolves against the process
|
|
917
|
+
working directory, which drifts — one `cd` inside a tool call moves it for the rest of the session, and
|
|
918
|
+
the hook then dies with `MODULE_NOT_FOUND`. Because hooks are non-blocking, the session continues and
|
|
919
|
+
your roadmap silently stops being committed. Claude Code sets `CLAUDE_PROJECT_DIR` to the project root
|
|
920
|
+
and rewrites this exact braced form for PowerShell, so it works on every platform.
|
|
921
|
+
|
|
922
|
+
The hook scripts anchor their DATA the same way, and fall back to their own location
|
|
923
|
+
(`__dirname/../..`) when the variable is absent — so a hand-run works too. That fallback is why the
|
|
924
|
+
shell examples elsewhere in this README use `${CLAUDE_PROJECT_DIR:-.}`: in a plain terminal the
|
|
925
|
+
variable is unset, and `:-.` keeps the example working. Do **not** use the `:-.` form inside
|
|
926
|
+
`settings.json` — Claude Code's PowerShell rewrite matches only the bare `${CLAUDE_PROJECT_DIR}`
|
|
927
|
+
token, so `:-.` would leave a POSIX-only construct in a file that must work on every platform.
|
|
928
|
+
|
|
906
929
|
**Customization:** add new hooks or event types — preserved on `init --force` or `update` thanks to merge logic.
|
|
907
930
|
|
|
908
931
|
**Disable individual default hooks:** delete from `settings.json` after `init`. The deletion is preserved on next `update` (orphan detection only removes hooks **previously shipped** but absent in **new** template — your manual deletion is a user customization).
|
|
@@ -1010,13 +1033,13 @@ Checks:
|
|
|
1010
1033
|
3. Script runs directly:
|
|
1011
1034
|
|
|
1012
1035
|
```bash
|
|
1013
|
-
node
|
|
1036
|
+
node "${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/statusline.cjs"
|
|
1014
1037
|
```
|
|
1015
1038
|
|
|
1016
1039
|
Should print 6 lines of ANSI output. If it errors:
|
|
1017
1040
|
|
|
1018
1041
|
```bash
|
|
1019
|
-
node
|
|
1042
|
+
node "${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/statusline.cjs" 2>&1
|
|
1020
1043
|
```
|
|
1021
1044
|
|
|
1022
1045
|
Likely cause: corrupt JSON or missing `.p-replicator.json`.
|
|
@@ -1036,7 +1059,7 @@ git rev-parse --git-dir
|
|
|
1036
1059
|
Debug a specific hook:
|
|
1037
1060
|
|
|
1038
1061
|
```bash
|
|
1039
|
-
node
|
|
1062
|
+
node "${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/autocommit-roadmap.cjs"
|
|
1040
1063
|
echo "Exit: $?"
|
|
1041
1064
|
git log -1 --format="%s"
|
|
1042
1065
|
```
|
|
@@ -1101,7 +1124,7 @@ Checks:
|
|
|
1101
1124
|
1. `.claude/insights/index.md` exists with entries?
|
|
1102
1125
|
2. Hook works:
|
|
1103
1126
|
```bash
|
|
1104
|
-
node
|
|
1127
|
+
node "${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/session-insights.cjs" # should print recent insights
|
|
1105
1128
|
```
|
|
1106
1129
|
3. SessionStart hook configured in `settings.json`?
|
|
1107
1130
|
|
|
@@ -1110,7 +1133,7 @@ If all 3 OK but still nothing — Claude Code may cache. Restart `claude`.
|
|
|
1110
1133
|
### Statusline lags on every command
|
|
1111
1134
|
|
|
1112
1135
|
```bash
|
|
1113
|
-
time node
|
|
1136
|
+
time node "${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/statusline.cjs" # how many seconds?
|
|
1114
1137
|
```
|
|
1115
1138
|
|
|
1116
1139
|
Should be < 100ms. If > 1s, check `docs/` size:
|
package/bin/cli.js
CHANGED
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dzhechkov/p-replicator",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.6.0",
|
|
4
4
|
"description": "P-Replicator — Claude Code toolkit for AI-assisted product development (Vibe Coding). Full /replicate pipeline, 10 modular skills (880K+ chars), /harvest knowledge extraction, swarm agents, quality gates, security patterns, cross-project learning.",
|
|
5
5
|
"main": "src/cli.js",
|
|
6
6
|
"bin": {
|
|
@@ -18,6 +18,15 @@
|
|
|
18
18
|
".dz-manifest.json",
|
|
19
19
|
"sbom.json"
|
|
20
20
|
],
|
|
21
|
+
"scripts": {
|
|
22
|
+
"prepublishOnly": "node ../../../scripts/prepublish-gate.mjs",
|
|
23
|
+
"test": "node --test tests/unit/utils.test.js tests/unit/adr-scanner-contract.test.js tests/unit/sparc-reconciliation.test.js tests/unit/pipeline-file-ownership.test.js tests/unit/validation-gate-teeth.test.js tests/unit/hooks-project-anchored.test.js tests/unit/statusline-two-roots.test.js tests/unit/external-dependency-check.test.js tests/unit/spec-pseudocode-traceability.test.js tests/unit/sync-templates-guard.test.js tests/unit/db-port-rule.test.js tests/unit/roadmap-one-schema.test.js tests/unit/hooks-report-failures.test.js tests/unit/growth-module-b2b-gate.test.js tests/unit/detect-parse-anchor.test.js tests/unit/statusline-honest-labels.test.js tests/unit/autocommit-deletion.test.js tests/unit/check-ports.test.js tests/unit/adr-decision-coverage.test.js tests/e2e/lifecycle.test.js tests/snapshot/templates.test.js",
|
|
24
|
+
"test:unit": "node --test tests/unit/utils.test.js tests/unit/adr-scanner-contract.test.js tests/unit/sparc-reconciliation.test.js tests/unit/pipeline-file-ownership.test.js tests/unit/validation-gate-teeth.test.js tests/unit/hooks-project-anchored.test.js tests/unit/statusline-two-roots.test.js tests/unit/external-dependency-check.test.js tests/unit/spec-pseudocode-traceability.test.js tests/unit/sync-templates-guard.test.js tests/unit/db-port-rule.test.js tests/unit/roadmap-one-schema.test.js tests/unit/hooks-report-failures.test.js tests/unit/growth-module-b2b-gate.test.js tests/unit/detect-parse-anchor.test.js tests/unit/statusline-honest-labels.test.js tests/unit/autocommit-deletion.test.js tests/unit/check-ports.test.js tests/unit/adr-decision-coverage.test.js",
|
|
25
|
+
"test:e2e": "node --test tests/e2e/lifecycle.test.js",
|
|
26
|
+
"test:snapshot": "node --test tests/snapshot/templates.test.js",
|
|
27
|
+
"test:doctor": "node bin/cli.js doctor",
|
|
28
|
+
"snapshot:baseline": "node tests/snapshot/update-baseline.js"
|
|
29
|
+
},
|
|
21
30
|
"keywords": [
|
|
22
31
|
"claude",
|
|
23
32
|
"claude-code",
|
|
@@ -70,13 +79,5 @@
|
|
|
70
79
|
},
|
|
71
80
|
"publishConfig": {
|
|
72
81
|
"access": "public"
|
|
73
|
-
},
|
|
74
|
-
"scripts": {
|
|
75
|
-
"test": "node --test tests/unit/utils.test.js tests/e2e/lifecycle.test.js tests/snapshot/templates.test.js",
|
|
76
|
-
"test:unit": "node --test tests/unit/utils.test.js",
|
|
77
|
-
"test:e2e": "node --test tests/e2e/lifecycle.test.js",
|
|
78
|
-
"test:snapshot": "node --test tests/snapshot/templates.test.js",
|
|
79
|
-
"test:doctor": "node bin/cli.js doctor",
|
|
80
|
-
"snapshot:baseline": "node tests/snapshot/update-baseline.js"
|
|
81
82
|
}
|
|
82
|
-
}
|
|
83
|
+
}
|