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 CHANGED
@@ -1,9 +1,9 @@
1
1
  # yaml-language-server: $schema=./node_modules/cli-contracts/schemas/cli-contract.schema.json
2
- cliContracts: 0.1.0
2
+ cli_contracts: 0.1.0
3
3
 
4
4
  info:
5
5
  title: speckeeper CLI
6
- version: 0.10.1
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
- commandSets:
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
- globalOptions:
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
- riskLevel: medium
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
- riskLevel: high
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
- valueName: format
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
- riskLevel: low
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
- valueName: path
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
- valueName: path
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
- valueName: format
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
- valueName: path
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
- valueName: phase
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
- valueName: format
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
- valueName: path
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
- valueName: format
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
- valueName: path
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
- riskLevel: low
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
- valueName: kind
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
- valueName: name
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
- valueName: path
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
- valueName: path
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
- valueName: path
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
- valueName: n
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
- valueName: direction
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
- valueName: format
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
- riskLevel: low
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
- valueName: path
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
- valueName: path
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
- riskLevel: medium
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
- valueName: format
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
- recommendedBeforeUse:
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
- riskLevel: low
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
- valueName: path
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
- valueName: path
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
- valueName: name
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
- valueName: name
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
- valueName: level
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
- valueName: file
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
- valueName: fmt
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
- recommendedBeforeUse:
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
- valueName: path
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
- valueName: name
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
- valueName: name
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
- valueName: level
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
- valueName: file
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
- valueName: fmt
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
- recommendedBeforeUse:
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
- valueName: name
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
- valueName: name
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
- valueName: level
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
- valueName: file
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
- valueName: fmt
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
- recommendedBeforeUse:
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
- valueName: path
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
- valueName: name
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
- valueName: name
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
- valueName: level
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
- valueName: file
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
- valueName: fmt
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
- recommendedBeforeUse:
1168
+ recommended_before_use:
1149
1169
  - "Run with --dry-run first to preview the prompt"
1150
1170
  retryableExitCodes: [12]
1151
1171