@jspg-ai/coding-bb 0.0.3-beta.4 → 0.0.3-beta.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.
Files changed (85) hide show
  1. package/cbb/dev-standards/rules/cbb-ai-behavior.md +118 -116
  2. package/cbb/lib/install/codebuddy.js +32 -0
  3. package/cbb/lib/install/init.js +85 -35
  4. package/cbb/lib/install/rule-rewrite.js +27 -0
  5. package/cbb/lib/install/trae.js +35 -0
  6. package/cbb/lib/openspec/index.js +337 -554
  7. package/cbb/lib/superpowers/index.js +246 -265
  8. package/cbb/lib/utils/check-update.js +8 -1
  9. package/cbb/lib/utils/gitignore.js +2 -0
  10. package/cbb/lib/utils/settings.js +17 -4
  11. package/cbb/lib/utils/tar.js +92 -0
  12. package/cbb/lib/utils/upstream.js +90 -0
  13. package/cbb/worktrees/commands/worktree-close.md +1 -1
  14. package/config/upstream-mirrors.json +12 -0
  15. package/config/workspace-agents.sample.md +41 -39
  16. package/openspec/.version +2 -3
  17. package/openspec/commands/apply.md +189 -175
  18. package/openspec/commands/archive.md +237 -216
  19. package/openspec/commands/bulk-archive.md +355 -327
  20. package/openspec/commands/continue.md +116 -105
  21. package/openspec/commands/explore.md +230 -199
  22. package/openspec/commands/ff.md +115 -104
  23. package/openspec/commands/new.md +74 -63
  24. package/openspec/commands/onboard.md +557 -548
  25. package/openspec/commands/propose.md +161 -150
  26. package/openspec/commands/sync.md +277 -249
  27. package/openspec/commands/update.md +92 -80
  28. package/openspec/commands/verify.md +175 -162
  29. package/openspec/skills/openspec-apply-change/SKILL.md +20 -5
  30. package/openspec/skills/openspec-archive-change/SKILL.md +30 -8
  31. package/openspec/skills/openspec-bulk-archive-change/SKILL.md +36 -6
  32. package/openspec/skills/openspec-continue-change/SKILL.md +14 -2
  33. package/openspec/skills/openspec-explore/SKILL.md +21 -9
  34. package/openspec/skills/openspec-ff-change/SKILL.md +14 -2
  35. package/openspec/skills/openspec-new-change/SKILL.md +13 -1
  36. package/openspec/skills/openspec-onboard/SKILL.md +49 -39
  37. package/openspec/skills/openspec-propose/SKILL.md +15 -3
  38. package/openspec/skills/openspec-sync-specs/SKILL.md +31 -2
  39. package/openspec/skills/openspec-update-change/SKILL.md +27 -14
  40. package/openspec/skills/openspec-verify-change/SKILL.md +17 -3
  41. package/package.json +2 -2
  42. package/superpowers/.version +4 -4
  43. package/superpowers/skills/brainstorming/SKILL.md +47 -12
  44. package/superpowers/skills/brainstorming/scripts/frame-template.html +213 -213
  45. package/superpowers/skills/brainstorming/scripts/server.cjs +723 -723
  46. package/superpowers/skills/brainstorming/visual-companion.md +6 -6
  47. package/superpowers/skills/diagnosing-superpowers/SKILL.md +120 -0
  48. package/superpowers/skills/diagnosing-superpowers/prompts/analyst-common.md +38 -0
  49. package/superpowers/skills/diagnosing-superpowers/prompts/cost-and-time.md +28 -0
  50. package/superpowers/skills/diagnosing-superpowers/prompts/plan-adherence.md +29 -0
  51. package/superpowers/skills/diagnosing-superpowers/prompts/quality-evidence.md +26 -0
  52. package/superpowers/skills/diagnosing-superpowers/prompts/repeated-work.md +30 -0
  53. package/superpowers/skills/diagnosing-superpowers/prompts/request-conflicts.md +20 -0
  54. package/superpowers/skills/diagnosing-superpowers/prompts/scrub-audit.md +33 -0
  55. package/superpowers/skills/diagnosing-superpowers/prompts/scrub.md +29 -0
  56. package/superpowers/skills/diagnosing-superpowers/prompts/similar-session.md +38 -0
  57. package/superpowers/skills/diagnosing-superpowers/prompts/skill-timeline.md +30 -0
  58. package/superpowers/skills/diagnosing-superpowers/prompts/stumbles.md +28 -0
  59. package/superpowers/skills/diagnosing-superpowers/references/context-safety.md +22 -0
  60. package/superpowers/skills/diagnosing-superpowers/references/github-issues.md +47 -0
  61. package/superpowers/skills/diagnosing-superpowers/references/redaction-policy.md +34 -0
  62. package/superpowers/skills/diagnosing-superpowers/references/session-discovery.md +31 -0
  63. package/superpowers/skills/diagnosing-superpowers/templates/bundle-README.md +77 -0
  64. package/superpowers/skills/diagnosing-superpowers/templates/case.md +64 -0
  65. package/superpowers/skills/diagnosing-superpowers/templates/issue.md +51 -0
  66. package/superpowers/skills/diagnosing-superpowers/templates/report.md +82 -0
  67. package/superpowers/skills/executing-plans/SKILL.md +350 -41
  68. package/superpowers/skills/executing-plans/scripts/task-done +52 -0
  69. package/superpowers/skills/executing-plans/scripts/task-start +28 -0
  70. package/superpowers/skills/requesting-code-review/SKILL.md +1 -1
  71. package/superpowers/skills/requesting-code-review/code-reviewer.md +17 -0
  72. package/superpowers/skills/subagent-driven-development/SKILL.md +18 -18
  73. package/superpowers/skills/subagent-driven-development/re-review-prompt.md +1 -1
  74. package/superpowers/skills/subagent-driven-development/scripts/review-package +53 -46
  75. package/superpowers/skills/subagent-driven-development/scripts/sdd-workspace +82 -40
  76. package/superpowers/skills/subagent-driven-development/scripts/task-brief +43 -41
  77. package/superpowers/skills/subagent-driven-development/task-reviewer-prompt.md +2 -2
  78. package/superpowers/skills/systematic-debugging/root-cause-tracing.md +1 -1
  79. package/superpowers/skills/test-driven-development/SKILL.md +10 -0
  80. package/superpowers/skills/using-superpowers/SKILL.md +2 -0
  81. package/superpowers/skills/using-superpowers/references/claude-code-tools.md +29 -0
  82. package/superpowers/skills/using-superpowers/references/muse-tools.md +35 -0
  83. package/superpowers/skills/writing-plans/SKILL.md +30 -9
  84. package/superpowers/skills/writing-skills/SKILL.md +4 -2
  85. package/superpowers/skills/writing-skills/graphviz-conventions.dot +171 -171
@@ -1,172 +1,172 @@
1
- digraph STYLE_GUIDE {
2
- // The style guide for our process DSL, written in the DSL itself
3
-
4
- // Node type examples with their shapes
5
- subgraph cluster_node_types {
6
- label="NODE TYPES AND SHAPES";
7
-
8
- // Questions are diamonds
9
- "Is this a question?" [shape=diamond];
10
-
11
- // Actions are boxes (default)
12
- "Take an action" [shape=box];
13
-
14
- // Commands are plaintext
15
- "git commit -m 'msg'" [shape=plaintext];
16
-
17
- // States are ellipses
18
- "Current state" [shape=ellipse];
19
-
20
- // Warnings are octagons
21
- "STOP: Critical warning" [shape=octagon, style=filled, fillcolor=red, fontcolor=white];
22
-
23
- // Entry/exit are double circles
24
- "Process starts" [shape=doublecircle];
25
- "Process complete" [shape=doublecircle];
26
-
27
- // Examples of each
28
- "Is test passing?" [shape=diamond];
29
- "Write test first" [shape=box];
30
- "npm test" [shape=plaintext];
31
- "I am stuck" [shape=ellipse];
32
- "NEVER use git add -A" [shape=octagon, style=filled, fillcolor=red, fontcolor=white];
33
- }
34
-
35
- // Edge naming conventions
36
- subgraph cluster_edge_types {
37
- label="EDGE LABELS";
38
-
39
- "Binary decision?" [shape=diamond];
40
- "Yes path" [shape=box];
41
- "No path" [shape=box];
42
-
43
- "Binary decision?" -> "Yes path" [label="yes"];
44
- "Binary decision?" -> "No path" [label="no"];
45
-
46
- "Multiple choice?" [shape=diamond];
47
- "Option A" [shape=box];
48
- "Option B" [shape=box];
49
- "Option C" [shape=box];
50
-
51
- "Multiple choice?" -> "Option A" [label="condition A"];
52
- "Multiple choice?" -> "Option B" [label="condition B"];
53
- "Multiple choice?" -> "Option C" [label="otherwise"];
54
-
55
- "Process A done" [shape=doublecircle];
56
- "Process B starts" [shape=doublecircle];
57
-
58
- "Process A done" -> "Process B starts" [label="triggers", style=dotted];
59
- }
60
-
61
- // Naming patterns
62
- subgraph cluster_naming_patterns {
63
- label="NAMING PATTERNS";
64
-
65
- // Questions end with ?
66
- "Should I do X?";
67
- "Can this be Y?";
68
- "Is Z true?";
69
- "Have I done W?";
70
-
71
- // Actions start with verb
72
- "Write the test";
73
- "Search for patterns";
74
- "Commit changes";
75
- "Ask for help";
76
-
77
- // Commands are literal
78
- "grep -r 'pattern' .";
79
- "git status";
80
- "npm run build";
81
-
82
- // States describe situation
83
- "Test is failing";
84
- "Build complete";
85
- "Stuck on error";
86
- }
87
-
88
- // Process structure template
89
- subgraph cluster_structure {
90
- label="PROCESS STRUCTURE TEMPLATE";
91
-
92
- "Trigger: Something happens" [shape=ellipse];
93
- "Initial check?" [shape=diamond];
94
- "Main action" [shape=box];
95
- "git status" [shape=plaintext];
96
- "Another check?" [shape=diamond];
97
- "Alternative action" [shape=box];
98
- "STOP: Don't do this" [shape=octagon, style=filled, fillcolor=red, fontcolor=white];
99
- "Process complete" [shape=doublecircle];
100
-
101
- "Trigger: Something happens" -> "Initial check?";
102
- "Initial check?" -> "Main action" [label="yes"];
103
- "Initial check?" -> "Alternative action" [label="no"];
104
- "Main action" -> "git status";
105
- "git status" -> "Another check?";
106
- "Another check?" -> "Process complete" [label="ok"];
107
- "Another check?" -> "STOP: Don't do this" [label="problem"];
108
- "Alternative action" -> "Process complete";
109
- }
110
-
111
- // When to use which shape
112
- subgraph cluster_shape_rules {
113
- label="WHEN TO USE EACH SHAPE";
114
-
115
- "Choosing a shape" [shape=ellipse];
116
-
117
- "Is it a decision?" [shape=diamond];
118
- "Use diamond" [shape=diamond, style=filled, fillcolor=lightblue];
119
-
120
- "Is it a command?" [shape=diamond];
121
- "Use plaintext" [shape=plaintext, style=filled, fillcolor=lightgray];
122
-
123
- "Is it a warning?" [shape=diamond];
124
- "Use octagon" [shape=octagon, style=filled, fillcolor=pink];
125
-
126
- "Is it entry/exit?" [shape=diamond];
127
- "Use doublecircle" [shape=doublecircle, style=filled, fillcolor=lightgreen];
128
-
129
- "Is it a state?" [shape=diamond];
130
- "Use ellipse" [shape=ellipse, style=filled, fillcolor=lightyellow];
131
-
132
- "Default: use box" [shape=box, style=filled, fillcolor=lightcyan];
133
-
134
- "Choosing a shape" -> "Is it a decision?";
135
- "Is it a decision?" -> "Use diamond" [label="yes"];
136
- "Is it a decision?" -> "Is it a command?" [label="no"];
137
- "Is it a command?" -> "Use plaintext" [label="yes"];
138
- "Is it a command?" -> "Is it a warning?" [label="no"];
139
- "Is it a warning?" -> "Use octagon" [label="yes"];
140
- "Is it a warning?" -> "Is it entry/exit?" [label="no"];
141
- "Is it entry/exit?" -> "Use doublecircle" [label="yes"];
142
- "Is it entry/exit?" -> "Is it a state?" [label="no"];
143
- "Is it a state?" -> "Use ellipse" [label="yes"];
144
- "Is it a state?" -> "Default: use box" [label="no"];
145
- }
146
-
147
- // Good vs bad examples
148
- subgraph cluster_examples {
149
- label="GOOD VS BAD EXAMPLES";
150
-
151
- // Good: specific and shaped correctly
152
- "Test failed" [shape=ellipse];
153
- "Read error message" [shape=box];
154
- "Can reproduce?" [shape=diamond];
155
- "git diff HEAD~1" [shape=plaintext];
156
- "NEVER ignore errors" [shape=octagon, style=filled, fillcolor=red, fontcolor=white];
157
-
158
- "Test failed" -> "Read error message";
159
- "Read error message" -> "Can reproduce?";
160
- "Can reproduce?" -> "git diff HEAD~1" [label="yes"];
161
-
162
- // Bad: vague and wrong shapes
163
- bad_1 [label="Something wrong", shape=box]; // Should be ellipse (state)
164
- bad_2 [label="Fix it", shape=box]; // Too vague
165
- bad_3 [label="Check", shape=box]; // Should be diamond
166
- bad_4 [label="Run command", shape=box]; // Should be plaintext with actual command
167
-
168
- bad_1 -> bad_2;
169
- bad_2 -> bad_3;
170
- bad_3 -> bad_4;
171
- }
1
+ digraph STYLE_GUIDE {
2
+ // The style guide for our process DSL, written in the DSL itself
3
+
4
+ // Node type examples with their shapes
5
+ subgraph cluster_node_types {
6
+ label="NODE TYPES AND SHAPES";
7
+
8
+ // Questions are diamonds
9
+ "Is this a question?" [shape=diamond];
10
+
11
+ // Actions are boxes (default)
12
+ "Take an action" [shape=box];
13
+
14
+ // Commands are plaintext
15
+ "git commit -m 'msg'" [shape=plaintext];
16
+
17
+ // States are ellipses
18
+ "Current state" [shape=ellipse];
19
+
20
+ // Warnings are octagons
21
+ "STOP: Critical warning" [shape=octagon, style=filled, fillcolor=red, fontcolor=white];
22
+
23
+ // Entry/exit are double circles
24
+ "Process starts" [shape=doublecircle];
25
+ "Process complete" [shape=doublecircle];
26
+
27
+ // Examples of each
28
+ "Is test passing?" [shape=diamond];
29
+ "Write test first" [shape=box];
30
+ "npm test" [shape=plaintext];
31
+ "I am stuck" [shape=ellipse];
32
+ "NEVER use git add -A" [shape=octagon, style=filled, fillcolor=red, fontcolor=white];
33
+ }
34
+
35
+ // Edge naming conventions
36
+ subgraph cluster_edge_types {
37
+ label="EDGE LABELS";
38
+
39
+ "Binary decision?" [shape=diamond];
40
+ "Yes path" [shape=box];
41
+ "No path" [shape=box];
42
+
43
+ "Binary decision?" -> "Yes path" [label="yes"];
44
+ "Binary decision?" -> "No path" [label="no"];
45
+
46
+ "Multiple choice?" [shape=diamond];
47
+ "Option A" [shape=box];
48
+ "Option B" [shape=box];
49
+ "Option C" [shape=box];
50
+
51
+ "Multiple choice?" -> "Option A" [label="condition A"];
52
+ "Multiple choice?" -> "Option B" [label="condition B"];
53
+ "Multiple choice?" -> "Option C" [label="otherwise"];
54
+
55
+ "Process A done" [shape=doublecircle];
56
+ "Process B starts" [shape=doublecircle];
57
+
58
+ "Process A done" -> "Process B starts" [label="triggers", style=dotted];
59
+ }
60
+
61
+ // Naming patterns
62
+ subgraph cluster_naming_patterns {
63
+ label="NAMING PATTERNS";
64
+
65
+ // Questions end with ?
66
+ "Should I do X?";
67
+ "Can this be Y?";
68
+ "Is Z true?";
69
+ "Have I done W?";
70
+
71
+ // Actions start with verb
72
+ "Write the test";
73
+ "Search for patterns";
74
+ "Commit changes";
75
+ "Ask for help";
76
+
77
+ // Commands are literal
78
+ "grep -r 'pattern' .";
79
+ "git status";
80
+ "npm run build";
81
+
82
+ // States describe situation
83
+ "Test is failing";
84
+ "Build complete";
85
+ "Stuck on error";
86
+ }
87
+
88
+ // Process structure template
89
+ subgraph cluster_structure {
90
+ label="PROCESS STRUCTURE TEMPLATE";
91
+
92
+ "Trigger: Something happens" [shape=ellipse];
93
+ "Initial check?" [shape=diamond];
94
+ "Main action" [shape=box];
95
+ "git status" [shape=plaintext];
96
+ "Another check?" [shape=diamond];
97
+ "Alternative action" [shape=box];
98
+ "STOP: Don't do this" [shape=octagon, style=filled, fillcolor=red, fontcolor=white];
99
+ "Process complete" [shape=doublecircle];
100
+
101
+ "Trigger: Something happens" -> "Initial check?";
102
+ "Initial check?" -> "Main action" [label="yes"];
103
+ "Initial check?" -> "Alternative action" [label="no"];
104
+ "Main action" -> "git status";
105
+ "git status" -> "Another check?";
106
+ "Another check?" -> "Process complete" [label="ok"];
107
+ "Another check?" -> "STOP: Don't do this" [label="problem"];
108
+ "Alternative action" -> "Process complete";
109
+ }
110
+
111
+ // When to use which shape
112
+ subgraph cluster_shape_rules {
113
+ label="WHEN TO USE EACH SHAPE";
114
+
115
+ "Choosing a shape" [shape=ellipse];
116
+
117
+ "Is it a decision?" [shape=diamond];
118
+ "Use diamond" [shape=diamond, style=filled, fillcolor=lightblue];
119
+
120
+ "Is it a command?" [shape=diamond];
121
+ "Use plaintext" [shape=plaintext, style=filled, fillcolor=lightgray];
122
+
123
+ "Is it a warning?" [shape=diamond];
124
+ "Use octagon" [shape=octagon, style=filled, fillcolor=pink];
125
+
126
+ "Is it entry/exit?" [shape=diamond];
127
+ "Use doublecircle" [shape=doublecircle, style=filled, fillcolor=lightgreen];
128
+
129
+ "Is it a state?" [shape=diamond];
130
+ "Use ellipse" [shape=ellipse, style=filled, fillcolor=lightyellow];
131
+
132
+ "Default: use box" [shape=box, style=filled, fillcolor=lightcyan];
133
+
134
+ "Choosing a shape" -> "Is it a decision?";
135
+ "Is it a decision?" -> "Use diamond" [label="yes"];
136
+ "Is it a decision?" -> "Is it a command?" [label="no"];
137
+ "Is it a command?" -> "Use plaintext" [label="yes"];
138
+ "Is it a command?" -> "Is it a warning?" [label="no"];
139
+ "Is it a warning?" -> "Use octagon" [label="yes"];
140
+ "Is it a warning?" -> "Is it entry/exit?" [label="no"];
141
+ "Is it entry/exit?" -> "Use doublecircle" [label="yes"];
142
+ "Is it entry/exit?" -> "Is it a state?" [label="no"];
143
+ "Is it a state?" -> "Use ellipse" [label="yes"];
144
+ "Is it a state?" -> "Default: use box" [label="no"];
145
+ }
146
+
147
+ // Good vs bad examples
148
+ subgraph cluster_examples {
149
+ label="GOOD VS BAD EXAMPLES";
150
+
151
+ // Good: specific and shaped correctly
152
+ "Test failed" [shape=ellipse];
153
+ "Read error message" [shape=box];
154
+ "Can reproduce?" [shape=diamond];
155
+ "git diff HEAD~1" [shape=plaintext];
156
+ "NEVER ignore errors" [shape=octagon, style=filled, fillcolor=red, fontcolor=white];
157
+
158
+ "Test failed" -> "Read error message";
159
+ "Read error message" -> "Can reproduce?";
160
+ "Can reproduce?" -> "git diff HEAD~1" [label="yes"];
161
+
162
+ // Bad: vague and wrong shapes
163
+ bad_1 [label="Something wrong", shape=box]; // Should be ellipse (state)
164
+ bad_2 [label="Fix it", shape=box]; // Too vague
165
+ bad_3 [label="Check", shape=box]; // Should be diamond
166
+ bad_4 [label="Run command", shape=box]; // Should be plaintext with actual command
167
+
168
+ bad_1 -> bad_2;
169
+ bad_2 -> bad_3;
170
+ bad_3 -> bad_4;
171
+ }
172
172
  }