sequant 1.2.7 → 1.4.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.
Files changed (48) hide show
  1. package/README.md +3 -0
  2. package/dist/bin/cli.js +1 -0
  3. package/dist/bin/cli.js.map +1 -1
  4. package/dist/src/commands/init.d.ts +1 -0
  5. package/dist/src/commands/init.d.ts.map +1 -1
  6. package/dist/src/commands/init.js +50 -13
  7. package/dist/src/commands/init.js.map +1 -1
  8. package/dist/src/commands/init.test.js +37 -11
  9. package/dist/src/commands/init.test.js.map +1 -1
  10. package/dist/src/commands/run.d.ts +20 -0
  11. package/dist/src/commands/run.d.ts.map +1 -1
  12. package/dist/src/commands/run.js +33 -3
  13. package/dist/src/commands/run.js.map +1 -1
  14. package/dist/src/commands/run.test.js +166 -1
  15. package/dist/src/commands/run.test.js.map +1 -1
  16. package/dist/src/commands/update.d.ts.map +1 -1
  17. package/dist/src/commands/update.js +15 -3
  18. package/dist/src/commands/update.js.map +1 -1
  19. package/dist/src/lib/system.d.ts.map +1 -1
  20. package/dist/src/lib/system.js +9 -0
  21. package/dist/src/lib/system.js.map +1 -1
  22. package/dist/src/lib/system.test.js +27 -0
  23. package/dist/src/lib/system.test.js.map +1 -1
  24. package/dist/src/lib/tty.d.ts +2 -0
  25. package/dist/src/lib/tty.d.ts.map +1 -1
  26. package/dist/src/lib/tty.js +11 -6
  27. package/dist/src/lib/tty.js.map +1 -1
  28. package/dist/src/lib/tty.test.js +44 -2
  29. package/dist/src/lib/tty.test.js.map +1 -1
  30. package/dist/src/lib/wizard.d.ts +64 -0
  31. package/dist/src/lib/wizard.d.ts.map +1 -0
  32. package/dist/src/lib/wizard.js +255 -0
  33. package/dist/src/lib/wizard.js.map +1 -0
  34. package/dist/src/lib/wizard.test.d.ts +2 -0
  35. package/dist/src/lib/wizard.test.d.ts.map +1 -0
  36. package/dist/src/lib/wizard.test.js +268 -0
  37. package/dist/src/lib/wizard.test.js.map +1 -0
  38. package/dist/src/lib/workflow/run-log-schema.d.ts +10 -4
  39. package/dist/src/lib/workflow/run-log-schema.d.ts.map +1 -1
  40. package/dist/src/lib/workflow/run-log-schema.js +1 -0
  41. package/dist/src/lib/workflow/run-log-schema.js.map +1 -1
  42. package/dist/src/lib/workflow/types.d.ts +1 -1
  43. package/dist/src/lib/workflow/types.d.ts.map +1 -1
  44. package/dist/src/lib/workflow/types.js.map +1 -1
  45. package/package.json +2 -1
  46. package/templates/skills/fullsolve/SKILL.md +17 -0
  47. package/templates/skills/spec/references/recommended-workflow.md +92 -0
  48. package/templates/skills/test/SKILL.md +73 -6
@@ -0,0 +1,268 @@
1
+ import { describe, it, expect, vi, beforeEach, afterEach } from "vitest";
2
+ // Mock system functions
3
+ vi.mock("./system.js", () => ({
4
+ commandExists: vi.fn(),
5
+ isGhAuthenticated: vi.fn(),
6
+ getInstallHint: vi.fn((pkg) => {
7
+ if (pkg === "gh")
8
+ return "brew install gh";
9
+ if (pkg === "claude")
10
+ return "npm install -g @anthropic-ai/claude-code";
11
+ if (pkg === "jq")
12
+ return "brew install jq";
13
+ return `Install ${pkg}`;
14
+ }),
15
+ }));
16
+ // Mock tty functions
17
+ vi.mock("./tty.js", () => ({
18
+ isCI: vi.fn(),
19
+ }));
20
+ // Mock inquirer
21
+ vi.mock("inquirer", () => ({
22
+ default: {
23
+ prompt: vi.fn(),
24
+ },
25
+ }));
26
+ import { checkAllDependencies, displayDependencyStatus, getInstallInstructions, runSetupWizard, shouldRunSetupWizard, } from "./wizard.js";
27
+ import { commandExists, isGhAuthenticated } from "./system.js";
28
+ import { isCI } from "./tty.js";
29
+ import inquirer from "inquirer";
30
+ const mockCommandExists = vi.mocked(commandExists);
31
+ const mockIsGhAuthenticated = vi.mocked(isGhAuthenticated);
32
+ const mockIsCI = vi.mocked(isCI);
33
+ const mockInquirerPrompt = vi.mocked(inquirer.prompt);
34
+ describe("wizard", () => {
35
+ let consoleLogSpy;
36
+ beforeEach(() => {
37
+ vi.resetAllMocks();
38
+ consoleLogSpy = vi.spyOn(console, "log").mockImplementation(() => { });
39
+ mockIsCI.mockReturnValue(false);
40
+ });
41
+ afterEach(() => {
42
+ consoleLogSpy.mockRestore();
43
+ });
44
+ describe("checkAllDependencies", () => {
45
+ it("detects all dependencies installed and authenticated", () => {
46
+ mockCommandExists.mockReturnValue(true);
47
+ mockIsGhAuthenticated.mockReturnValue(true);
48
+ const result = checkAllDependencies();
49
+ expect(result.allRequiredMet).toBe(true);
50
+ expect(result.hasMissing).toBe(false);
51
+ expect(result.dependencies).toHaveLength(3);
52
+ const ghDep = result.dependencies.find((d) => d.name === "gh");
53
+ expect(ghDep?.installed).toBe(true);
54
+ expect(ghDep?.authenticated).toBe(true);
55
+ const claudeDep = result.dependencies.find((d) => d.name === "claude");
56
+ expect(claudeDep?.installed).toBe(true);
57
+ });
58
+ it("detects missing gh CLI", () => {
59
+ mockCommandExists.mockImplementation((cmd) => cmd !== "gh");
60
+ mockIsGhAuthenticated.mockReturnValue(false);
61
+ const result = checkAllDependencies();
62
+ expect(result.allRequiredMet).toBe(false);
63
+ expect(result.hasMissing).toBe(true);
64
+ const ghDep = result.dependencies.find((d) => d.name === "gh");
65
+ expect(ghDep?.installed).toBe(false);
66
+ });
67
+ it("detects gh installed but not authenticated", () => {
68
+ mockCommandExists.mockReturnValue(true);
69
+ mockIsGhAuthenticated.mockReturnValue(false);
70
+ const result = checkAllDependencies();
71
+ expect(result.allRequiredMet).toBe(false);
72
+ expect(result.hasMissing).toBe(true);
73
+ const ghDep = result.dependencies.find((d) => d.name === "gh");
74
+ expect(ghDep?.installed).toBe(true);
75
+ expect(ghDep?.authenticated).toBe(false);
76
+ });
77
+ it("detects missing claude CLI", () => {
78
+ mockCommandExists.mockImplementation((cmd) => cmd !== "claude");
79
+ mockIsGhAuthenticated.mockReturnValue(true);
80
+ const result = checkAllDependencies();
81
+ expect(result.allRequiredMet).toBe(false);
82
+ expect(result.hasMissing).toBe(true);
83
+ const claudeDep = result.dependencies.find((d) => d.name === "claude");
84
+ expect(claudeDep?.installed).toBe(false);
85
+ });
86
+ it("jq missing does not fail allRequiredMet (optional)", () => {
87
+ mockCommandExists.mockImplementation((cmd) => cmd !== "jq");
88
+ mockIsGhAuthenticated.mockReturnValue(true);
89
+ const result = checkAllDependencies();
90
+ // jq is optional, so all required should still be met
91
+ expect(result.allRequiredMet).toBe(true);
92
+ // But hasMissing only tracks required deps
93
+ expect(result.hasMissing).toBe(false);
94
+ const jqDep = result.dependencies.find((d) => d.name === "jq");
95
+ expect(jqDep?.installed).toBe(false);
96
+ expect(jqDep?.required).toBe(false);
97
+ });
98
+ });
99
+ describe("displayDependencyStatus", () => {
100
+ it("displays installed dependencies with checkmarks", () => {
101
+ mockCommandExists.mockReturnValue(true);
102
+ mockIsGhAuthenticated.mockReturnValue(true);
103
+ const result = checkAllDependencies();
104
+ displayDependencyStatus(result);
105
+ const output = consoleLogSpy.mock.calls.map((c) => c[0]).join("\n");
106
+ expect(output).toContain("Checking dependencies");
107
+ expect(output).toContain("GitHub CLI (gh)");
108
+ expect(output).toContain("installed");
109
+ });
110
+ it("displays missing required dependencies with X mark", () => {
111
+ mockCommandExists.mockReturnValue(false);
112
+ mockIsGhAuthenticated.mockReturnValue(false);
113
+ const result = checkAllDependencies();
114
+ displayDependencyStatus(result);
115
+ const output = consoleLogSpy.mock.calls.map((c) => c[0]).join("\n");
116
+ expect(output).toContain("not installed (required)");
117
+ });
118
+ it("displays unauthenticated gh with warning", () => {
119
+ mockCommandExists.mockReturnValue(true);
120
+ mockIsGhAuthenticated.mockReturnValue(false);
121
+ const result = checkAllDependencies();
122
+ displayDependencyStatus(result);
123
+ const output = consoleLogSpy.mock.calls.map((c) => c[0]).join("\n");
124
+ expect(output).toContain("installed but not authenticated");
125
+ });
126
+ });
127
+ describe("getInstallInstructions", () => {
128
+ it("returns install instructions for gh", () => {
129
+ const instructions = getInstallInstructions("gh");
130
+ expect(instructions.length).toBeGreaterThan(0);
131
+ expect(instructions.some((i) => i.includes("brew install gh"))).toBe(true);
132
+ expect(instructions.some((i) => i.includes("gh auth login"))).toBe(true);
133
+ });
134
+ it("returns install instructions for claude", () => {
135
+ const instructions = getInstallInstructions("claude");
136
+ expect(instructions.length).toBeGreaterThan(0);
137
+ expect(instructions.some((i) => i.includes("@anthropic-ai/claude-code"))).toBe(true);
138
+ });
139
+ it("returns install instructions for jq", () => {
140
+ const instructions = getInstallInstructions("jq");
141
+ expect(instructions.length).toBeGreaterThan(0);
142
+ expect(instructions.some((i) => i.includes("brew install jq"))).toBe(true);
143
+ });
144
+ it("returns generic instruction for unknown package", () => {
145
+ const instructions = getInstallInstructions("unknown-pkg");
146
+ expect(instructions.length).toBe(1);
147
+ expect(instructions[0]).toContain("Install unknown-pkg");
148
+ });
149
+ });
150
+ describe("runSetupWizard", () => {
151
+ it("returns completed when all dependencies are met", async () => {
152
+ mockCommandExists.mockReturnValue(true);
153
+ mockIsGhAuthenticated.mockReturnValue(true);
154
+ const depResult = checkAllDependencies();
155
+ const wizardResult = await runSetupWizard(depResult);
156
+ expect(wizardResult.skipped).toBe(false);
157
+ expect(wizardResult.completed).toBe(true);
158
+ expect(wizardResult.remainingIssues).toHaveLength(0);
159
+ });
160
+ it("returns skipped with issues when skipPrompts is true", async () => {
161
+ mockCommandExists.mockImplementation((cmd) => cmd !== "claude");
162
+ mockIsGhAuthenticated.mockReturnValue(true);
163
+ const depResult = checkAllDependencies();
164
+ const wizardResult = await runSetupWizard(depResult, {
165
+ skipPrompts: true,
166
+ });
167
+ expect(wizardResult.skipped).toBe(true);
168
+ expect(wizardResult.completed).toBe(false);
169
+ expect(wizardResult.remainingIssues).toContain("Claude Code CLI not installed");
170
+ });
171
+ it("returns skipped when user declines setup", async () => {
172
+ mockCommandExists.mockImplementation((cmd) => cmd !== "claude");
173
+ mockIsGhAuthenticated.mockReturnValue(true);
174
+ mockInquirerPrompt.mockResolvedValueOnce({ setupDeps: false });
175
+ const depResult = checkAllDependencies();
176
+ const wizardResult = await runSetupWizard(depResult);
177
+ expect(wizardResult.skipped).toBe(true);
178
+ expect(wizardResult.completed).toBe(false);
179
+ expect(wizardResult.remainingIssues.length).toBeGreaterThan(0);
180
+ });
181
+ it("verifies installation when user confirms", async () => {
182
+ // First check: claude is missing
183
+ mockCommandExists.mockImplementation((cmd) => cmd !== "claude");
184
+ mockIsGhAuthenticated.mockReturnValue(true);
185
+ const depResult = checkAllDependencies();
186
+ // User accepts wizard and verifies installation
187
+ mockInquirerPrompt
188
+ .mockResolvedValueOnce({ setupDeps: true })
189
+ .mockResolvedValueOnce({ action: "verify" });
190
+ // After verification, claude is now installed
191
+ mockCommandExists.mockReturnValue(true);
192
+ const wizardResult = await runSetupWizard(depResult);
193
+ expect(wizardResult.completed).toBe(true);
194
+ expect(wizardResult.remainingIssues).toHaveLength(0);
195
+ });
196
+ it("records remaining issues when user skips individual deps", async () => {
197
+ mockCommandExists.mockImplementation((cmd) => cmd !== "claude");
198
+ mockIsGhAuthenticated.mockReturnValue(true);
199
+ const depResult = checkAllDependencies();
200
+ // User accepts wizard but skips claude
201
+ mockInquirerPrompt
202
+ .mockResolvedValueOnce({ setupDeps: true })
203
+ .mockResolvedValueOnce({ action: "skip" });
204
+ const wizardResult = await runSetupWizard(depResult);
205
+ expect(wizardResult.completed).toBe(false);
206
+ expect(wizardResult.remainingIssues).toContain("Claude Code CLI not installed");
207
+ });
208
+ it("handles gh authentication issue specifically", async () => {
209
+ mockCommandExists.mockReturnValue(true);
210
+ mockIsGhAuthenticated.mockReturnValue(false);
211
+ const depResult = checkAllDependencies();
212
+ const wizardResult = await runSetupWizard(depResult, {
213
+ skipPrompts: true,
214
+ });
215
+ expect(wizardResult.remainingIssues).toContain("GitHub CLI (gh) not authenticated");
216
+ });
217
+ it("handles multiple missing dependencies in sequence", async () => {
218
+ // Both gh and claude are missing
219
+ mockCommandExists.mockReturnValue(false);
220
+ mockIsGhAuthenticated.mockReturnValue(false);
221
+ const depResult = checkAllDependencies();
222
+ // User accepts wizard, verifies gh (success), skips claude
223
+ mockInquirerPrompt
224
+ .mockResolvedValueOnce({ setupDeps: true })
225
+ .mockResolvedValueOnce({ action: "verify" }) // gh
226
+ .mockResolvedValueOnce({ action: "skip" }); // claude
227
+ // After first verify, gh is now installed and authenticated
228
+ mockCommandExists.mockImplementation((cmd) => cmd === "gh");
229
+ mockIsGhAuthenticated.mockReturnValue(true);
230
+ const wizardResult = await runSetupWizard(depResult);
231
+ expect(wizardResult.completed).toBe(false);
232
+ expect(wizardResult.remainingIssues).toContain("Claude Code CLI not installed");
233
+ expect(wizardResult.remainingIssues).not.toContain("GitHub CLI");
234
+ });
235
+ it("records issue when verification fails after user claims installation", async () => {
236
+ mockCommandExists.mockImplementation((cmd) => cmd !== "claude");
237
+ mockIsGhAuthenticated.mockReturnValue(true);
238
+ const depResult = checkAllDependencies();
239
+ // User accepts and tries to verify, but it's still not installed
240
+ mockInquirerPrompt
241
+ .mockResolvedValueOnce({ setupDeps: true })
242
+ .mockResolvedValueOnce({ action: "verify" });
243
+ // claude still not installed after "verification"
244
+ // (mockCommandExists already returns false for claude)
245
+ const wizardResult = await runSetupWizard(depResult);
246
+ expect(wizardResult.completed).toBe(false);
247
+ expect(wizardResult.remainingIssues).toContain("Claude Code CLI not installed");
248
+ });
249
+ });
250
+ describe("shouldRunSetupWizard", () => {
251
+ it("returns false when skipSetup is true", () => {
252
+ expect(shouldRunSetupWizard({ skipSetup: true })).toBe(false);
253
+ });
254
+ it("returns false in CI environment", () => {
255
+ mockIsCI.mockReturnValue(true);
256
+ expect(shouldRunSetupWizard({})).toBe(false);
257
+ });
258
+ it("returns true in normal terminal environment", () => {
259
+ mockIsCI.mockReturnValue(false);
260
+ expect(shouldRunSetupWizard({})).toBe(true);
261
+ });
262
+ it("returns true even with yes flag (wizard still runs)", () => {
263
+ mockIsCI.mockReturnValue(false);
264
+ expect(shouldRunSetupWizard({ yes: true })).toBe(true);
265
+ });
266
+ });
267
+ });
268
+ //# sourceMappingURL=wizard.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wizard.test.js","sourceRoot":"","sources":["../../../src/lib/wizard.test.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,7 @@ export declare const PhaseSchema: z.ZodEnum<{
24
24
  spec: "spec";
25
25
  exec: "exec";
26
26
  qa: "qa";
27
+ "security-review": "security-review";
27
28
  testgen: "testgen";
28
29
  test: "test";
29
30
  }>;
@@ -32,10 +33,10 @@ export type Phase = z.infer<typeof PhaseSchema>;
32
33
  * Phase execution status
33
34
  */
34
35
  export declare const PhaseStatusSchema: z.ZodEnum<{
36
+ skipped: "skipped";
35
37
  timeout: "timeout";
36
38
  success: "success";
37
39
  failure: "failure";
38
- skipped: "skipped";
39
40
  }>;
40
41
  export type PhaseStatus = z.infer<typeof PhaseStatusSchema>;
41
42
  /**
@@ -56,6 +57,7 @@ export declare const PhaseLogSchema: z.ZodObject<{
56
57
  spec: "spec";
57
58
  exec: "exec";
58
59
  qa: "qa";
60
+ "security-review": "security-review";
59
61
  testgen: "testgen";
60
62
  test: "test";
61
63
  }>;
@@ -64,10 +66,10 @@ export declare const PhaseLogSchema: z.ZodObject<{
64
66
  endTime: z.ZodString;
65
67
  durationSeconds: z.ZodNumber;
66
68
  status: z.ZodEnum<{
69
+ skipped: "skipped";
67
70
  timeout: "timeout";
68
71
  success: "success";
69
72
  failure: "failure";
70
- skipped: "skipped";
71
73
  }>;
72
74
  error: z.ZodOptional<z.ZodString>;
73
75
  iterations: z.ZodOptional<z.ZodNumber>;
@@ -94,6 +96,7 @@ export declare const IssueLogSchema: z.ZodObject<{
94
96
  spec: "spec";
95
97
  exec: "exec";
96
98
  qa: "qa";
99
+ "security-review": "security-review";
97
100
  testgen: "testgen";
98
101
  test: "test";
99
102
  }>;
@@ -102,10 +105,10 @@ export declare const IssueLogSchema: z.ZodObject<{
102
105
  endTime: z.ZodString;
103
106
  durationSeconds: z.ZodNumber;
104
107
  status: z.ZodEnum<{
108
+ skipped: "skipped";
105
109
  timeout: "timeout";
106
110
  success: "success";
107
111
  failure: "failure";
108
- skipped: "skipped";
109
112
  }>;
110
113
  error: z.ZodOptional<z.ZodString>;
111
114
  iterations: z.ZodOptional<z.ZodNumber>;
@@ -125,6 +128,7 @@ export declare const RunConfigSchema: z.ZodObject<{
125
128
  spec: "spec";
126
129
  exec: "exec";
127
130
  qa: "qa";
131
+ "security-review": "security-review";
128
132
  testgen: "testgen";
129
133
  test: "test";
130
134
  }>>;
@@ -159,6 +163,7 @@ export declare const RunLogSchema: z.ZodObject<{
159
163
  spec: "spec";
160
164
  exec: "exec";
161
165
  qa: "qa";
166
+ "security-review": "security-review";
162
167
  testgen: "testgen";
163
168
  test: "test";
164
169
  }>>;
@@ -181,6 +186,7 @@ export declare const RunLogSchema: z.ZodObject<{
181
186
  spec: "spec";
182
187
  exec: "exec";
183
188
  qa: "qa";
189
+ "security-review": "security-review";
184
190
  testgen: "testgen";
185
191
  test: "test";
186
192
  }>;
@@ -189,10 +195,10 @@ export declare const RunLogSchema: z.ZodObject<{
189
195
  endTime: z.ZodString;
190
196
  durationSeconds: z.ZodNumber;
191
197
  status: z.ZodEnum<{
198
+ skipped: "skipped";
192
199
  timeout: "timeout";
193
200
  success: "success";
194
201
  failure: "failure";
195
- skipped: "skipped";
196
202
  }>;
197
203
  error: z.ZodOptional<z.ZodString>;
198
204
  iterations: z.ZodOptional<z.ZodNumber>;
@@ -1 +1 @@
1
- {"version":3,"file":"run-log-schema.d.ts","sourceRoot":"","sources":["../../../../src/lib/workflow/run-log-schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,WAAW;;;;;;;EAOtB,CAAC;AAEH,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;EAK5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;EAA4C,CAAC;AAE3E,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;iBAuBzB,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEtD;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAazB,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEtD;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;iBAS1B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;iBAS3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D;;;;GAIG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAevB,CAAC;AAEH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,SAAS;IACpB,sBAAsB;;IAEtB,yBAAyB;;CAEjB,CAAC;AAEX;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,GAAG,MAAM,CAG1E;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAiB5E;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,MAAM,GAClB,IAAI,CAAC,QAAQ,EAAE,SAAS,GAAG,iBAAiB,GAAG,QAAQ,CAAC,CAM1D;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,SAAS,GAAG,iBAAiB,GAAG,QAAQ,CAAC,EAClE,MAAM,EAAE,WAAW,EACnB,OAAO,CAAC,EAAE,OAAO,CACf,IAAI,CACF,QAAQ,EACR,OAAO,GAAG,YAAY,GAAG,eAAe,GAAG,UAAU,GAAG,aAAa,CACtE,CACF,GACA,QAAQ,CAYV;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,MAAM,CAsBtE"}
1
+ {"version":3,"file":"run-log-schema.d.ts","sourceRoot":"","sources":["../../../../src/lib/workflow/run-log-schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,WAAW;;;;;;;;EAQtB,CAAC;AAEH,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;EAK5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;EAA4C,CAAC;AAE3E,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;iBAuBzB,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEtD;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAazB,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEtD;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;iBAS1B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;iBAS3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D;;;;GAIG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAevB,CAAC;AAEH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,SAAS;IACpB,sBAAsB;;IAEtB,yBAAyB;;CAEjB,CAAC;AAEX;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,GAAG,MAAM,CAG1E;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAiB5E;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,MAAM,GAClB,IAAI,CAAC,QAAQ,EAAE,SAAS,GAAG,iBAAiB,GAAG,QAAQ,CAAC,CAM1D;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,SAAS,GAAG,iBAAiB,GAAG,QAAQ,CAAC,EAClE,MAAM,EAAE,WAAW,EACnB,OAAO,CAAC,EAAE,OAAO,CACf,IAAI,CACF,QAAQ,EACR,OAAO,GAAG,YAAY,GAAG,eAAe,GAAG,UAAU,GAAG,aAAa,CACtE,CACF,GACA,QAAQ,CAYV;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,MAAM,CAsBtE"}
@@ -21,6 +21,7 @@ import { z } from "zod";
21
21
  */
22
22
  export const PhaseSchema = z.enum([
23
23
  "spec",
24
+ "security-review",
24
25
  "testgen",
25
26
  "exec",
26
27
  "test",
@@ -1 +1 @@
1
- {"version":3,"file":"run-log-schema.js","sourceRoot":"","sources":["../../../../src/lib/workflow/run-log-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-log-schema.js","sourceRoot":"","sources":["../../../../src/lib/workflow/run-log-schema.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  /**
5
5
  * Available workflow phases
6
6
  */
7
- export type Phase = "spec" | "testgen" | "exec" | "test" | "qa" | "loop";
7
+ export type Phase = "spec" | "security-review" | "testgen" | "exec" | "test" | "qa" | "loop";
8
8
  /**
9
9
  * Default phases for workflow execution
10
10
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/lib/workflow/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,MAAM,KAAK,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC;AAEzE;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,KAAK,EAA2B,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,wBAAwB;IACxB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,mCAAmC;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,+BAA+B;IAC/B,WAAW,EAAE,OAAO,CAAC;IACrB,sCAAsC;IACtC,aAAa,EAAE,MAAM,CAAC;IACtB,mCAAmC;IACnC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,8BAA8B;IAC9B,UAAU,EAAE,OAAO,CAAC;IACpB,4CAA4C;IAC5C,aAAa,EAAE,OAAO,CAAC;IACvB,qBAAqB;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,mCAAmC;IACnC,YAAY,EAAE,OAAO,CAAC;IACtB,4CAA4C;IAC5C,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,eAW5B,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6EAA6E;IAC7E,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;CAClB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/lib/workflow/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,MAAM,KAAK,GACb,MAAM,GACN,iBAAiB,GACjB,SAAS,GACT,MAAM,GACN,MAAM,GACN,IAAI,GACJ,MAAM,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,KAAK,EAA2B,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,wBAAwB;IACxB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,mCAAmC;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,+BAA+B;IAC/B,WAAW,EAAE,OAAO,CAAC;IACrB,sCAAsC;IACtC,aAAa,EAAE,MAAM,CAAC;IACtB,mCAAmC;IACnC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,8BAA8B;IAC9B,UAAU,EAAE,OAAO,CAAC;IACpB,4CAA4C;IAC5C,aAAa,EAAE,OAAO,CAAC;IACvB,qBAAqB;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,mCAAmC;IACnC,YAAY,EAAE,OAAO,CAAC;IACtB,4CAA4C;IAC5C,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,eAW5B,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6EAA6E;IAC7E,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;CAClB"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/lib/workflow/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AA4B9D;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAoB;IAC7C,MAAM,EAAE,cAAc;IACtB,YAAY,EAAE,IAAI;IAClB,WAAW,EAAE,KAAK;IAClB,aAAa,EAAE,CAAC;IAChB,gBAAgB,EAAE,KAAK;IACvB,UAAU,EAAE,KAAK;IACjB,aAAa,EAAE,KAAK;IACpB,OAAO,EAAE,KAAK;IACd,YAAY,EAAE,KAAK;IACnB,MAAM,EAAE,KAAK;CACd,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/lib/workflow/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAcH;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AA4B9D;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAoB;IAC7C,MAAM,EAAE,cAAc;IACtB,YAAY,EAAE,IAAI;IAClB,WAAW,EAAE,KAAK;IAClB,aAAa,EAAE,CAAC;IAChB,gBAAgB,EAAE,KAAK;IACvB,UAAU,EAAE,KAAK;IACjB,aAAa,EAAE,KAAK;IACpB,OAAO,EAAE,KAAK;IACd,YAAY,EAAE,KAAK;IACnB,MAAM,EAAE,KAAK;CACd,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sequant",
3
- "version": "1.2.7",
3
+ "version": "1.4.0",
4
4
  "description": "Quantize your development workflow - Sequential AI phases with quality gates",
5
5
  "type": "module",
6
6
  "bin": {
@@ -24,6 +24,7 @@
24
24
  "dev": "tsx bin/cli.ts",
25
25
  "test": "vitest run",
26
26
  "lint": "echo \"No linter configured yet\" && exit 0",
27
+ "sync:skills": "cp -r templates/skills/* .claude/skills/",
27
28
  "validate:skills": "for skill in templates/skills/*/; do npx skills-ref validate \"$skill\"; done",
28
29
  "prepublishOnly": "npm run build"
29
30
  },
@@ -330,6 +330,23 @@ gh pr merge <N> --squash --delete-branch
330
330
 
331
331
  **Why this order matters:** The cleanup script checks if the PR is merged before proceeding. The `--delete-branch` flag will fail to delete the local branch (worktree conflict) but successfully deletes the remote branch. The cleanup script then handles the local branch removal.
332
332
 
333
+ ### 5.4 Post-Merge Verification
334
+
335
+ **Recommended:** After merge, verify the build and CLI still work:
336
+
337
+ ```bash
338
+ # Pull latest main
339
+ git pull origin main
340
+
341
+ # Rebuild and verify
342
+ npm run build
343
+
344
+ # Smoke test - verify CLI runs without errors
345
+ npx sequant doctor
346
+ ```
347
+
348
+ If any command fails, fix immediately on main before continuing. This catches issues like ESM compatibility bugs that unit tests may miss.
349
+
333
350
  ## Iteration Tracking
334
351
 
335
352
  Track iterations to prevent infinite loops:
@@ -0,0 +1,92 @@
1
+ # Recommended Workflow Format
2
+
3
+ This document shows the expected output format for the `## Recommended Workflow` section in `/spec` output. The `parseRecommendedWorkflow()` function parses this format to determine which phases to execute.
4
+
5
+ ## Format
6
+
7
+ ```markdown
8
+ ## Recommended Workflow
9
+
10
+ **Phases:** spec → exec → qa
11
+ **Quality Loop:** disabled
12
+ **Reasoning:** Brief explanation of why this workflow was chosen.
13
+ ```
14
+
15
+ ## Examples
16
+
17
+ ### Simple Bug Fix
18
+
19
+ ```markdown
20
+ ## Recommended Workflow
21
+
22
+ **Phases:** exec → qa
23
+ **Quality Loop:** disabled
24
+ **Reasoning:** Straightforward bug fix with clear root cause. No planning needed.
25
+ ```
26
+
27
+ ### Standard Feature
28
+
29
+ ```markdown
30
+ ## Recommended Workflow
31
+
32
+ **Phases:** spec → exec → qa
33
+ **Quality Loop:** disabled
34
+ **Reasoning:** New feature with defined scope. Standard workflow applies.
35
+ ```
36
+
37
+ ### UI Feature
38
+
39
+ ```markdown
40
+ ## Recommended Workflow
41
+
42
+ **Phases:** spec → exec → test → qa
43
+ **Quality Loop:** enabled
44
+ **Reasoning:** UI feature requires browser testing and may need iteration.
45
+ ```
46
+
47
+ ### Security-Sensitive Feature
48
+
49
+ ```markdown
50
+ ## Recommended Workflow
51
+
52
+ **Phases:** spec → security-review → exec → qa
53
+ **Quality Loop:** disabled
54
+ **Reasoning:** Auth-related changes require security analysis before implementation.
55
+ ```
56
+
57
+ ### Complex Refactor
58
+
59
+ ```markdown
60
+ ## Recommended Workflow
61
+
62
+ **Phases:** spec → exec → test → qa
63
+ **Quality Loop:** enabled
64
+ **Reasoning:** Complex refactor with UI components requires browser testing and iteration.
65
+ ```
66
+
67
+ ## Phase Separators
68
+
69
+ The parser supports multiple separator formats:
70
+
71
+ - Arrow: `spec → exec → qa`
72
+ - ASCII arrow: `spec -> exec -> qa`
73
+ - Comma: `spec, exec, qa`
74
+
75
+ ## Quality Loop Values
76
+
77
+ The parser accepts these values for the Quality Loop setting:
78
+
79
+ - Enabled: `enabled`, `true`, `yes`
80
+ - Disabled: `disabled`, `false`, `no`
81
+
82
+ ## Available Phases
83
+
84
+ | Phase | Description |
85
+ |-------|-------------|
86
+ | `spec` | Plan review and verification criteria generation |
87
+ | `security-review` | Deep security analysis for sensitive features |
88
+ | `testgen` | Generate test stubs from specification |
89
+ | `exec` | Implementation of the feature |
90
+ | `test` | Browser-based testing for UI features |
91
+ | `qa` | Code review against acceptance criteria |
92
+ | `loop` | Quality iteration loop for fixing issues |