speckeeper 0.11.1 → 0.13.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/cli-contract.yaml +81 -61
- package/dist/cli.js +75 -55
- package/dist/cli.js.map +1 -1
- package/dist/{config-api-coyCX1SB.d.ts → config-api-BvCV9_r8.d.ts} +1 -1
- package/dist/dsl/index.d.ts +1 -1
- package/dist/index.d.ts +2 -2
- package/docs/cli-reference.md +2420 -6
- package/package.json +5 -5
package/cli-contract.yaml
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# yaml-language-server: $schema=./node_modules/cli-contracts/schemas/cli-contract.schema.json
|
|
2
|
-
|
|
2
|
+
cli_contracts: 0.1.0
|
|
3
3
|
|
|
4
4
|
info:
|
|
5
5
|
title: speckeeper CLI
|
|
6
|
-
version: 0.
|
|
6
|
+
version: 0.13.0
|
|
7
7
|
description: >-
|
|
8
8
|
TypeScript-first specification validation framework — validate design
|
|
9
9
|
consistency, external SSOT integrity, and traceability with type-safe
|
|
@@ -13,7 +13,27 @@ info:
|
|
|
13
13
|
license:
|
|
14
14
|
name: MIT
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
artifact_slots:
|
|
17
|
+
design-specs:
|
|
18
|
+
direction: read
|
|
19
|
+
description: Design specification files (requirements, architecture)
|
|
20
|
+
config:
|
|
21
|
+
direction: read
|
|
22
|
+
description: speckeeper configuration
|
|
23
|
+
codebase:
|
|
24
|
+
direction: read
|
|
25
|
+
description: Source code for traceability and coverage checks
|
|
26
|
+
external-sources:
|
|
27
|
+
direction: read
|
|
28
|
+
description: External SSOT sources (OpenAPI, DDL, annotations)
|
|
29
|
+
audit-report:
|
|
30
|
+
direction: write
|
|
31
|
+
description: LLM audit and analysis output
|
|
32
|
+
scaffold-output:
|
|
33
|
+
direction: write
|
|
34
|
+
description: Scaffolded specification files
|
|
35
|
+
|
|
36
|
+
command_sets:
|
|
17
37
|
speckeeper:
|
|
18
38
|
summary: Requirements and design management framework with TypeScript DSL.
|
|
19
39
|
executable: speckeeper
|
|
@@ -32,7 +52,7 @@ commandSets:
|
|
|
32
52
|
description: API key for Anthropic/Claude adapter.
|
|
33
53
|
sensitive: true
|
|
34
54
|
|
|
35
|
-
|
|
55
|
+
global_options:
|
|
36
56
|
- name: version
|
|
37
57
|
aliases: [V]
|
|
38
58
|
description: Print version and exit.
|
|
@@ -59,7 +79,7 @@ commandSets:
|
|
|
59
79
|
- speckeeper init --format yaml
|
|
60
80
|
|
|
61
81
|
effects:
|
|
62
|
-
|
|
82
|
+
risk_level: medium
|
|
63
83
|
writes:
|
|
64
84
|
- target: "speckeeper.config.ts, design/ directory"
|
|
65
85
|
description: "generates config and starter template files"
|
|
@@ -73,7 +93,7 @@ commandSets:
|
|
|
73
93
|
type: boolean
|
|
74
94
|
default: false
|
|
75
95
|
effects:
|
|
76
|
-
|
|
96
|
+
risk_level: high
|
|
77
97
|
writes:
|
|
78
98
|
- target: "existing project files"
|
|
79
99
|
description: "overwrites existing config and design files"
|
|
@@ -82,7 +102,7 @@ commandSets:
|
|
|
82
102
|
|
|
83
103
|
- name: format
|
|
84
104
|
description: "Spec data format: ts (default) or yaml."
|
|
85
|
-
|
|
105
|
+
value_name: format
|
|
86
106
|
schema:
|
|
87
107
|
type: string
|
|
88
108
|
default: ts
|
|
@@ -112,7 +132,7 @@ commandSets:
|
|
|
112
132
|
- speckeeper build --verbose
|
|
113
133
|
|
|
114
134
|
effects:
|
|
115
|
-
|
|
135
|
+
risk_level: low
|
|
116
136
|
writes:
|
|
117
137
|
- target: "docs/ directory"
|
|
118
138
|
description: "generated Markdown documentation files"
|
|
@@ -123,7 +143,7 @@ commandSets:
|
|
|
123
143
|
- name: config
|
|
124
144
|
aliases: [c]
|
|
125
145
|
description: Path to config file.
|
|
126
|
-
|
|
146
|
+
value_name: path
|
|
127
147
|
schema:
|
|
128
148
|
type: string
|
|
129
149
|
file:
|
|
@@ -134,7 +154,7 @@ commandSets:
|
|
|
134
154
|
- name: output
|
|
135
155
|
aliases: [o]
|
|
136
156
|
description: Base output directory path.
|
|
137
|
-
|
|
157
|
+
value_name: path
|
|
138
158
|
schema:
|
|
139
159
|
type: string
|
|
140
160
|
default: "."
|
|
@@ -142,7 +162,7 @@ commandSets:
|
|
|
142
162
|
- name: format
|
|
143
163
|
aliases: [f]
|
|
144
164
|
description: "Output format: markdown, json, both."
|
|
145
|
-
|
|
165
|
+
value_name: format
|
|
146
166
|
schema:
|
|
147
167
|
type: string
|
|
148
168
|
default: both
|
|
@@ -192,7 +212,7 @@ commandSets:
|
|
|
192
212
|
- name: config
|
|
193
213
|
aliases: [c]
|
|
194
214
|
description: Path to config file.
|
|
195
|
-
|
|
215
|
+
value_name: path
|
|
196
216
|
schema:
|
|
197
217
|
type: string
|
|
198
218
|
file:
|
|
@@ -203,7 +223,7 @@ commandSets:
|
|
|
203
223
|
- name: phase
|
|
204
224
|
aliases: [p]
|
|
205
225
|
description: "Phase gate to check against: REQ, HLD, LLD, OPS."
|
|
206
|
-
|
|
226
|
+
value_name: phase
|
|
207
227
|
schema:
|
|
208
228
|
type: string
|
|
209
229
|
enum: [REQ, HLD, LLD, OPS]
|
|
@@ -224,7 +244,7 @@ commandSets:
|
|
|
224
244
|
- name: format
|
|
225
245
|
aliases: [f]
|
|
226
246
|
description: "Output format: text, json, github."
|
|
227
|
-
|
|
247
|
+
value_name: format
|
|
228
248
|
schema:
|
|
229
249
|
type: string
|
|
230
250
|
default: text
|
|
@@ -259,7 +279,7 @@ commandSets:
|
|
|
259
279
|
- name: config
|
|
260
280
|
aliases: [c]
|
|
261
281
|
description: Path to config file.
|
|
262
|
-
|
|
282
|
+
value_name: path
|
|
263
283
|
schema:
|
|
264
284
|
type: string
|
|
265
285
|
file:
|
|
@@ -277,7 +297,7 @@ commandSets:
|
|
|
277
297
|
- name: format
|
|
278
298
|
aliases: [f]
|
|
279
299
|
description: "Output format: text, json, diff."
|
|
280
|
-
|
|
300
|
+
value_name: format
|
|
281
301
|
schema:
|
|
282
302
|
type: string
|
|
283
303
|
default: text
|
|
@@ -330,7 +350,7 @@ commandSets:
|
|
|
330
350
|
- name: config
|
|
331
351
|
aliases: [c]
|
|
332
352
|
description: Path to config file.
|
|
333
|
-
|
|
353
|
+
value_name: path
|
|
334
354
|
schema:
|
|
335
355
|
type: string
|
|
336
356
|
file:
|
|
@@ -382,7 +402,7 @@ commandSets:
|
|
|
382
402
|
- speckeeper new entity
|
|
383
403
|
|
|
384
404
|
effects:
|
|
385
|
-
|
|
405
|
+
risk_level: low
|
|
386
406
|
writes:
|
|
387
407
|
- target: "design/ directory"
|
|
388
408
|
description: "new TypeScript spec file with auto-generated ID"
|
|
@@ -402,28 +422,28 @@ commandSets:
|
|
|
402
422
|
- name: kind
|
|
403
423
|
aliases: [k]
|
|
404
424
|
description: Sub-kind (e.g. functional, non-functional for requirements).
|
|
405
|
-
|
|
425
|
+
value_name: kind
|
|
406
426
|
schema:
|
|
407
427
|
type: string
|
|
408
428
|
|
|
409
429
|
- name: name
|
|
410
430
|
aliases: [n]
|
|
411
431
|
description: Name of the element.
|
|
412
|
-
|
|
432
|
+
value_name: name
|
|
413
433
|
schema:
|
|
414
434
|
type: string
|
|
415
435
|
|
|
416
436
|
- name: output
|
|
417
437
|
aliases: [o]
|
|
418
438
|
description: Output directory path.
|
|
419
|
-
|
|
439
|
+
value_name: path
|
|
420
440
|
schema:
|
|
421
441
|
type: string
|
|
422
442
|
|
|
423
443
|
- name: template
|
|
424
444
|
aliases: [t]
|
|
425
445
|
description: Path to template file.
|
|
426
|
-
|
|
446
|
+
value_name: path
|
|
427
447
|
schema:
|
|
428
448
|
type: string
|
|
429
449
|
file:
|
|
@@ -471,7 +491,7 @@ commandSets:
|
|
|
471
491
|
- name: config
|
|
472
492
|
aliases: [c]
|
|
473
493
|
description: Path to config file.
|
|
474
|
-
|
|
494
|
+
value_name: path
|
|
475
495
|
schema:
|
|
476
496
|
type: string
|
|
477
497
|
file:
|
|
@@ -482,7 +502,7 @@ commandSets:
|
|
|
482
502
|
- name: depth
|
|
483
503
|
aliases: [d]
|
|
484
504
|
description: Analysis depth (reference tracking level).
|
|
485
|
-
|
|
505
|
+
value_name: n
|
|
486
506
|
schema:
|
|
487
507
|
type: integer
|
|
488
508
|
minimum: 1
|
|
@@ -490,7 +510,7 @@ commandSets:
|
|
|
490
510
|
|
|
491
511
|
- name: direction
|
|
492
512
|
description: "Analysis direction: upstream, downstream, both."
|
|
493
|
-
|
|
513
|
+
value_name: direction
|
|
494
514
|
schema:
|
|
495
515
|
type: string
|
|
496
516
|
default: both
|
|
@@ -499,7 +519,7 @@ commandSets:
|
|
|
499
519
|
- name: format
|
|
500
520
|
aliases: [f]
|
|
501
521
|
description: "Output format: text, json, mermaid."
|
|
502
|
-
|
|
522
|
+
value_name: format
|
|
503
523
|
schema:
|
|
504
524
|
type: string
|
|
505
525
|
default: text
|
|
@@ -532,7 +552,7 @@ commandSets:
|
|
|
532
552
|
- speckeeper scaffold --source arch.md --format yaml
|
|
533
553
|
|
|
534
554
|
effects:
|
|
535
|
-
|
|
555
|
+
risk_level: low
|
|
536
556
|
writes:
|
|
537
557
|
- target: "design/ directory"
|
|
538
558
|
description: "generated _models/ and spec data files"
|
|
@@ -542,7 +562,7 @@ commandSets:
|
|
|
542
562
|
- name: source
|
|
543
563
|
aliases: [s]
|
|
544
564
|
description: Path to Markdown file containing Mermaid flowchart.
|
|
545
|
-
|
|
565
|
+
value_name: path
|
|
546
566
|
required: true
|
|
547
567
|
schema:
|
|
548
568
|
type: string
|
|
@@ -554,7 +574,7 @@ commandSets:
|
|
|
554
574
|
- name: output
|
|
555
575
|
aliases: [o]
|
|
556
576
|
description: Output directory.
|
|
557
|
-
|
|
577
|
+
value_name: path
|
|
558
578
|
schema:
|
|
559
579
|
type: string
|
|
560
580
|
default: design/
|
|
@@ -566,7 +586,7 @@ commandSets:
|
|
|
566
586
|
type: boolean
|
|
567
587
|
default: false
|
|
568
588
|
effects:
|
|
569
|
-
|
|
589
|
+
risk_level: medium
|
|
570
590
|
writes:
|
|
571
591
|
- target: "existing model and spec files"
|
|
572
592
|
description: "overwrites existing TypeScript model source files"
|
|
@@ -580,7 +600,7 @@ commandSets:
|
|
|
580
600
|
|
|
581
601
|
- name: format
|
|
582
602
|
description: "Spec data format: ts (default) or yaml."
|
|
583
|
-
|
|
603
|
+
value_name: format
|
|
584
604
|
schema:
|
|
585
605
|
type: string
|
|
586
606
|
default: ts
|
|
@@ -598,7 +618,7 @@ commandSets:
|
|
|
598
618
|
format: text
|
|
599
619
|
|
|
600
620
|
x-agent:
|
|
601
|
-
|
|
621
|
+
recommended_before_use:
|
|
602
622
|
- "Run with --dry-run first to preview generated files"
|
|
603
623
|
|
|
604
624
|
# ── convert ───────────────────────────────────────
|
|
@@ -614,7 +634,7 @@ commandSets:
|
|
|
614
634
|
- speckeeper convert design/glossary.ts --dry-run
|
|
615
635
|
|
|
616
636
|
effects:
|
|
617
|
-
|
|
637
|
+
risk_level: low
|
|
618
638
|
writes:
|
|
619
639
|
- target: ".yaml output file"
|
|
620
640
|
description: "YAML conversion of the TS spec data"
|
|
@@ -632,7 +652,7 @@ commandSets:
|
|
|
632
652
|
- name: output
|
|
633
653
|
aliases: [o]
|
|
634
654
|
description: "Output file path (default: same name with .yaml extension)."
|
|
635
|
-
|
|
655
|
+
value_name: path
|
|
636
656
|
schema:
|
|
637
657
|
type: string
|
|
638
658
|
file:
|
|
@@ -678,7 +698,7 @@ commandSets:
|
|
|
678
698
|
- name: config
|
|
679
699
|
aliases: [c]
|
|
680
700
|
description: Path to config file.
|
|
681
|
-
|
|
701
|
+
value_name: path
|
|
682
702
|
schema:
|
|
683
703
|
type: string
|
|
684
704
|
file:
|
|
@@ -689,14 +709,14 @@ commandSets:
|
|
|
689
709
|
- name: adapter
|
|
690
710
|
aliases: [a]
|
|
691
711
|
description: SDK adapter to use for LLM execution.
|
|
692
|
-
|
|
712
|
+
value_name: name
|
|
693
713
|
schema:
|
|
694
714
|
type: string
|
|
695
715
|
enum: [cursor, claude, openai, gemini, mock]
|
|
696
716
|
|
|
697
717
|
- name: model
|
|
698
718
|
description: LLM model override.
|
|
699
|
-
|
|
719
|
+
value_name: name
|
|
700
720
|
schema:
|
|
701
721
|
type: string
|
|
702
722
|
|
|
@@ -715,7 +735,7 @@ commandSets:
|
|
|
715
735
|
|
|
716
736
|
- name: fail-on
|
|
717
737
|
description: Minimum severity that causes a non-zero exit.
|
|
718
|
-
|
|
738
|
+
value_name: level
|
|
719
739
|
schema:
|
|
720
740
|
type: string
|
|
721
741
|
enum: [warning, error, critical]
|
|
@@ -724,7 +744,7 @@ commandSets:
|
|
|
724
744
|
- name: output
|
|
725
745
|
aliases: [o]
|
|
726
746
|
description: Write result to a file instead of stdout.
|
|
727
|
-
|
|
747
|
+
value_name: file
|
|
728
748
|
schema:
|
|
729
749
|
type: string
|
|
730
750
|
file:
|
|
@@ -733,7 +753,7 @@ commandSets:
|
|
|
733
753
|
|
|
734
754
|
- name: report-format
|
|
735
755
|
description: Output format for the audit report.
|
|
736
|
-
|
|
756
|
+
value_name: fmt
|
|
737
757
|
schema:
|
|
738
758
|
type: string
|
|
739
759
|
enum: [json, text, yaml]
|
|
@@ -775,7 +795,7 @@ commandSets:
|
|
|
775
795
|
format: text
|
|
776
796
|
|
|
777
797
|
x-agent:
|
|
778
|
-
|
|
798
|
+
recommended_before_use:
|
|
779
799
|
- "Run with --dry-run first to preview the prompt"
|
|
780
800
|
retryableExitCodes: [12]
|
|
781
801
|
|
|
@@ -799,7 +819,7 @@ commandSets:
|
|
|
799
819
|
- name: config
|
|
800
820
|
aliases: [c]
|
|
801
821
|
description: Path to config file.
|
|
802
|
-
|
|
822
|
+
value_name: path
|
|
803
823
|
schema:
|
|
804
824
|
type: string
|
|
805
825
|
file:
|
|
@@ -810,14 +830,14 @@ commandSets:
|
|
|
810
830
|
- name: adapter
|
|
811
831
|
aliases: [a]
|
|
812
832
|
description: SDK adapter to use for LLM execution.
|
|
813
|
-
|
|
833
|
+
value_name: name
|
|
814
834
|
schema:
|
|
815
835
|
type: string
|
|
816
836
|
enum: [cursor, claude, openai, gemini, mock]
|
|
817
837
|
|
|
818
838
|
- name: model
|
|
819
839
|
description: LLM model override.
|
|
820
|
-
|
|
840
|
+
value_name: name
|
|
821
841
|
schema:
|
|
822
842
|
type: string
|
|
823
843
|
|
|
@@ -836,7 +856,7 @@ commandSets:
|
|
|
836
856
|
|
|
837
857
|
- name: fail-on
|
|
838
858
|
description: Minimum severity that causes a non-zero exit.
|
|
839
|
-
|
|
859
|
+
value_name: level
|
|
840
860
|
schema:
|
|
841
861
|
type: string
|
|
842
862
|
enum: [warning, error, critical]
|
|
@@ -845,7 +865,7 @@ commandSets:
|
|
|
845
865
|
- name: output
|
|
846
866
|
aliases: [o]
|
|
847
867
|
description: Write result to a file instead of stdout.
|
|
848
|
-
|
|
868
|
+
value_name: file
|
|
849
869
|
schema:
|
|
850
870
|
type: string
|
|
851
871
|
file:
|
|
@@ -854,7 +874,7 @@ commandSets:
|
|
|
854
874
|
|
|
855
875
|
- name: report-format
|
|
856
876
|
description: Output format for the report.
|
|
857
|
-
|
|
877
|
+
value_name: fmt
|
|
858
878
|
schema:
|
|
859
879
|
type: string
|
|
860
880
|
enum: [json, text, yaml]
|
|
@@ -896,7 +916,7 @@ commandSets:
|
|
|
896
916
|
format: text
|
|
897
917
|
|
|
898
918
|
x-agent:
|
|
899
|
-
|
|
919
|
+
recommended_before_use:
|
|
900
920
|
- "Run with --dry-run first to preview the prompt"
|
|
901
921
|
retryableExitCodes: [12]
|
|
902
922
|
|
|
@@ -928,14 +948,14 @@ commandSets:
|
|
|
928
948
|
- name: adapter
|
|
929
949
|
aliases: [a]
|
|
930
950
|
description: SDK adapter to use for LLM execution.
|
|
931
|
-
|
|
951
|
+
value_name: name
|
|
932
952
|
schema:
|
|
933
953
|
type: string
|
|
934
954
|
enum: [cursor, claude, openai, gemini, mock]
|
|
935
955
|
|
|
936
956
|
- name: model
|
|
937
957
|
description: LLM model override.
|
|
938
|
-
|
|
958
|
+
value_name: name
|
|
939
959
|
schema:
|
|
940
960
|
type: string
|
|
941
961
|
|
|
@@ -954,7 +974,7 @@ commandSets:
|
|
|
954
974
|
|
|
955
975
|
- name: fail-on
|
|
956
976
|
description: Minimum severity that causes a non-zero exit.
|
|
957
|
-
|
|
977
|
+
value_name: level
|
|
958
978
|
schema:
|
|
959
979
|
type: string
|
|
960
980
|
enum: [warning, error, critical]
|
|
@@ -963,7 +983,7 @@ commandSets:
|
|
|
963
983
|
- name: output
|
|
964
984
|
aliases: [o]
|
|
965
985
|
description: Write result to a file instead of stdout.
|
|
966
|
-
|
|
986
|
+
value_name: file
|
|
967
987
|
schema:
|
|
968
988
|
type: string
|
|
969
989
|
file:
|
|
@@ -972,7 +992,7 @@ commandSets:
|
|
|
972
992
|
|
|
973
993
|
- name: report-format
|
|
974
994
|
description: Output format for the report.
|
|
975
|
-
|
|
995
|
+
value_name: fmt
|
|
976
996
|
schema:
|
|
977
997
|
type: string
|
|
978
998
|
enum: [json, text, yaml]
|
|
@@ -1014,7 +1034,7 @@ commandSets:
|
|
|
1014
1034
|
format: text
|
|
1015
1035
|
|
|
1016
1036
|
x-agent:
|
|
1017
|
-
|
|
1037
|
+
recommended_before_use:
|
|
1018
1038
|
- "Run with --dry-run first to preview the prompt"
|
|
1019
1039
|
retryableExitCodes: [12]
|
|
1020
1040
|
|
|
@@ -1048,7 +1068,7 @@ commandSets:
|
|
|
1048
1068
|
- name: config
|
|
1049
1069
|
aliases: [c]
|
|
1050
1070
|
description: Path to config file.
|
|
1051
|
-
|
|
1071
|
+
value_name: path
|
|
1052
1072
|
schema:
|
|
1053
1073
|
type: string
|
|
1054
1074
|
file:
|
|
@@ -1059,14 +1079,14 @@ commandSets:
|
|
|
1059
1079
|
- name: adapter
|
|
1060
1080
|
aliases: [a]
|
|
1061
1081
|
description: SDK adapter to use for LLM execution.
|
|
1062
|
-
|
|
1082
|
+
value_name: name
|
|
1063
1083
|
schema:
|
|
1064
1084
|
type: string
|
|
1065
1085
|
enum: [cursor, claude, openai, gemini, mock]
|
|
1066
1086
|
|
|
1067
1087
|
- name: model
|
|
1068
1088
|
description: LLM model override.
|
|
1069
|
-
|
|
1089
|
+
value_name: name
|
|
1070
1090
|
schema:
|
|
1071
1091
|
type: string
|
|
1072
1092
|
|
|
@@ -1085,7 +1105,7 @@ commandSets:
|
|
|
1085
1105
|
|
|
1086
1106
|
- name: fail-on
|
|
1087
1107
|
description: Minimum severity that causes a non-zero exit.
|
|
1088
|
-
|
|
1108
|
+
value_name: level
|
|
1089
1109
|
schema:
|
|
1090
1110
|
type: string
|
|
1091
1111
|
enum: [warning, error, critical]
|
|
@@ -1094,7 +1114,7 @@ commandSets:
|
|
|
1094
1114
|
- name: output
|
|
1095
1115
|
aliases: [o]
|
|
1096
1116
|
description: Write result to a file instead of stdout.
|
|
1097
|
-
|
|
1117
|
+
value_name: file
|
|
1098
1118
|
schema:
|
|
1099
1119
|
type: string
|
|
1100
1120
|
file:
|
|
@@ -1103,7 +1123,7 @@ commandSets:
|
|
|
1103
1123
|
|
|
1104
1124
|
- name: report-format
|
|
1105
1125
|
description: Output format for the report.
|
|
1106
|
-
|
|
1126
|
+
value_name: fmt
|
|
1107
1127
|
schema:
|
|
1108
1128
|
type: string
|
|
1109
1129
|
enum: [json, text, yaml]
|
|
@@ -1145,7 +1165,7 @@ commandSets:
|
|
|
1145
1165
|
format: text
|
|
1146
1166
|
|
|
1147
1167
|
x-agent:
|
|
1148
|
-
|
|
1168
|
+
recommended_before_use:
|
|
1149
1169
|
- "Run with --dry-run first to preview the prompt"
|
|
1150
1170
|
retryableExitCodes: [12]
|
|
1151
1171
|
|