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.
- package/README.md +18 -0
- package/dist/bin/cli.js +10 -0
- package/dist/bin/cli.js.map +1 -1
- package/dist/src/commands/doctor.d.ts.map +1 -1
- package/dist/src/commands/doctor.js +33 -1
- package/dist/src/commands/doctor.js.map +1 -1
- package/dist/src/commands/doctor.test.js +84 -1
- package/dist/src/commands/doctor.test.js.map +1 -1
- package/dist/src/commands/init.d.ts.map +1 -1
- package/dist/src/commands/init.js +8 -2
- package/dist/src/commands/init.js.map +1 -1
- package/dist/src/commands/init.test.js +2 -1
- package/dist/src/commands/init.test.js.map +1 -1
- package/dist/src/commands/logs.d.ts +2 -0
- package/dist/src/commands/logs.d.ts.map +1 -1
- package/dist/src/commands/logs.js +41 -0
- package/dist/src/commands/logs.js.map +1 -1
- package/dist/src/commands/run.d.ts +20 -0
- package/dist/src/commands/run.d.ts.map +1 -1
- package/dist/src/commands/run.js +38 -4
- package/dist/src/commands/run.js.map +1 -1
- package/dist/src/commands/run.test.js +166 -1
- package/dist/src/commands/run.test.js.map +1 -1
- package/dist/src/commands/stats.d.ts +16 -0
- package/dist/src/commands/stats.d.ts.map +1 -0
- package/dist/src/commands/stats.js +271 -0
- package/dist/src/commands/stats.js.map +1 -0
- package/dist/src/commands/stats.test.d.ts +7 -0
- package/dist/src/commands/stats.test.d.ts.map +1 -0
- package/dist/src/commands/stats.test.js +218 -0
- package/dist/src/commands/stats.test.js.map +1 -0
- package/dist/src/commands/update.d.ts.map +1 -1
- package/dist/src/commands/update.js +15 -3
- package/dist/src/commands/update.js.map +1 -1
- package/dist/src/lib/settings.d.ts +17 -0
- package/dist/src/lib/settings.d.ts.map +1 -1
- package/dist/src/lib/settings.js +9 -0
- package/dist/src/lib/settings.js.map +1 -1
- package/dist/src/lib/system.d.ts +26 -0
- package/dist/src/lib/system.d.ts.map +1 -1
- package/dist/src/lib/system.js +72 -1
- package/dist/src/lib/system.js.map +1 -1
- package/dist/src/lib/workflow/log-rotation.d.ts +138 -0
- package/dist/src/lib/workflow/log-rotation.d.ts.map +1 -0
- package/dist/src/lib/workflow/log-rotation.js +232 -0
- package/dist/src/lib/workflow/log-rotation.js.map +1 -0
- package/dist/src/lib/workflow/log-rotation.test.d.ts +7 -0
- package/dist/src/lib/workflow/log-rotation.test.d.ts.map +1 -0
- package/dist/src/lib/workflow/log-rotation.test.js +248 -0
- package/dist/src/lib/workflow/log-rotation.test.js.map +1 -0
- package/dist/src/lib/workflow/log-writer.d.ts +6 -0
- package/dist/src/lib/workflow/log-writer.d.ts.map +1 -1
- package/dist/src/lib/workflow/log-writer.js +12 -0
- package/dist/src/lib/workflow/log-writer.js.map +1 -1
- package/dist/src/lib/workflow/log-writer.test.js +4 -1
- package/dist/src/lib/workflow/log-writer.test.js.map +1 -1
- package/dist/src/lib/workflow/run-log-schema.d.ts +6 -0
- package/dist/src/lib/workflow/run-log-schema.d.ts.map +1 -1
- package/dist/src/lib/workflow/run-log-schema.js +1 -0
- package/dist/src/lib/workflow/run-log-schema.js.map +1 -1
- package/dist/src/lib/workflow/types.d.ts +1 -1
- package/dist/src/lib/workflow/types.d.ts.map +1 -1
- package/dist/src/lib/workflow/types.js.map +1 -1
- package/package.json +2 -1
- package/templates/skills/fullsolve/SKILL.md +17 -0
- package/templates/skills/spec/references/recommended-workflow.md +92 -0
- 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(
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|