@dzhechkov/p-replicator 1.5.18 → 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 +126 -46
- 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 +36 -15
- package/bin/cli.js +0 -0
- package/package.json +11 -10
- package/sbom.json +245 -45
- 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/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 +29 -27
- 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
package/sbom.json
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"hashes": [
|
|
16
16
|
{
|
|
17
17
|
"alg": "SHA-256",
|
|
18
|
-
"content": "
|
|
18
|
+
"content": "837815d5116c5e117c1249a414b7ae81927969d74a3b44685e8dc8a8dd3a6d8e"
|
|
19
19
|
}
|
|
20
20
|
]
|
|
21
21
|
},
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"hashes": [
|
|
46
46
|
{
|
|
47
47
|
"alg": "SHA-256",
|
|
48
|
-
"content": "
|
|
48
|
+
"content": "a6fed19895b2c93a1be5f3416f021b2d5165449ff6dadd9bf6d96ba8c0491192"
|
|
49
49
|
}
|
|
50
50
|
]
|
|
51
51
|
},
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
"hashes": [
|
|
56
56
|
{
|
|
57
57
|
"alg": "SHA-256",
|
|
58
|
-
"content": "
|
|
58
|
+
"content": "6b863dbfd298c1788097d53a87425030a341684f67bbb5a81a90c192c0c90d22"
|
|
59
59
|
}
|
|
60
60
|
]
|
|
61
61
|
},
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
"hashes": [
|
|
66
66
|
{
|
|
67
67
|
"alg": "SHA-256",
|
|
68
|
-
"content": "
|
|
68
|
+
"content": "8fe8dc32ddb603bfae2c71c8bafed51dd4d291a3f32942c06a049cab25dbf490"
|
|
69
69
|
}
|
|
70
70
|
]
|
|
71
71
|
},
|
|
@@ -75,7 +75,7 @@
|
|
|
75
75
|
"hashes": [
|
|
76
76
|
{
|
|
77
77
|
"alg": "SHA-256",
|
|
78
|
-
"content": "
|
|
78
|
+
"content": "307cf6c2a9bd6ebee678e47c0a13c15fdaaebcfdc9a17a0a08fe7892ed1afee0"
|
|
79
79
|
}
|
|
80
80
|
]
|
|
81
81
|
},
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
"hashes": [
|
|
86
86
|
{
|
|
87
87
|
"alg": "SHA-256",
|
|
88
|
-
"content": "
|
|
88
|
+
"content": "e4c5c190383570dd0f9853ec18221d0ccd24a85a4a42575e819c7b283fc42077"
|
|
89
89
|
}
|
|
90
90
|
]
|
|
91
91
|
},
|
|
@@ -105,7 +105,7 @@
|
|
|
105
105
|
"hashes": [
|
|
106
106
|
{
|
|
107
107
|
"alg": "SHA-256",
|
|
108
|
-
"content": "
|
|
108
|
+
"content": "6cd5056f9e315bd910187925f0085910fa6905490559a58cb3c604d7bd63ebc4"
|
|
109
109
|
}
|
|
110
110
|
]
|
|
111
111
|
},
|
|
@@ -135,7 +135,7 @@
|
|
|
135
135
|
"hashes": [
|
|
136
136
|
{
|
|
137
137
|
"alg": "SHA-256",
|
|
138
|
-
"content": "
|
|
138
|
+
"content": "19cddc3b70de2f8ae440d7dfcd5268cf195df32e35a0b17f861f727df76cc3ca"
|
|
139
139
|
}
|
|
140
140
|
]
|
|
141
141
|
},
|
|
@@ -145,7 +145,7 @@
|
|
|
145
145
|
"hashes": [
|
|
146
146
|
{
|
|
147
147
|
"alg": "SHA-256",
|
|
148
|
-
"content": "
|
|
148
|
+
"content": "3d5b2a8dd9c9f7c0f35ae7b280ed22d865086a07a5f07866ce496549d4623e9b"
|
|
149
149
|
}
|
|
150
150
|
]
|
|
151
151
|
},
|
|
@@ -155,7 +155,7 @@
|
|
|
155
155
|
"hashes": [
|
|
156
156
|
{
|
|
157
157
|
"alg": "SHA-256",
|
|
158
|
-
"content": "
|
|
158
|
+
"content": "20b8f60be4755fcdacfb845b8bfc9f12cc26bd999fefb5f98ab6dd0a2948f1c7"
|
|
159
159
|
}
|
|
160
160
|
]
|
|
161
161
|
},
|
|
@@ -165,7 +165,7 @@
|
|
|
165
165
|
"hashes": [
|
|
166
166
|
{
|
|
167
167
|
"alg": "SHA-256",
|
|
168
|
-
"content": "
|
|
168
|
+
"content": "c7923e865819d4d544f64066a4ef9ab729266dc2e11eeaed5e736f0357fcd2e8"
|
|
169
169
|
}
|
|
170
170
|
]
|
|
171
171
|
},
|
|
@@ -185,7 +185,7 @@
|
|
|
185
185
|
"hashes": [
|
|
186
186
|
{
|
|
187
187
|
"alg": "SHA-256",
|
|
188
|
-
"content": "
|
|
188
|
+
"content": "f11803686a9b0d1cfe526d36d5ad3fe7e527b73bdf5bbcd2bb9e8207abbd9a94"
|
|
189
189
|
}
|
|
190
190
|
]
|
|
191
191
|
},
|
|
@@ -215,7 +215,7 @@
|
|
|
215
215
|
"hashes": [
|
|
216
216
|
{
|
|
217
217
|
"alg": "SHA-256",
|
|
218
|
-
"content": "
|
|
218
|
+
"content": "b98cda9099c19497ddcdc1b58d17d62a75ef73cf6c6e64beac723b0e0363b661"
|
|
219
219
|
}
|
|
220
220
|
]
|
|
221
221
|
},
|
|
@@ -235,7 +235,7 @@
|
|
|
235
235
|
"hashes": [
|
|
236
236
|
{
|
|
237
237
|
"alg": "SHA-256",
|
|
238
|
-
"content": "
|
|
238
|
+
"content": "31baddce9668e9802bc042c8a0df326061c1db7662f64df6861f7ed419890b88"
|
|
239
239
|
}
|
|
240
240
|
]
|
|
241
241
|
},
|
|
@@ -275,7 +275,7 @@
|
|
|
275
275
|
"hashes": [
|
|
276
276
|
{
|
|
277
277
|
"alg": "SHA-256",
|
|
278
|
-
"content": "
|
|
278
|
+
"content": "8ae12d621050c3a4f992bc853b4ec961af5fbf32bf9c3fee639a182b546992de"
|
|
279
279
|
}
|
|
280
280
|
]
|
|
281
281
|
},
|
|
@@ -355,7 +355,7 @@
|
|
|
355
355
|
"hashes": [
|
|
356
356
|
{
|
|
357
357
|
"alg": "SHA-256",
|
|
358
|
-
"content": "
|
|
358
|
+
"content": "ec9d1695f4b0ef2ce0b3ee6908e90900ebac0941a32ea48df673f6cd20fc1387"
|
|
359
359
|
}
|
|
360
360
|
]
|
|
361
361
|
},
|
|
@@ -365,7 +365,7 @@
|
|
|
365
365
|
"hashes": [
|
|
366
366
|
{
|
|
367
367
|
"alg": "SHA-256",
|
|
368
|
-
"content": "
|
|
368
|
+
"content": "e57950758cd4764b2cb54b3f1905567e9dbc1ed20ac6ecd30998614894689f4f"
|
|
369
369
|
}
|
|
370
370
|
]
|
|
371
371
|
},
|
|
@@ -385,7 +385,7 @@
|
|
|
385
385
|
"hashes": [
|
|
386
386
|
{
|
|
387
387
|
"alg": "SHA-256",
|
|
388
|
-
"content": "
|
|
388
|
+
"content": "f74683fe91b4357d6fb4024ed47b4d5a129ea6375ca6b223dee97176d74acf1c"
|
|
389
389
|
}
|
|
390
390
|
]
|
|
391
391
|
},
|
|
@@ -465,7 +465,7 @@
|
|
|
465
465
|
"hashes": [
|
|
466
466
|
{
|
|
467
467
|
"alg": "SHA-256",
|
|
468
|
-
"content": "
|
|
468
|
+
"content": "1e4984306c3aa80dfc8734dc1c975dfe5fdf2cf6396ddd759e4c7635646107b8"
|
|
469
469
|
}
|
|
470
470
|
]
|
|
471
471
|
},
|
|
@@ -485,7 +485,7 @@
|
|
|
485
485
|
"hashes": [
|
|
486
486
|
{
|
|
487
487
|
"alg": "SHA-256",
|
|
488
|
-
"content": "
|
|
488
|
+
"content": "13f5e2ebe109f33b63cbcd75e3cf1b94224ab066aba1b0cb10cf34f668144a8a"
|
|
489
489
|
}
|
|
490
490
|
]
|
|
491
491
|
},
|
|
@@ -505,7 +505,7 @@
|
|
|
505
505
|
"hashes": [
|
|
506
506
|
{
|
|
507
507
|
"alg": "SHA-256",
|
|
508
|
-
"content": "
|
|
508
|
+
"content": "4aaebc10ca8d607d4b2b43883d82392e9788c2f183878a49fc0d1ed54d07ee95"
|
|
509
509
|
}
|
|
510
510
|
]
|
|
511
511
|
},
|
|
@@ -515,7 +515,7 @@
|
|
|
515
515
|
"hashes": [
|
|
516
516
|
{
|
|
517
517
|
"alg": "SHA-256",
|
|
518
|
-
"content": "
|
|
518
|
+
"content": "5e7cef87b24d457f25315d79fe15f0dfaf94d9269495d638817f0faee2593c6f"
|
|
519
519
|
}
|
|
520
520
|
]
|
|
521
521
|
},
|
|
@@ -525,7 +525,7 @@
|
|
|
525
525
|
"hashes": [
|
|
526
526
|
{
|
|
527
527
|
"alg": "SHA-256",
|
|
528
|
-
"content": "
|
|
528
|
+
"content": "9bb404b7f4fda5de03e6c2f16bf8939a79ec1944538767b04bcccc6cf50cc03d"
|
|
529
529
|
}
|
|
530
530
|
]
|
|
531
531
|
},
|
|
@@ -535,7 +535,17 @@
|
|
|
535
535
|
"hashes": [
|
|
536
536
|
{
|
|
537
537
|
"alg": "SHA-256",
|
|
538
|
-
"content": "
|
|
538
|
+
"content": "f4dcc9ffd9a3aed91dd56e011e699fcf8af903cc81594e4ab1ef61e5432a36ad"
|
|
539
|
+
}
|
|
540
|
+
]
|
|
541
|
+
},
|
|
542
|
+
{
|
|
543
|
+
"type": "file",
|
|
544
|
+
"name": "templates/.claude/hooks/check-ports.cjs",
|
|
545
|
+
"hashes": [
|
|
546
|
+
{
|
|
547
|
+
"alg": "SHA-256",
|
|
548
|
+
"content": "e5f2d2bd8899df27c2dfedf76128467becae1868210eb8525a1bad2869a8c78f"
|
|
539
549
|
}
|
|
540
550
|
]
|
|
541
551
|
},
|
|
@@ -545,7 +555,7 @@
|
|
|
545
555
|
"hashes": [
|
|
546
556
|
{
|
|
547
557
|
"alg": "SHA-256",
|
|
548
|
-
"content": "
|
|
558
|
+
"content": "46f8357e3886a6d54db1ab4af969b9b8643ae5937ba59038a5651ffbcfd0d30e"
|
|
549
559
|
}
|
|
550
560
|
]
|
|
551
561
|
},
|
|
@@ -555,7 +565,7 @@
|
|
|
555
565
|
"hashes": [
|
|
556
566
|
{
|
|
557
567
|
"alg": "SHA-256",
|
|
558
|
-
"content": "
|
|
568
|
+
"content": "47146a76b768ac2273abe8f2f017856a0e28b45afaf90048148da417dd19604e"
|
|
559
569
|
}
|
|
560
570
|
]
|
|
561
571
|
},
|
|
@@ -565,7 +575,17 @@
|
|
|
565
575
|
"hashes": [
|
|
566
576
|
{
|
|
567
577
|
"alg": "SHA-256",
|
|
568
|
-
"content": "
|
|
578
|
+
"content": "1eca683baf67a17874dc5db6dfe38eb11944f550c66f46330bce0f794732245f"
|
|
579
|
+
}
|
|
580
|
+
]
|
|
581
|
+
},
|
|
582
|
+
{
|
|
583
|
+
"type": "file",
|
|
584
|
+
"name": "templates/.claude/rules/docker-ports.md",
|
|
585
|
+
"hashes": [
|
|
586
|
+
{
|
|
587
|
+
"alg": "SHA-256",
|
|
588
|
+
"content": "bef41c25c875479341f68783c2d64572800d4710f55401e55519245f03d22efb"
|
|
569
589
|
}
|
|
570
590
|
]
|
|
571
591
|
},
|
|
@@ -605,7 +625,7 @@
|
|
|
605
625
|
"hashes": [
|
|
606
626
|
{
|
|
607
627
|
"alg": "SHA-256",
|
|
608
|
-
"content": "
|
|
628
|
+
"content": "b65e802d32a1e50bdfcd0cfc79c78e9234eac48a94f0cd1f5647cf4fea6c0162"
|
|
609
629
|
}
|
|
610
630
|
]
|
|
611
631
|
},
|
|
@@ -625,7 +645,7 @@
|
|
|
625
645
|
"hashes": [
|
|
626
646
|
{
|
|
627
647
|
"alg": "SHA-256",
|
|
628
|
-
"content": "
|
|
648
|
+
"content": "b1df6cf834ccfa227f3318a70862115c17838ab31253e9d8d89381b7763e61fd"
|
|
629
649
|
}
|
|
630
650
|
]
|
|
631
651
|
},
|
|
@@ -735,7 +755,7 @@
|
|
|
735
755
|
"hashes": [
|
|
736
756
|
{
|
|
737
757
|
"alg": "SHA-256",
|
|
738
|
-
"content": "
|
|
758
|
+
"content": "85c72f6daa5af88b4a7ff520a387f47a7c92b81cb1f0757550c8b58100a97be6"
|
|
739
759
|
}
|
|
740
760
|
]
|
|
741
761
|
},
|
|
@@ -745,7 +765,7 @@
|
|
|
745
765
|
"hashes": [
|
|
746
766
|
{
|
|
747
767
|
"alg": "SHA-256",
|
|
748
|
-
"content": "
|
|
768
|
+
"content": "5939f3fe6ae542fabb8e665dc373a20410d8de917362fcb3ecac504286f41836"
|
|
749
769
|
}
|
|
750
770
|
]
|
|
751
771
|
},
|
|
@@ -845,7 +865,7 @@
|
|
|
845
865
|
"hashes": [
|
|
846
866
|
{
|
|
847
867
|
"alg": "SHA-256",
|
|
848
|
-
"content": "
|
|
868
|
+
"content": "657e35db0cb77d3a9d1a4d01215a9b8d50441dd863593bee3a84f62aad8b00bc"
|
|
849
869
|
}
|
|
850
870
|
]
|
|
851
871
|
},
|
|
@@ -855,7 +875,7 @@
|
|
|
855
875
|
"hashes": [
|
|
856
876
|
{
|
|
857
877
|
"alg": "SHA-256",
|
|
858
|
-
"content": "
|
|
878
|
+
"content": "5e87c91956eabc70b4a1084b47b2c9a20ede18bb245735812ead956eafabf3af"
|
|
859
879
|
}
|
|
860
880
|
]
|
|
861
881
|
},
|
|
@@ -895,7 +915,7 @@
|
|
|
895
915
|
"hashes": [
|
|
896
916
|
{
|
|
897
917
|
"alg": "SHA-256",
|
|
898
|
-
"content": "
|
|
918
|
+
"content": "c91f81da197a072b57378fd0018eea26c35d909a558bdca6f070eb60153c97b3"
|
|
899
919
|
}
|
|
900
920
|
]
|
|
901
921
|
},
|
|
@@ -915,7 +935,7 @@
|
|
|
915
935
|
"hashes": [
|
|
916
936
|
{
|
|
917
937
|
"alg": "SHA-256",
|
|
918
|
-
"content": "
|
|
938
|
+
"content": "2f1019d5da7d695983aee79186a47fcefccbfa24db48219c04f9bb9feb757d3a"
|
|
919
939
|
}
|
|
920
940
|
]
|
|
921
941
|
},
|
|
@@ -925,7 +945,7 @@
|
|
|
925
945
|
"hashes": [
|
|
926
946
|
{
|
|
927
947
|
"alg": "SHA-256",
|
|
928
|
-
"content": "
|
|
948
|
+
"content": "db6898b7202b84965cbff9195a6ce780cadd6aeb64adae3fbfd951443a6bc43d"
|
|
929
949
|
}
|
|
930
950
|
]
|
|
931
951
|
},
|
|
@@ -955,7 +975,7 @@
|
|
|
955
975
|
"hashes": [
|
|
956
976
|
{
|
|
957
977
|
"alg": "SHA-256",
|
|
958
|
-
"content": "
|
|
978
|
+
"content": "3b1c20d2394e180720447416767fbfae99168cf9ca846bf64907f6fe5cd906da"
|
|
959
979
|
}
|
|
960
980
|
]
|
|
961
981
|
},
|
|
@@ -985,7 +1005,7 @@
|
|
|
985
1005
|
"hashes": [
|
|
986
1006
|
{
|
|
987
1007
|
"alg": "SHA-256",
|
|
988
|
-
"content": "
|
|
1008
|
+
"content": "e037a7e73e65e5216f95f27a255009c4c2b95f0f2d6b7c575d70813efac34438"
|
|
989
1009
|
}
|
|
990
1010
|
]
|
|
991
1011
|
},
|
|
@@ -1475,7 +1495,7 @@
|
|
|
1475
1495
|
"hashes": [
|
|
1476
1496
|
{
|
|
1477
1497
|
"alg": "SHA-256",
|
|
1478
|
-
"content": "
|
|
1498
|
+
"content": "e50c5269ad181966a81c14ef596946cea67cbf4b8f8f648c90fd66ecad948933"
|
|
1479
1499
|
}
|
|
1480
1500
|
]
|
|
1481
1501
|
},
|
|
@@ -1515,7 +1535,7 @@
|
|
|
1515
1535
|
"hashes": [
|
|
1516
1536
|
{
|
|
1517
1537
|
"alg": "SHA-256",
|
|
1518
|
-
"content": "
|
|
1538
|
+
"content": "49afe072f31f5b4f9a33f6b59487244f494b0f5587b6cc10c797c4de59510114"
|
|
1519
1539
|
}
|
|
1520
1540
|
]
|
|
1521
1541
|
},
|
|
@@ -1665,7 +1685,7 @@
|
|
|
1665
1685
|
"hashes": [
|
|
1666
1686
|
{
|
|
1667
1687
|
"alg": "SHA-256",
|
|
1668
|
-
"content": "
|
|
1688
|
+
"content": "50e829635b828b444487e4b04219518a595dbd4b94f91b66fb03ddf4a7b21712"
|
|
1669
1689
|
}
|
|
1670
1690
|
]
|
|
1671
1691
|
},
|
|
@@ -1705,7 +1725,7 @@
|
|
|
1705
1725
|
"hashes": [
|
|
1706
1726
|
{
|
|
1707
1727
|
"alg": "SHA-256",
|
|
1708
|
-
"content": "
|
|
1728
|
+
"content": "fd4af066e9e20c7c0f711337f3afdfd2f8e13ec8c845f8784befeb0785270e14"
|
|
1709
1729
|
}
|
|
1710
1730
|
]
|
|
1711
1731
|
},
|
|
@@ -1715,7 +1735,7 @@
|
|
|
1715
1735
|
"hashes": [
|
|
1716
1736
|
{
|
|
1717
1737
|
"alg": "SHA-256",
|
|
1718
|
-
"content": "
|
|
1738
|
+
"content": "cb6c08b5c5fb7ea837fb6c054d1094f8c4878a88ac866ec67a3862f8c7fb2a07"
|
|
1719
1739
|
}
|
|
1720
1740
|
]
|
|
1721
1741
|
},
|
|
@@ -1735,7 +1755,177 @@
|
|
|
1735
1755
|
"hashes": [
|
|
1736
1756
|
{
|
|
1737
1757
|
"alg": "SHA-256",
|
|
1738
|
-
"content": "
|
|
1758
|
+
"content": "1f50d0c2ec86f1c865ee6ed8c59725e57c397d487b7a24baf051dc5d4b294459"
|
|
1759
|
+
}
|
|
1760
|
+
]
|
|
1761
|
+
},
|
|
1762
|
+
{
|
|
1763
|
+
"type": "file",
|
|
1764
|
+
"name": "tests/unit/adr-decision-coverage.test.js",
|
|
1765
|
+
"hashes": [
|
|
1766
|
+
{
|
|
1767
|
+
"alg": "SHA-256",
|
|
1768
|
+
"content": "34f9bf0700b4c45fb905f606567f2a6d3ba152f8f1db29f479963667b298ede4"
|
|
1769
|
+
}
|
|
1770
|
+
]
|
|
1771
|
+
},
|
|
1772
|
+
{
|
|
1773
|
+
"type": "file",
|
|
1774
|
+
"name": "tests/unit/adr-scanner-contract.test.js",
|
|
1775
|
+
"hashes": [
|
|
1776
|
+
{
|
|
1777
|
+
"alg": "SHA-256",
|
|
1778
|
+
"content": "08c8b7d862ae0ddcd72116462458b71d3fe29b09cbaf08fa6a824e22ad6985c8"
|
|
1779
|
+
}
|
|
1780
|
+
]
|
|
1781
|
+
},
|
|
1782
|
+
{
|
|
1783
|
+
"type": "file",
|
|
1784
|
+
"name": "tests/unit/autocommit-deletion.test.js",
|
|
1785
|
+
"hashes": [
|
|
1786
|
+
{
|
|
1787
|
+
"alg": "SHA-256",
|
|
1788
|
+
"content": "87ebe50e164cfa3aeda3d4f04e6b6aa98ab8af44711cbeb94252d770c07ad8ad"
|
|
1789
|
+
}
|
|
1790
|
+
]
|
|
1791
|
+
},
|
|
1792
|
+
{
|
|
1793
|
+
"type": "file",
|
|
1794
|
+
"name": "tests/unit/check-ports.test.js",
|
|
1795
|
+
"hashes": [
|
|
1796
|
+
{
|
|
1797
|
+
"alg": "SHA-256",
|
|
1798
|
+
"content": "72d9eeaa8c47d83fba867722f4b8efc8d079e2d9649e1a20abff46571c2f6f15"
|
|
1799
|
+
}
|
|
1800
|
+
]
|
|
1801
|
+
},
|
|
1802
|
+
{
|
|
1803
|
+
"type": "file",
|
|
1804
|
+
"name": "tests/unit/db-port-rule.test.js",
|
|
1805
|
+
"hashes": [
|
|
1806
|
+
{
|
|
1807
|
+
"alg": "SHA-256",
|
|
1808
|
+
"content": "a97c913ccba8da16f7b8ef3094cac4ba8b499df2d644b3094c58945306d98c09"
|
|
1809
|
+
}
|
|
1810
|
+
]
|
|
1811
|
+
},
|
|
1812
|
+
{
|
|
1813
|
+
"type": "file",
|
|
1814
|
+
"name": "tests/unit/detect-parse-anchor.test.js",
|
|
1815
|
+
"hashes": [
|
|
1816
|
+
{
|
|
1817
|
+
"alg": "SHA-256",
|
|
1818
|
+
"content": "ecfa57bfcb34e12081009d0bdf4be83a6eab7a8b7a6a0dc27c1cb02ae5561be0"
|
|
1819
|
+
}
|
|
1820
|
+
]
|
|
1821
|
+
},
|
|
1822
|
+
{
|
|
1823
|
+
"type": "file",
|
|
1824
|
+
"name": "tests/unit/external-dependency-check.test.js",
|
|
1825
|
+
"hashes": [
|
|
1826
|
+
{
|
|
1827
|
+
"alg": "SHA-256",
|
|
1828
|
+
"content": "d85109f8e86648d61fc17d0128e9d4881950a70641c246e667d7e54ffc1f0273"
|
|
1829
|
+
}
|
|
1830
|
+
]
|
|
1831
|
+
},
|
|
1832
|
+
{
|
|
1833
|
+
"type": "file",
|
|
1834
|
+
"name": "tests/unit/growth-module-b2b-gate.test.js",
|
|
1835
|
+
"hashes": [
|
|
1836
|
+
{
|
|
1837
|
+
"alg": "SHA-256",
|
|
1838
|
+
"content": "7bb5b39a637becbea9813744a5d649b19c6bd8a9b18045c971bcfd842852ea84"
|
|
1839
|
+
}
|
|
1840
|
+
]
|
|
1841
|
+
},
|
|
1842
|
+
{
|
|
1843
|
+
"type": "file",
|
|
1844
|
+
"name": "tests/unit/hooks-project-anchored.test.js",
|
|
1845
|
+
"hashes": [
|
|
1846
|
+
{
|
|
1847
|
+
"alg": "SHA-256",
|
|
1848
|
+
"content": "2fa5b44982d72701d7a8486ac24ee3a91c6fa6123ef7303a0e065bf1e60987d7"
|
|
1849
|
+
}
|
|
1850
|
+
]
|
|
1851
|
+
},
|
|
1852
|
+
{
|
|
1853
|
+
"type": "file",
|
|
1854
|
+
"name": "tests/unit/hooks-report-failures.test.js",
|
|
1855
|
+
"hashes": [
|
|
1856
|
+
{
|
|
1857
|
+
"alg": "SHA-256",
|
|
1858
|
+
"content": "35d3fca74c22e1bc88b6fbb25f172b66a21561a947e2b6e90a366d5a854376b8"
|
|
1859
|
+
}
|
|
1860
|
+
]
|
|
1861
|
+
},
|
|
1862
|
+
{
|
|
1863
|
+
"type": "file",
|
|
1864
|
+
"name": "tests/unit/pipeline-file-ownership.test.js",
|
|
1865
|
+
"hashes": [
|
|
1866
|
+
{
|
|
1867
|
+
"alg": "SHA-256",
|
|
1868
|
+
"content": "dd5b6e2ddb3078fb5ccafed6c55a6079bbd20d73fd5c2dacbb988263ceeda806"
|
|
1869
|
+
}
|
|
1870
|
+
]
|
|
1871
|
+
},
|
|
1872
|
+
{
|
|
1873
|
+
"type": "file",
|
|
1874
|
+
"name": "tests/unit/roadmap-one-schema.test.js",
|
|
1875
|
+
"hashes": [
|
|
1876
|
+
{
|
|
1877
|
+
"alg": "SHA-256",
|
|
1878
|
+
"content": "3e7ac9dbc9796a791fc95c43b4346c6da2455f3c0ace45bbc440502c5957d3dc"
|
|
1879
|
+
}
|
|
1880
|
+
]
|
|
1881
|
+
},
|
|
1882
|
+
{
|
|
1883
|
+
"type": "file",
|
|
1884
|
+
"name": "tests/unit/sparc-reconciliation.test.js",
|
|
1885
|
+
"hashes": [
|
|
1886
|
+
{
|
|
1887
|
+
"alg": "SHA-256",
|
|
1888
|
+
"content": "4020c623cb351d42b3b184d23194d48cf04e4a3ce8d95ff96c4261ade75632c9"
|
|
1889
|
+
}
|
|
1890
|
+
]
|
|
1891
|
+
},
|
|
1892
|
+
{
|
|
1893
|
+
"type": "file",
|
|
1894
|
+
"name": "tests/unit/spec-pseudocode-traceability.test.js",
|
|
1895
|
+
"hashes": [
|
|
1896
|
+
{
|
|
1897
|
+
"alg": "SHA-256",
|
|
1898
|
+
"content": "fc01a561458f35e789a6d22ce3def23f3553493ba9f06493666306c603fa3c8c"
|
|
1899
|
+
}
|
|
1900
|
+
]
|
|
1901
|
+
},
|
|
1902
|
+
{
|
|
1903
|
+
"type": "file",
|
|
1904
|
+
"name": "tests/unit/statusline-honest-labels.test.js",
|
|
1905
|
+
"hashes": [
|
|
1906
|
+
{
|
|
1907
|
+
"alg": "SHA-256",
|
|
1908
|
+
"content": "3188892491df4133566c20fc336b8d5ceedac7e14c7053088be2e3bee3e10594"
|
|
1909
|
+
}
|
|
1910
|
+
]
|
|
1911
|
+
},
|
|
1912
|
+
{
|
|
1913
|
+
"type": "file",
|
|
1914
|
+
"name": "tests/unit/statusline-two-roots.test.js",
|
|
1915
|
+
"hashes": [
|
|
1916
|
+
{
|
|
1917
|
+
"alg": "SHA-256",
|
|
1918
|
+
"content": "73eb6c542058b3969e97ac0fb7f363e5b2d396bd5328b4cb186fba102aa3fd01"
|
|
1919
|
+
}
|
|
1920
|
+
]
|
|
1921
|
+
},
|
|
1922
|
+
{
|
|
1923
|
+
"type": "file",
|
|
1924
|
+
"name": "tests/unit/sync-templates-guard.test.js",
|
|
1925
|
+
"hashes": [
|
|
1926
|
+
{
|
|
1927
|
+
"alg": "SHA-256",
|
|
1928
|
+
"content": "75e8e0d0d2dfc16f14c586d399b5c9c075cc3a0494c558fe39d8528516185cfe"
|
|
1739
1929
|
}
|
|
1740
1930
|
]
|
|
1741
1931
|
},
|
|
@@ -1745,7 +1935,17 @@
|
|
|
1745
1935
|
"hashes": [
|
|
1746
1936
|
{
|
|
1747
1937
|
"alg": "SHA-256",
|
|
1748
|
-
"content": "
|
|
1938
|
+
"content": "2ccc68f9a91d188d56ebad77c4a64653cc5ff7aec093a739eb707774a37e1732"
|
|
1939
|
+
}
|
|
1940
|
+
]
|
|
1941
|
+
},
|
|
1942
|
+
{
|
|
1943
|
+
"type": "file",
|
|
1944
|
+
"name": "tests/unit/validation-gate-teeth.test.js",
|
|
1945
|
+
"hashes": [
|
|
1946
|
+
{
|
|
1947
|
+
"alg": "SHA-256",
|
|
1948
|
+
"content": "d4f42a26b67b2fa1dfa8db9984c301a7d7e91657e5e2cdabb1bab307c766138d"
|
|
1749
1949
|
}
|
|
1750
1950
|
]
|
|
1751
1951
|
}
|
package/src/utils.js
CHANGED
|
@@ -308,6 +308,7 @@ const COMPONENTS = {
|
|
|
308
308
|
'git-workflow': 'Commit/push discipline, branch strategy, semantic messages',
|
|
309
309
|
'insights-capture': 'When and how to capture development insights to knowledge base',
|
|
310
310
|
'feature-lifecycle': '/feature phases (PLAN → VALIDATE → IMPLEMENT → REVIEW), checkpoints, scoring',
|
|
311
|
+
'docker-ports': 'Правило №0: storage ports are not published outward; loopback bind is the exception',
|
|
311
312
|
},
|
|
312
313
|
},
|
|
313
314
|
settings: {
|
|
@@ -332,6 +333,7 @@ const COMPONENTS = {
|
|
|
332
333
|
'autocommit-plans': 'Auto-commit docs/plans/ on Stop hook',
|
|
333
334
|
'statusline': 'Multi-line dashboard (pipeline, roadmap, toolkit) for Claude Code statusLine',
|
|
334
335
|
'state-update': 'Argv-driven helper for pipeline commands to publish current command + phase + progress',
|
|
336
|
+
'check-ports': 'Enforce docker-ports Правило №0 against a real compose (invoke deliberately; exits 0/1/2)',
|
|
335
337
|
},
|
|
336
338
|
},
|
|
337
339
|
// ─── Project-generated groups (created by /replicate Phase 3) ───────────
|
|
@@ -15,7 +15,7 @@ Read from: `.claude/skills/requirements-validator/SKILL.md`
|
|
|
15
15
|
|
|
16
16
|
## Swarm Strategy
|
|
17
17
|
|
|
18
|
-
Launch
|
|
18
|
+
Launch 6 parallel validation agents using Task tool:
|
|
19
19
|
|
|
20
20
|
| Agent | Scope | Criteria | Tool |
|
|
21
21
|
|-------|-------|----------|------|
|
|
@@ -24,6 +24,7 @@ Launch 5 parallel validation agents using Task tool:
|
|
|
24
24
|
| `validator-architecture` | Architecture.md | Target constraints compliance, completeness | Task |
|
|
25
25
|
| `validator-pseudocode` | Pseudocode.md | Story coverage, implementability | Task |
|
|
26
26
|
| `validator-coherence` | Cross-document | Consistency, no contradictions | Task |
|
|
27
|
+
| `validator-dependencies` | `Architecture.md` → `## External Dependencies` | Every external capability a requirement relies on has a verdict and, where CONFIRMED, evidence that names that capability | Task |
|
|
27
28
|
|
|
28
29
|
## Scoring System
|
|
29
30
|
|
|
@@ -19,7 +19,7 @@ Read from: `.claude/skills/reverse-engineering-unicorn/SKILL.md`
|
|
|
19
19
|
| M2: Product & Customers | Always | JTBD, Value Prop, segments |
|
|
20
20
|
| M3: Market & Competition | Always | TAM/SAM, competitors, Blue Ocean Canvas |
|
|
21
21
|
| M4: Business & Finance | If monetization model needed | Unit economics |
|
|
22
|
-
| M5: Growth Engine | If
|
|
22
|
+
| M5: Growth Engine | If acquisition/adoption in scope (incl. B2B) | Channels, integrations, viral loops |
|
|
23
23
|
|
|
24
24
|
## Output Format
|
|
25
25
|
|
|
@@ -81,6 +81,22 @@ Blocked: <count> (run /next blocked to see)
|
|
|
81
81
|
|
|
82
82
|
### Schema fields (post v1.5.0)
|
|
83
83
|
|
|
84
|
+
**This table is THE schema for `.claude/feature-roadmap.json`.** It is the only one: any other
|
|
85
|
+
document that shows the file's fields must point here rather than restate them, because two
|
|
86
|
+
descriptions of one file are two chances to be wrong and only one of them can be right.
|
|
87
|
+
|
|
88
|
+
**Who creates the file** — both answers are true, in different modes, and this is the one place that
|
|
89
|
+
says so:
|
|
90
|
+
|
|
91
|
+
- after `/replicate`, Phase 3 generates it from the PRD MVP scope;
|
|
92
|
+
- in Mode 2 (an existing project where `init` added the toolkit and `/replicate` never ran), the user
|
|
93
|
+
writes it by hand if they want batch automation via `/run mvp`; ad-hoc `/feature <id>` needs no
|
|
94
|
+
roadmap at all.
|
|
95
|
+
|
|
96
|
+
`priority` is a CLOSED set — `mvp`, `high`, `medium`, `low`. A value outside it is not a new priority,
|
|
97
|
+
it is a roadmap this toolkit cannot read: the status line counts MVP by `priority === 'mvp'` and will
|
|
98
|
+
mark the file rather than quietly report zero.
|
|
99
|
+
|
|
84
100
|
| Field | Required | Populated by | Purpose |
|
|
85
101
|
|-------|----------|--------------|---------|
|
|
86
102
|
| `id` | yes | initial roadmap generation | Stable kebab-case slug |
|