sequant 1.2.5 → 1.3.1

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 (67) hide show
  1. package/README.md +18 -0
  2. package/dist/bin/cli.js +10 -0
  3. package/dist/bin/cli.js.map +1 -1
  4. package/dist/src/commands/doctor.d.ts.map +1 -1
  5. package/dist/src/commands/doctor.js +33 -1
  6. package/dist/src/commands/doctor.js.map +1 -1
  7. package/dist/src/commands/doctor.test.js +84 -1
  8. package/dist/src/commands/doctor.test.js.map +1 -1
  9. package/dist/src/commands/init.d.ts.map +1 -1
  10. package/dist/src/commands/init.js +8 -2
  11. package/dist/src/commands/init.js.map +1 -1
  12. package/dist/src/commands/init.test.js +2 -1
  13. package/dist/src/commands/init.test.js.map +1 -1
  14. package/dist/src/commands/logs.d.ts +2 -0
  15. package/dist/src/commands/logs.d.ts.map +1 -1
  16. package/dist/src/commands/logs.js +41 -0
  17. package/dist/src/commands/logs.js.map +1 -1
  18. package/dist/src/commands/run.d.ts +20 -0
  19. package/dist/src/commands/run.d.ts.map +1 -1
  20. package/dist/src/commands/run.js +38 -4
  21. package/dist/src/commands/run.js.map +1 -1
  22. package/dist/src/commands/run.test.js +166 -1
  23. package/dist/src/commands/run.test.js.map +1 -1
  24. package/dist/src/commands/stats.d.ts +16 -0
  25. package/dist/src/commands/stats.d.ts.map +1 -0
  26. package/dist/src/commands/stats.js +271 -0
  27. package/dist/src/commands/stats.js.map +1 -0
  28. package/dist/src/commands/stats.test.d.ts +7 -0
  29. package/dist/src/commands/stats.test.d.ts.map +1 -0
  30. package/dist/src/commands/stats.test.js +218 -0
  31. package/dist/src/commands/stats.test.js.map +1 -0
  32. package/dist/src/commands/update.d.ts.map +1 -1
  33. package/dist/src/commands/update.js +15 -3
  34. package/dist/src/commands/update.js.map +1 -1
  35. package/dist/src/lib/settings.d.ts +17 -0
  36. package/dist/src/lib/settings.d.ts.map +1 -1
  37. package/dist/src/lib/settings.js +9 -0
  38. package/dist/src/lib/settings.js.map +1 -1
  39. package/dist/src/lib/system.d.ts +26 -0
  40. package/dist/src/lib/system.d.ts.map +1 -1
  41. package/dist/src/lib/system.js +72 -1
  42. package/dist/src/lib/system.js.map +1 -1
  43. package/dist/src/lib/workflow/log-rotation.d.ts +138 -0
  44. package/dist/src/lib/workflow/log-rotation.d.ts.map +1 -0
  45. package/dist/src/lib/workflow/log-rotation.js +232 -0
  46. package/dist/src/lib/workflow/log-rotation.js.map +1 -0
  47. package/dist/src/lib/workflow/log-rotation.test.d.ts +7 -0
  48. package/dist/src/lib/workflow/log-rotation.test.d.ts.map +1 -0
  49. package/dist/src/lib/workflow/log-rotation.test.js +248 -0
  50. package/dist/src/lib/workflow/log-rotation.test.js.map +1 -0
  51. package/dist/src/lib/workflow/log-writer.d.ts +6 -0
  52. package/dist/src/lib/workflow/log-writer.d.ts.map +1 -1
  53. package/dist/src/lib/workflow/log-writer.js +12 -0
  54. package/dist/src/lib/workflow/log-writer.js.map +1 -1
  55. package/dist/src/lib/workflow/log-writer.test.js +4 -1
  56. package/dist/src/lib/workflow/log-writer.test.js.map +1 -1
  57. package/dist/src/lib/workflow/run-log-schema.d.ts +6 -0
  58. package/dist/src/lib/workflow/run-log-schema.d.ts.map +1 -1
  59. package/dist/src/lib/workflow/run-log-schema.js +1 -0
  60. package/dist/src/lib/workflow/run-log-schema.js.map +1 -1
  61. package/dist/src/lib/workflow/types.d.ts +1 -1
  62. package/dist/src/lib/workflow/types.d.ts.map +1 -1
  63. package/dist/src/lib/workflow/types.js.map +1 -1
  64. package/package.json +2 -1
  65. package/templates/skills/fullsolve/SKILL.md +17 -0
  66. package/templates/skills/spec/references/recommended-workflow.md +92 -0
  67. package/templates/skills/test/SKILL.md +73 -6
@@ -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 |
@@ -8,13 +8,13 @@ metadata:
8
8
  allowed-tools:
9
9
  - Read
10
10
  - Bash
11
- - mcp__chrome-devtools__*
11
+ - mcp__chrome-devtools__* # Optional: falls back to manual checklist if unavailable
12
12
  - Glob
13
13
  - Grep
14
14
  - TodoWrite
15
15
  - Bash(gh issue view:*)
16
16
  - Bash(gh issue comment:*)
17
- - Bash(npm run dev:*)
17
+ - Bash({{PM_RUN}} dev:*)
18
18
  - Bash(lsof:*)
19
19
  - Bash(npx tsx:*)
20
20
  ---
@@ -101,18 +101,29 @@ Check for test data requirements:
101
101
 
102
102
  ### 1.4 Dev Server Check
103
103
 
104
- Check if dev server is running:
104
+ **Extract port from DEV_URL configuration:**
105
+ The dev server URL is configured in `.claude/.sequant/config.json` under `tokens.DEV_URL`. Extract the port for the `lsof` check:
106
+
105
107
  ```bash
106
- lsof -ti:3000
108
+ # Get DEV_URL from config (default: {{DEV_URL}})
109
+ # Extract port: http://localhost:PORT -> PORT
110
+ DEV_PORT=$(echo "{{DEV_URL}}" | sed -E 's/.*:([0-9]+).*/\1/')
111
+
112
+ # Check if dev server is running on configured port
113
+ lsof -ti:$DEV_PORT
107
114
  ```
108
115
 
109
- If not running, start it:
116
+ If not running, start it using the project's package manager:
110
117
  ```bash
111
- npm run dev
118
+ {{PM_RUN}} dev
112
119
  ```
113
120
 
114
121
  Wait for server ready before proceeding.
115
122
 
123
+ **Note:** If `{{DEV_URL}}` or `{{PM_RUN}}` are not replaced with actual values, the defaults are:
124
+ - DEV_URL: `http://localhost:3000` (Next.js), `http://localhost:4321` (Astro), `http://localhost:5173` (Vite-based)
125
+ - PM_RUN: `npm run` (or `bun run`, `yarn`, `pnpm run` based on lockfile)
126
+
116
127
  ## Decision Point: Feature Implemented or Not?
117
128
 
118
129
  At this point, you've checked if the feature exists (section 1.2). Based on that result:
@@ -240,6 +251,62 @@ When a bug is discovered during testing:
240
251
  - Mark as PASS/FAIL based on fix
241
252
  - Continue with remaining tests
242
253
 
254
+ ### 2.4 MCP Availability Check (Graceful Fallback)
255
+
256
+ **Before starting browser automation**, check if Chrome DevTools MCP is available:
257
+
258
+ ```
259
+ Check if mcp__chrome-devtools__* tools are available in your current session.
260
+ ```
261
+
262
+ **If MCP IS available:**
263
+ - Proceed with automated browser testing (Phase 2.1-2.3)
264
+
265
+ **If MCP is NOT available:**
266
+ - Skip browser automation steps
267
+ - Generate a **Manual Testing Checklist** instead
268
+
269
+ **Manual Testing Checklist (No MCP Fallback):**
270
+
271
+ When browser automation is unavailable, generate a structured manual testing guide:
272
+
273
+ ```markdown
274
+ ## Manual Testing Checklist for Issue #<N>
275
+
276
+ **Pre-requisites:**
277
+ - [ ] Dev server running at {{DEV_URL}}
278
+ - [ ] Browser open with DevTools ready
279
+ - [ ] Test data prepared (see section 1.3)
280
+
281
+ ### Test 1: [Description]
282
+ **URL:** {{DEV_URL}}/path/to/feature
283
+ **Steps:**
284
+ 1. Navigate to the URL above
285
+ 2. [Action to perform]
286
+ 3. [Expected result to verify]
287
+
288
+ **Expected Result:** [What should happen]
289
+ **Actual Result:** [ ] PASS / [ ] FAIL - Notes: ___
290
+
291
+ ### Test 2: [Description]
292
+ **URL:** {{DEV_URL}}/path/to/feature
293
+ **Steps:**
294
+ 1. [Step 1]
295
+ 2. [Step 2]
296
+
297
+ **Expected Result:** [What should happen]
298
+ **Actual Result:** [ ] PASS / [ ] FAIL - Notes: ___
299
+
300
+ ---
301
+ **Summary:** Complete each test above and mark PASS/FAIL.
302
+ Post results as a comment on this issue.
303
+ ```
304
+
305
+ **Why this matters:**
306
+ - `/test` skill remains useful even without Chrome DevTools MCP
307
+ - Manual testers can follow the structured checklist
308
+ - Test results format remains consistent for reporting
309
+
243
310
  ## Phase 3: Reporting
244
311
 
245
312
  ### 3.1 Generate Test Summary