@dzhechkov/p-replicator 1.5.6 → 1.5.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.
@@ -0,0 +1,353 @@
1
+ # 06. Troubleshooting
2
+
3
+ Common issues and resolutions.
4
+
5
+ ## Installation / `init`
6
+
7
+ ### `init` refuses: "P-Replicator is already installed"
8
+
9
+ ```bash
10
+ # To upgrade preserving customizations:
11
+ npx @dzhechkov/p-replicator update
12
+
13
+ # Or via init --force (also preserves customizations):
14
+ npx @dzhechkov/p-replicator init --force
15
+
16
+ # Full reset to defaults (loses user hooks):
17
+ npx @dzhechkov/p-replicator init --force --reset-settings
18
+ ```
19
+
20
+ ### Missing files after `init`
21
+
22
+ ```bash
23
+ npx @dzhechkov/p-replicator doctor
24
+ ```
25
+
26
+ If anything fails (e.g., "security.md missing"):
27
+
28
+ ```bash
29
+ npx @dzhechkov/p-replicator init --force # full pre-shipped reinstall
30
+ ```
31
+
32
+ ### Install went to `~/node_modules` instead of project
33
+
34
+ Cause: no `package.json` in your project, npm walks up and finds one in
35
+ home directory.
36
+
37
+ Fix: create `package.json` in project root:
38
+
39
+ ```bash
40
+ npm init -y
41
+ npx @dzhechkov/p-replicator init
42
+ ```
43
+
44
+ ---
45
+
46
+ ## After `/replicate`
47
+
48
+ ### `/replicate` didn't generate expected commands (`/run`, `/feature`, `/myinsights`, ...)
49
+
50
+ **This is solved in v1.4.0+.** All 11 generic commands are now **pre-shipped**
51
+ via `init` — `/replicate` Phase 3 doesn't generate them, only enhances
52
+ project-specific artifacts.
53
+
54
+ If you're on an old version (≤1.3.x):
55
+
56
+ ```bash
57
+ npx @dzhechkov/p-replicator@latest init --force
58
+ ```
59
+
60
+ After upgrade, `verify` will show the full set:
61
+
62
+ ```bash
63
+ npx @dzhechkov/p-replicator verify
64
+ ```
65
+
66
+ ### `/replicate` Phase 3 says "Generate /commands/start.md"
67
+
68
+ Stale phrasing in `replicate.md`. Should read "Pre-shipped... do NOT
69
+ overwrite". If you see this:
70
+
71
+ ```bash
72
+ npx @dzhechkov/p-replicator@latest update # updates replicate.md
73
+ ```
74
+
75
+ In v1.4.0+ a meta-test catches this regression. See
76
+ `tests/e2e/lifecycle.test.js` describe `meta: doc-consistency`.
77
+
78
+ ### Project-specific agents (planner.md, architect.md) not created
79
+
80
+ Normal if `/replicate` Phase 3 hasn't run yet. Run `/replicate "description"`
81
+ in Claude Code.
82
+
83
+ `verify` shows them as **hints** (warning, not error) when `CLAUDE.md` or
84
+ `feature-roadmap.json` exists but agents are absent.
85
+
86
+ ---
87
+
88
+ ## Hooks / Statusline
89
+
90
+ ### Statusline doesn't appear
91
+
92
+ **Checks:**
93
+
94
+ 1. Does your Claude Code version support `statusLine` config? Update Claude Code.
95
+ 2. Is `statusLine` field present in `.claude/settings.json`?
96
+ ```bash
97
+ cat .claude/settings.json | grep -A 3 statusLine
98
+ ```
99
+ 3. Does the script run directly?
100
+ ```bash
101
+ node .claude/hooks/statusline.cjs
102
+ ```
103
+ Should print 6 lines of ANSI output.
104
+
105
+ If point 3 fails:
106
+
107
+ ```bash
108
+ node .claude/hooks/statusline.cjs 2>&1
109
+ ```
110
+
111
+ Shows stack trace. Likely corrupt JSON or missing `.p-replicator.json`.
112
+
113
+ ### Hooks aren't auto-committing
114
+
115
+ ```bash
116
+ npx @dzhechkov/p-replicator doctor
117
+ ```
118
+
119
+ In `Prerequisites:` section, expect:
120
+
121
+ ```
122
+ ✓ git on PATH
123
+ ```
124
+
125
+ If `✗ git NOT on PATH` — install git, add to PATH.
126
+
127
+ Also verify `.git` directory exists (you're in a repo):
128
+
129
+ ```bash
130
+ git rev-parse --git-dir
131
+ ```
132
+
133
+ ### Hooks run but don't commit anything
134
+
135
+ **Cause:** `.git` exists but no changes to commit (which is normal).
136
+
137
+ **Debug** directly:
138
+
139
+ ```bash
140
+ node .claude/hooks/autocommit-roadmap.cjs
141
+ echo "Exit: $?"
142
+ git log -1 --format="%s"
143
+ ```
144
+
145
+ If a file isn't tracked by git, do `git add .claude/feature-roadmap.json`
146
+ manually once.
147
+
148
+ ### Statusline shows "Settings ⚠️ merged" but I didn't change anything
149
+
150
+ Cause: some process modified `settings.json` (formatting, whitespace,
151
+ ordering). Statusline compares via deep-equals on sorted keys.
152
+
153
+ Fix:
154
+
155
+ ```bash
156
+ npx @dzhechkov/p-replicator init --force --reset-settings
157
+ ```
158
+
159
+ ### Settings.json lost my custom hooks after update
160
+
161
+ **This WAS a bug pre-v1.4.2.** In v1.4.2+, `update` and `init --force` use
162
+ `mergeSettingsJson` which preserves user customizations.
163
+
164
+ If you're on v1.4.1 or earlier:
165
+
166
+ ```bash
167
+ npx @dzhechkov/p-replicator@latest update
168
+ ```
169
+
170
+ If you've irrecoverably lost hooks — restore from git history:
171
+
172
+ ```bash
173
+ git log -p --follow -- .claude/settings.json
174
+ ```
175
+
176
+ ---
177
+
178
+ ## Roadmap / `--feature-branches`
179
+
180
+ ### `/run --feature-branches` immediately fails "not on main"
181
+
182
+ Cause: you're on a feature branch (not main).
183
+
184
+ ```bash
185
+ git status
186
+ git checkout main # switch to main
187
+ /run mvp --feature-branches
188
+ ```
189
+
190
+ ### `--feature-branches` lost my unsaved changes
191
+
192
+ They're in stash:
193
+
194
+ ```bash
195
+ git stash list # list stashes
196
+ git stash show stash@{0} # preview
197
+ git stash pop # restore (or git stash drop to discard)
198
+ ```
199
+
200
+ `p-replicator` auto-stashes with message "auto-stash before /run feature-branches".
201
+
202
+ ### Feature branch without `number` in roadmap
203
+
204
+ Cause: roadmap created pre-v1.5.0 (no `number` field).
205
+
206
+ `--feature-branches` flag auto-assigns `number = max(numbers) + 1` on first
207
+ encounter, persists back. Just run `/run mvp --feature-branches` again —
208
+ numbers fill in.
209
+
210
+ ---
211
+
212
+ ## Tests / Snapshot
213
+
214
+ ### `npm test` fails after my template changes
215
+
216
+ ```bash
217
+ npm test 2>&1 | head -30 # see which tests fail
218
+ ```
219
+
220
+ Common causes:
221
+
222
+ 1. **Snapshot test fails** — templates changed, baseline outdated.
223
+ ```bash
224
+ npm run snapshot:baseline # regenerate
225
+ npm test # should be green
226
+ ```
227
+
228
+ 2. **Meta-test fails** — `replicate-pipeline.md` or `replicate.md` mention
229
+ pre-shipped command in wrong section. Review your edits.
230
+
231
+ 3. **Unit test fails on COMPONENTS** — broke SSOT. Check that you added
232
+ `kind`, `items`, `label` to the new component group.
233
+
234
+ ### `verify` shows orphans post-init
235
+
236
+ Cause: you upgraded from an old version (≤1.4.2) that didn't track
237
+ `shippedDefaults`. Orphan detection skipped on first upgrade.
238
+
239
+ Fix:
240
+
241
+ ```bash
242
+ npx @dzhechkov/p-replicator init --force # populate shippedDefaults in manifest
243
+ npx @dzhechkov/p-replicator init --force # second pass removes real orphans (if any)
244
+ ```
245
+
246
+ After this, orphan detection works on every subsequent upgrade.
247
+
248
+ ---
249
+
250
+ ## Insights
251
+
252
+ ### Insights aren't auto-injected into new sessions
253
+
254
+ **Checks:**
255
+
256
+ 1. Does `.claude/insights/index.md` exist with entries?
257
+ ```bash
258
+ wc -l .claude/insights/index.md
259
+ grep -c "^## " .claude/insights/index.md # entry count
260
+ ```
261
+ 2. Does the `session-insights.cjs` hook work?
262
+ ```bash
263
+ node .claude/hooks/session-insights.cjs
264
+ ```
265
+ Should print `## Recent project insights\n\n## ... ## ... ## ...`.
266
+ 3. Is the SessionStart hook configured?
267
+ ```bash
268
+ cat .claude/settings.json | grep -A 5 SessionStart
269
+ ```
270
+
271
+ If all 3 are OK but still nothing — Claude Code may cache session context.
272
+ Restart `claude`.
273
+
274
+ ### `/myinsights recall <query>` finds nothing
275
+
276
+ Cause: query doesn't match tags. Recall is case-insensitive substring
277
+ search across tags + body.
278
+
279
+ Tip: check entry tags:
280
+
281
+ ```bash
282
+ grep "^\*\*Tags:" .claude/insights/index.md | head -10
283
+ ```
284
+
285
+ Use a more specific query (e.g., `prisma` instead of `bug`).
286
+
287
+ ---
288
+
289
+ ## MCP servers
290
+
291
+ ### MCP servers don't connect
292
+
293
+ This is outside `p-replicator` scope — it's Claude Code config. Check:
294
+
295
+ ```bash
296
+ cat .mcp.json # format correct?
297
+ claude --debug # MCP errors in logs?
298
+ ```
299
+
300
+ Statusline shows server count from `.mcp.json` regardless of working state.
301
+
302
+ ---
303
+
304
+ ## Performance
305
+
306
+ ### Statusline lags on every command
307
+
308
+ **Cause:** very large `docs/` or filesystem trees.
309
+
310
+ **Diagnose:**
311
+
312
+ ```bash
313
+ time node .claude/hooks/statusline.cjs # how many seconds?
314
+ ```
315
+
316
+ Should be < 100ms. If > 1s, check `docs/` size:
317
+
318
+ ```bash
319
+ du -sh docs/
320
+ find docs/ -type f -name "*.md" | wc -l
321
+ ```
322
+
323
+ **Workaround:** temporarily disable statusline by removing the
324
+ `statusLine` field in `.claude/settings.json`.
325
+
326
+ See `KNOWN_LIMITATIONS.md` item L6 — future enhancement: env var
327
+ `STATUSLINE_PROFILE=1` for per-section measurements.
328
+
329
+ ---
330
+
331
+ ## Version incompatibilities
332
+
333
+ ### I'm on an old version. Should I upgrade?
334
+
335
+ | Current → Target | What you get | Migration cost |
336
+ |---|---|---|
337
+ | 1.3.x → 1.5.0 | All pre-shipped commands + statusline + feature-branches + merge logic | Run `init --force` (preserves customizations) |
338
+ | 1.4.0 → 1.4.1 | Cross-platform hooks + sync merge mode | `init --force` |
339
+ | 1.4.1 → 1.4.2 | Settings merge (preserve customizations) | `init --force` is safe (preserves) |
340
+ | 1.4.2 → 1.4.3 | Orphan detection | First upgrade lacks baseline — re-run `init --force` to populate |
341
+ | 1.4.3 → 1.5.0 | Statusline + --feature-branches | `update` or `init --force` |
342
+
343
+ Full history — in [07_changelog.md](./07_changelog.md) or `CHANGELOG.md`
344
+ (authoritative).
345
+
346
+ ---
347
+
348
+ ## When all else fails
349
+
350
+ 1. Read `KNOWN_LIMITATIONS.md` — might be a known limitation
351
+ 2. Run `verify` + `doctor` — collect exact output
352
+ 3. File issue: https://github.com/dzhechko/pu-unicorn-replicate/issues
353
+ include: version, `verify` output, repro steps
@@ -0,0 +1,134 @@
1
+ # 07. Changelog (concise)
2
+
3
+ Per-release evolution. Full details — in `../../CHANGELOG.md` (authoritative).
4
+
5
+ ## v1.5.0 — 2026-05-07
6
+
7
+ **Two features + 12 new tests.**
8
+
9
+ - ✨ **Statusline dashboard** (RuFlo-style 6-line multi-line status bar) via
10
+ `templates/.claude/hooks/statusline.cjs`
11
+ - ✨ **`--feature-branches` flag** for `/run` and `/go` (teaching/demo workflow:
12
+ each feature on its own branch `feature/{NNN}-{id}`)
13
+ - 🆕 `state-update.cjs` — argv-driven helper for pipeline commands to publish progress
14
+ - 🆕 Roadmap schema extended: `number` (auto-assigned), `branch` (populated when done)
15
+ - 🆕 `--auto-merge` companion flag (off by default)
16
+ - 📊 105 tests / 36 suites / 113 → 115 files in snapshot baseline
17
+
18
+ ## v1.4.3 — 2026-05-07
19
+
20
+ **Orphan hook detection.**
21
+
22
+ - 🐛 **Closed last v1.4.2 limitation:** `mergeSettingsJson` now cleans hooks
23
+ shipped previously but removed in newer template
24
+ - 🆕 `manifest.shippedDefaults['settings.json']` — baseline for orphan detection
25
+ - 🆕 `removeOrphanHooks(existing, oldTpl, newTpl)` helper
26
+ - 🐛 **Bonus fix:** `update.js` now also uses merge logic (was a bug: blindly
27
+ overwrote settings.json)
28
+ - 📊 93 tests, +8 from v1.4.2
29
+
30
+ ## v1.4.2 — 2026-05-06
31
+
32
+ **3 v1.4.1 limitations resolved.**
33
+
34
+ - 🐛 `init --force` now MERGES settings.json (preserves user customizations)
35
+ - 🆕 `--reset-settings` flag for explicit nuclear-overwrite
36
+ - 🐛 Stronger meta-test for `replicate.md` drift (multi-axis: verbs +
37
+ section-scope + list-style + allowlist)
38
+ - 🆕 `doctor` checks `git on PATH` (Prerequisites section)
39
+ - 📊 85 tests, +11 from v1.4.1
40
+
41
+ ## v1.4.1 — 2026-05-06
42
+
43
+ **3 v1.4.0 limitations + 1 critical regression discovery.**
44
+
45
+ - 🐛 **Cross-platform hooks:** replaced bash chains with 4 Node scripts
46
+ - 🐛 **`verify.js` SSOT:** `kind: 'pre-shipped' | 'project-generated'` field
47
+ + 3 new project-generated groups
48
+ - 🐛 **Meta-tests** for `replicate.md` ↔ `replicate-pipeline.md` consistency
49
+ - 🐛 **Critical regression discovered + fixed:** `sync-templates.js` cleanDir
50
+ silently deleted pre-shipped files during `npm publish --dry-run`. Switched
51
+ to MERGE mode
52
+ - 🆕 6th COMPONENTS group: `hooks` (4 cross-platform Node scripts)
53
+ - 🆕 `getItemRelativePath()` helper
54
+ - 📊 74 tests, +14 from v1.4.0
55
+
56
+ ## v1.4.0 — 2026-05-06
57
+
58
+ **Major release — 9 pre-shipped commands + verify command.**
59
+
60
+ - ✨ Closed root cause of pain: `/replicate` Phase 3 no longer tries to
61
+ generate generic commands. All 11 commands + 5 rules + settings.json + 4
62
+ hooks now pre-shipped via `init`
63
+ - ✨ **9 new pre-shipped commands:** `/start`, `/plan`, `/feature`, `/go`,
64
+ `/run`, `/next`, `/myinsights`, `/docs`, `/deploy`
65
+ - ✨ **3 new pre-shipped rules:** `git-workflow`, `insights-capture`,
66
+ `feature-lifecycle`
67
+ - ✨ **Settings.json shipped** with hooks
68
+ - ✨ **`verify` command** — replaces user's manual verification prompt
69
+ - 🐛 5 sources of truth divergence unified via `utils.COMPONENTS.items`
70
+ - 📊 60 tests, +8 from v1.3.1
71
+
72
+ ## v1.3.1 — 2026-05-06
73
+
74
+ **Two real bug fixes.**
75
+
76
+ - 🐛 **`cli.js` --help showed "1 rule" while `EXPECTED_RULES` had 2 entries.**
77
+ SSOT fix: `COMPONENTS.<group>.items` map is single source of truth
78
+ - 🐛 **`update.js` corrupted manifest** — captured project-generated files,
79
+ causing data loss on subsequent `remove`. Fixed by using
80
+ `getRelativePaths(templateClaude)` instead of `projectClaude`
81
+ - 🐛 Bonus: `update` now removes orphan template files
82
+ - 📊 52 tests, +7 from v1.3.0
83
+
84
+ ## v1.3.0 (baseline)
85
+
86
+ Initial published version. 10 skills, 2 commands (`/replicate`, `/harvest`),
87
+ 4 agents, 2 rules. SPARC documentation pipeline + knowledge extraction.
88
+
89
+ ---
90
+
91
+ ## Per-version migration
92
+
93
+ | From → To | Command |
94
+ |---|---|
95
+ | 1.3.x → 1.5.0 | `npx @dzhechkov/p-replicator@1.5.0 init --force` (preserves customizations) |
96
+ | Any → latest | `npx @dzhechkov/p-replicator@latest update` |
97
+ | Full reset | `... init --force --reset-settings` (loses custom hooks) |
98
+
99
+ After any upgrade — `verify` to confirm contract:
100
+
101
+ ```bash
102
+ npx @dzhechkov/p-replicator verify
103
+ ```
104
+
105
+ ---
106
+
107
+ ## Patterns persisted in AQE memory
108
+
109
+ Each significant improvement persisted as a pattern (cross-session learning):
110
+
111
+ - v1.3.1: `cli-package-ssot-component-lists`, `cli-package-manifest-preservation`,
112
+ `tdd-red-test-must-trigger-bug`
113
+ - v1.4.0: `cli-package-pre-ship-vs-generate-boundary`,
114
+ `cli-package-verify-replaces-manual-prompts`,
115
+ `documentation-source-of-truth-divergence`
116
+ - v1.4.1: `cli-package-cross-platform-hooks-via-node-scripts`,
117
+ `cli-package-kind-discrimination-for-ssot`,
118
+ `npm-package-prepublish-clean-and-replace-anti-pattern`
119
+ - v1.4.2: `cli-package-settings-json-merge-vs-overwrite`,
120
+ `meta-test-multi-axis-drift-detection`, `cli-doctor-prerequisites-section`
121
+ - v1.4.3: `cli-shipped-defaults-baseline-for-orphan-detection`,
122
+ `cli-update-must-mirror-init-merge-logic`
123
+ - v1.5.0: `cli-statusline-multi-line-dashboard`,
124
+ `cli-feature-branches-flag-for-teaching-workflows`
125
+
126
+ Each pattern contains: context, problem, solution, verification, tradeoffs,
127
+ applied-to (version/file).
128
+
129
+ ---
130
+
131
+ ## Full CHANGELOG
132
+
133
+ See `../../CHANGELOG.md` — authoritative source with full details, migration
134
+ notes, breaking changes (none — all upgrades backward-compatible).
@@ -0,0 +1,60 @@
1
+ # @dzhechkov/p-replicator — Documentation
2
+
3
+ Comprehensive docs for `@dzhechkov/p-replicator` — a toolkit for AI-assisted
4
+ product development in Claude Code (Vibe Coding).
5
+
6
+ ## What it is
7
+
8
+ `p-replicator` installs a ready-made `.claude/` toolkit into any project:
9
+ **11 slash commands**, **10 skills**, **4 agents**, **5 rules**, **6 hook
10
+ scripts**, and a `settings.json` with pre-configured hooks. The flagship
11
+ `/replicate` command takes a project through a 5-phase pipeline (Discovery →
12
+ Planning → Validation → Toolkit Generation → Finalize), generating SPARC
13
+ documentation and project-specific artifacts.
14
+
15
+ ## Navigation
16
+
17
+ | Section | Description |
18
+ |---|---|
19
+ | [01_quickstart.md](./01_quickstart.md) | Install, first run, verification |
20
+ | [02_user_guide.md](./02_user_guide.md) | All commands and workflows with examples |
21
+ | [03_admin_guide.md](./03_admin_guide.md) | Hooks, settings.json, statusline, insights |
22
+ | [04_api_reference.md](./04_api_reference.md) | CLI flags, manifest/roadmap/state schemas |
23
+ | [05_architecture.md](./05_architecture.md) | Architecture: pre-shipped vs generated, SSOT |
24
+ | [06_troubleshooting.md](./06_troubleshooting.md) | Common issues and resolutions |
25
+ | [07_changelog.md](./07_changelog.md) | Version history 1.3.x → 1.5.x |
26
+
27
+ ## Languages
28
+
29
+ - 🇬🇧 [English documentation](./README.md) (you are here)
30
+ - 🇷🇺 [Документация на русском](../ru/README.md)
31
+
32
+ ## Version
33
+
34
+ `@dzhechkov/p-replicator@1.5.0` (latest stable). See full version history
35
+ in `../../CHANGELOG.md` (authoritative source).
36
+
37
+ ## Quick start
38
+
39
+ ```bash
40
+ cd your-project
41
+ npx @dzhechkov/p-replicator init
42
+ claude # open Claude Code
43
+ /replicate "Your product description"
44
+ ```
45
+
46
+ After `/replicate` completes, run `/run mvp` for autonomous feature build
47
+ from roadmap, or `/start` to bootstrap the scaffold.
48
+
49
+ ## Related repositories
50
+
51
+ - npm: https://www.npmjs.com/package/@dzhechkov/p-replicator
52
+ - GitHub: https://github.com/dzhechko/pu-unicorn-replicate
53
+ - Issues: https://github.com/dzhechko/pu-unicorn-replicate/issues
54
+
55
+ ## Companion documentation (in package)
56
+
57
+ - `../../CHANGELOG.md` — version history
58
+ - `../../KNOWN_LIMITATIONS.md` — open improvement items (7 entries)
59
+ - `../../MULTIPLATFORM_ROADMAP.md` — Codex/OpenCode/KiloCode support roadmap
60
+ - `../../README.md` — short user-facing intro