sequant 1.1.3 → 1.2.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 (52) hide show
  1. package/README.md +112 -10
  2. package/dist/bin/cli.js +1 -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 -2
  6. package/dist/src/commands/doctor.js.map +1 -1
  7. package/dist/src/commands/doctor.test.js +63 -1
  8. package/dist/src/commands/doctor.test.js.map +1 -1
  9. package/dist/src/commands/init.d.ts +1 -0
  10. package/dist/src/commands/init.d.ts.map +1 -1
  11. package/dist/src/commands/init.js +40 -10
  12. package/dist/src/commands/init.js.map +1 -1
  13. package/dist/src/commands/init.test.js +100 -1
  14. package/dist/src/commands/init.test.js.map +1 -1
  15. package/dist/src/commands/logs.js +1 -1
  16. package/dist/src/commands/logs.js.map +1 -1
  17. package/dist/src/commands/run.d.ts +16 -0
  18. package/dist/src/commands/run.d.ts.map +1 -1
  19. package/dist/src/commands/run.js +395 -37
  20. package/dist/src/commands/run.js.map +1 -1
  21. package/dist/src/commands/run.test.d.ts +2 -0
  22. package/dist/src/commands/run.test.d.ts.map +1 -0
  23. package/dist/src/commands/run.test.js +155 -0
  24. package/dist/src/commands/run.test.js.map +1 -0
  25. package/dist/src/commands/update.d.ts.map +1 -1
  26. package/dist/src/commands/update.js +9 -5
  27. package/dist/src/commands/update.js.map +1 -1
  28. package/dist/src/lib/manifest.d.ts +3 -1
  29. package/dist/src/lib/manifest.d.ts.map +1 -1
  30. package/dist/src/lib/manifest.js +2 -1
  31. package/dist/src/lib/manifest.js.map +1 -1
  32. package/dist/src/lib/stacks.d.ts +27 -0
  33. package/dist/src/lib/stacks.d.ts.map +1 -1
  34. package/dist/src/lib/stacks.js +154 -17
  35. package/dist/src/lib/stacks.js.map +1 -1
  36. package/dist/src/lib/stacks.test.js +343 -1
  37. package/dist/src/lib/stacks.test.js.map +1 -1
  38. package/dist/src/lib/system.d.ts +8 -0
  39. package/dist/src/lib/system.d.ts.map +1 -1
  40. package/dist/src/lib/system.js +23 -0
  41. package/dist/src/lib/system.js.map +1 -1
  42. package/dist/src/lib/tty.d.ts +31 -0
  43. package/dist/src/lib/tty.d.ts.map +1 -0
  44. package/dist/src/lib/tty.js +81 -0
  45. package/dist/src/lib/tty.js.map +1 -0
  46. package/dist/src/lib/tty.test.d.ts +2 -0
  47. package/dist/src/lib/tty.test.d.ts.map +1 -0
  48. package/dist/src/lib/tty.test.js +227 -0
  49. package/dist/src/lib/tty.test.js.map +1 -0
  50. package/package.json +1 -1
  51. package/templates/hooks/post-tool.sh +4 -2
  52. package/templates/scripts/new-feature.sh +33 -9
package/README.md CHANGED
@@ -91,21 +91,66 @@ npx sequant init
91
91
  ### CLI Commands
92
92
 
93
93
  ```bash
94
- sequant init # Initialize in your project
95
- sequant update # Update templates from package
96
- sequant doctor # Check installation health
97
- sequant status # Show version and config
98
- sequant run <issues...> # Execute workflow for issues
94
+ npx sequant init # Initialize in your project
95
+ npx sequant update # Update templates from package
96
+ npx sequant doctor # Check installation health
97
+ npx sequant status # Show version and config
98
+ npx sequant run <issues...> # Execute workflow for issues
99
99
  ```
100
100
 
101
101
  #### Run Command Options
102
102
 
103
103
  ```bash
104
- sequant run 123 # Single issue
105
- sequant run 1 2 3 # Multiple issues in parallel
106
- sequant run 1 2 3 --sequential # Run in order
107
- sequant run 123 --phases spec,qa # Custom phases
108
- sequant run 123 --dry-run # Preview without execution
104
+ npx sequant run 123 # Single issue
105
+ npx sequant run 1 2 3 # Multiple issues in parallel
106
+ npx sequant run 1 2 3 --sequential # Run in order
107
+ npx sequant run 123 --phases spec,qa # Custom phases
108
+ npx sequant run 123 --dry-run # Preview without execution
109
+ ```
110
+
111
+ #### Phase Detection
112
+
113
+ When you run `sequant run`, phases are determined automatically using a three-level detection system:
114
+
115
+ 1. **Explicit phases** — If you specify `--phases`, those are used
116
+ 2. **Spec-driven** — Otherwise, `/spec` runs first and outputs a recommended workflow
117
+ 3. **Label-based fallback** — If spec parsing fails, issue labels determine phases
118
+
119
+ **Label-based detection:**
120
+
121
+ | Labels | Phases | Notes |
122
+ |--------|--------|-------|
123
+ | `bug`, `fix`, `hotfix`, `patch` | `exec → qa` | Skip spec for simple fixes |
124
+ | `docs`, `documentation`, `readme` | `exec → qa` | Skip spec for docs changes |
125
+ | `ui`, `frontend`, `admin`, `web`, `browser` | `spec → exec → test → qa` | Add browser testing |
126
+ | `complex`, `refactor`, `breaking`, `major` | (default phases) | Enable quality loop |
127
+
128
+ **Spec-driven detection:**
129
+
130
+ The `/spec` command outputs a recommended workflow that the CLI parses:
131
+
132
+ ```markdown
133
+ ## Recommended Workflow
134
+
135
+ **Phases:** exec → test → qa
136
+ **Quality Loop:** disabled
137
+ **Reasoning:** UI changes detected, adding browser testing phase
138
+ ```
139
+
140
+ **CLI examples:**
141
+
142
+ ```bash
143
+ # Phases auto-detected (default)
144
+ npx sequant run 123
145
+
146
+ # Explicit phases (skip auto-detection)
147
+ npx sequant run 123 --phases exec,qa
148
+
149
+ # Disable logging for one run
150
+ npx sequant run 123 --no-log
151
+
152
+ # Enable quality loop for complex changes
153
+ npx sequant run 123 --quality-loop
109
154
  ```
110
155
 
111
156
  ### Workflow Commands (in Claude Code)
@@ -131,6 +176,28 @@ sequant run 123 --dry-run # Preview without execution
131
176
  | Windows WSL | ✅ Supported | Use WSL2 with bash |
132
177
  | Windows Native | ⚠️ Limited | CLI works, but shell scripts require WSL |
133
178
 
179
+ ### Windows Users
180
+
181
+ **WSL is recommended** for the full Sequant experience on Windows. Here's why:
182
+
183
+ | Feature | Native Windows | Windows + WSL |
184
+ |---------|----------------|---------------|
185
+ | CLI commands (`init`, `doctor`, `status`) | ✅ Works | ✅ Works |
186
+ | Workflow hooks (pre-tool, post-tool) | ❌ Requires bash | ✅ Works |
187
+ | Shell scripts (`new-feature.sh`, etc.) | ❌ Requires bash | ✅ Works |
188
+ | Git worktree workflows | ✅ Works | ✅ Works |
189
+
190
+ **Quick WSL Setup:**
191
+
192
+ 1. Install WSL (run in PowerShell as Administrator): `wsl --install`
193
+ 2. Restart your computer when prompted
194
+ 3. Open Ubuntu from Start menu and complete setup
195
+ 4. Install Node.js: See [NodeSource distributions](https://github.com/nodesource/distributions)
196
+ 5. Install GitHub CLI: `apt install gh` then `gh auth login`
197
+ 6. Use Sequant: `npx sequant init`
198
+
199
+ For detailed instructions, see [Microsoft's WSL documentation](https://learn.microsoft.com/en-us/windows/wsl/install).
200
+
134
201
  ### Requirements
135
202
 
136
203
  - **Node.js** 18.0.0 or higher
@@ -191,6 +258,39 @@ Edit `.claude/memory/constitution.md` to define project-specific principles:
191
258
  - Constants: SCREAMING_SNAKE_CASE
192
259
  ```
193
260
 
261
+ ### Settings
262
+
263
+ Configure `sequant run` defaults in `.sequant/settings.json`:
264
+
265
+ ```json
266
+ {
267
+ "version": "1.0",
268
+ "run": {
269
+ "logJson": true,
270
+ "logPath": ".sequant/logs",
271
+ "autoDetectPhases": true,
272
+ "timeout": 300,
273
+ "sequential": false,
274
+ "qualityLoop": false,
275
+ "maxIterations": 3,
276
+ "smartTests": true
277
+ }
278
+ }
279
+ ```
280
+
281
+ | Option | Default | Description |
282
+ |--------|---------|-------------|
283
+ | `logJson` | `true` | Enable JSON logging for run sessions |
284
+ | `logPath` | `.sequant/logs` | Directory for log files |
285
+ | `autoDetectPhases` | `true` | Auto-detect phases from labels/spec output |
286
+ | `timeout` | `300` | Timeout per phase in seconds |
287
+ | `sequential` | `false` | Run issues sequentially (vs parallel) |
288
+ | `qualityLoop` | `false` | Enable quality loop by default |
289
+ | `maxIterations` | `3` | Max quality loop iterations |
290
+ | `smartTests` | `true` | Auto-detect test commands |
291
+
292
+ CLI flags override settings file values.
293
+
194
294
  ## Directory Structure
195
295
 
196
296
  After `sequant init`:
@@ -218,6 +318,8 @@ After `sequant init`:
218
318
  - [Customization Guide](docs/customization.md) — Override templates safely
219
319
  - [Troubleshooting](docs/troubleshooting.md) — Common issues and solutions
220
320
  - [Testing Guide](docs/testing.md) — Cross-platform testing matrix
321
+ - [Git Patterns](docs/git-patterns.md) — Worktree and merge workflows
322
+ - [Release Checklist](docs/release-checklist.md) — Pre-release verification
221
323
  - Stack Guides: [Next.js](docs/stacks/nextjs.md) | [Rust](docs/stacks/rust.md) | [Python](docs/stacks/python.md) | [Go](docs/stacks/go.md)
222
324
 
223
325
  ## Philosophy
package/dist/bin/cli.js CHANGED
@@ -28,6 +28,7 @@ program
28
28
  .option("-s, --stack <stack>", "Specify stack (nextjs, rust, python, go)")
29
29
  .option("-y, --yes", "Skip confirmation prompts")
30
30
  .option("-f, --force", "Overwrite existing configuration")
31
+ .option("-i, --interactive", "Force interactive mode even in non-TTY environment")
31
32
  .action(initCommand);
32
33
  program
33
34
  .command("update")
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../bin/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../bin/cli.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,UAAU,aAAa;CAEtB;AASD,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAuNzE"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA;;GAEG;AAaH,UAAU,aAAa;CAEtB;AASD,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAwPzE"}
@@ -4,7 +4,7 @@
4
4
  import chalk from "chalk";
5
5
  import { fileExists, isExecutable } from "../lib/fs.js";
6
6
  import { getManifest } from "../lib/manifest.js";
7
- import { commandExists, isGhAuthenticated } from "../lib/system.js";
7
+ import { commandExists, isGhAuthenticated, isNativeWindows, isWSL, } from "../lib/system.js";
8
8
  export async function doctorCommand(options) {
9
9
  console.log(chalk.blue("\n🔍 Running health checks...\n"));
10
10
  const checks = [];
@@ -158,7 +158,22 @@ export async function doctorCommand(options) {
158
158
  message: "gh CLI not installed - see: https://cli.github.com",
159
159
  });
160
160
  }
161
- // Check 10: jq installed (optional but recommended)
161
+ // Check 10: Claude Code CLI installed (critical)
162
+ if (commandExists("claude")) {
163
+ checks.push({
164
+ name: "Claude Code CLI",
165
+ status: "pass",
166
+ message: "claude CLI is installed",
167
+ });
168
+ }
169
+ else {
170
+ checks.push({
171
+ name: "Claude Code CLI",
172
+ status: "fail",
173
+ message: "claude CLI not installed - see: https://docs.anthropic.com/en/docs/claude-code",
174
+ });
175
+ }
176
+ // Check 12: jq installed (optional but recommended)
162
177
  if (commandExists("jq")) {
163
178
  checks.push({
164
179
  name: "jq",
@@ -173,6 +188,22 @@ export async function doctorCommand(options) {
173
188
  message: "jq not installed (optional, hooks will use grep fallback)",
174
189
  });
175
190
  }
191
+ // Check 13: Windows platform detection
192
+ if (isNativeWindows()) {
193
+ checks.push({
194
+ name: "Platform",
195
+ status: "warn",
196
+ message: "Running on native Windows - WSL recommended for full functionality (hooks, scripts)",
197
+ });
198
+ }
199
+ else if (isWSL()) {
200
+ checks.push({
201
+ name: "Platform",
202
+ status: "pass",
203
+ message: "Running in WSL - full functionality available",
204
+ });
205
+ }
206
+ // On macOS/Linux, don't add a platform check (not relevant)
176
207
  // Display results
177
208
  let passCount = 0;
178
209
  let warnCount = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -12,16 +12,20 @@ vi.mock("../lib/manifest.js", () => ({
12
12
  vi.mock("../lib/system.js", () => ({
13
13
  commandExists: vi.fn(),
14
14
  isGhAuthenticated: vi.fn(),
15
+ isNativeWindows: vi.fn(),
16
+ isWSL: vi.fn(),
15
17
  }));
16
18
  import { doctorCommand } from "./doctor.js";
17
19
  import { fileExists, isExecutable } from "../lib/fs.js";
18
20
  import { getManifest } from "../lib/manifest.js";
19
- import { commandExists, isGhAuthenticated } from "../lib/system.js";
21
+ import { commandExists, isGhAuthenticated, isNativeWindows, isWSL, } from "../lib/system.js";
20
22
  const mockFileExists = vi.mocked(fileExists);
21
23
  const mockIsExecutable = vi.mocked(isExecutable);
22
24
  const mockGetManifest = vi.mocked(getManifest);
23
25
  const mockCommandExists = vi.mocked(commandExists);
24
26
  const mockIsGhAuthenticated = vi.mocked(isGhAuthenticated);
27
+ const mockIsNativeWindows = vi.mocked(isNativeWindows);
28
+ const mockIsWSL = vi.mocked(isWSL);
25
29
  describe("doctor command", () => {
26
30
  let consoleLogSpy;
27
31
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -43,6 +47,9 @@ describe("doctor command", () => {
43
47
  });
44
48
  mockCommandExists.mockReturnValue(true);
45
49
  mockIsGhAuthenticated.mockReturnValue(true);
50
+ // Default: not on Windows
51
+ mockIsNativeWindows.mockReturnValue(false);
52
+ mockIsWSL.mockReturnValue(false);
46
53
  });
47
54
  afterEach(() => {
48
55
  consoleLogSpy.mockRestore();
@@ -91,6 +98,33 @@ describe("doctor command", () => {
91
98
  expect(output).not.toContain("GitHub Auth");
92
99
  });
93
100
  });
101
+ describe("Claude Code CLI checks", () => {
102
+ it("passes when claude CLI is installed", async () => {
103
+ mockCommandExists.mockReturnValue(true);
104
+ mockIsGhAuthenticated.mockReturnValue(true);
105
+ await doctorCommand({});
106
+ const output = consoleLogSpy.mock.calls.map((c) => c[0]).join("\n");
107
+ expect(output).toContain("Claude Code CLI");
108
+ expect(output).toContain("claude CLI is installed");
109
+ });
110
+ it("fails when claude CLI is not installed", async () => {
111
+ mockCommandExists.mockImplementation((cmd) => cmd !== "claude");
112
+ mockIsGhAuthenticated.mockReturnValue(true);
113
+ await doctorCommand({});
114
+ const output = consoleLogSpy.mock.calls.map((c) => c[0]).join("\n");
115
+ expect(output).toContain("Claude Code CLI");
116
+ expect(output).toContain("claude CLI not installed");
117
+ expect(output).toContain("https://docs.anthropic.com/en/docs/claude-code");
118
+ expect(processExitSpy).toHaveBeenCalledWith(1);
119
+ });
120
+ it("shows install link when claude CLI is missing", async () => {
121
+ mockCommandExists.mockImplementation((cmd) => cmd !== "claude");
122
+ mockIsGhAuthenticated.mockReturnValue(true);
123
+ await doctorCommand({});
124
+ const output = consoleLogSpy.mock.calls.map((c) => c[0]).join("\n");
125
+ expect(output).toContain("https://docs.anthropic.com/en/docs/claude-code");
126
+ });
127
+ });
94
128
  describe("jq checks", () => {
95
129
  it("passes when jq is installed", async () => {
96
130
  mockCommandExists.mockReturnValue(true);
@@ -112,6 +146,34 @@ describe("doctor command", () => {
112
146
  expect(processExitSpy).not.toHaveBeenCalled();
113
147
  });
114
148
  });
149
+ describe("Windows platform checks", () => {
150
+ it("warns when running on native Windows", async () => {
151
+ mockIsNativeWindows.mockReturnValue(true);
152
+ mockIsWSL.mockReturnValue(false);
153
+ await doctorCommand({});
154
+ const output = consoleLogSpy.mock.calls.map((c) => c[0]).join("\n");
155
+ expect(output).toContain("Platform");
156
+ expect(output).toContain("native Windows");
157
+ expect(output).toContain("WSL recommended");
158
+ });
159
+ it("passes when running in WSL", async () => {
160
+ mockIsNativeWindows.mockReturnValue(false);
161
+ mockIsWSL.mockReturnValue(true);
162
+ await doctorCommand({});
163
+ const output = consoleLogSpy.mock.calls.map((c) => c[0]).join("\n");
164
+ expect(output).toContain("Platform");
165
+ expect(output).toContain("Running in WSL");
166
+ expect(output).toContain("full functionality");
167
+ });
168
+ it("does not show platform check on macOS/Linux", async () => {
169
+ mockIsNativeWindows.mockReturnValue(false);
170
+ mockIsWSL.mockReturnValue(false);
171
+ await doctorCommand({});
172
+ const output = consoleLogSpy.mock.calls.map((c) => c[0]).join("\n");
173
+ // Should not contain Platform check on non-Windows systems
174
+ expect(output).not.toContain("Platform");
175
+ });
176
+ });
115
177
  describe("combined scenarios", () => {
116
178
  it("all checks pass when everything is installed and configured", async () => {
117
179
  mockCommandExists.mockReturnValue(true);
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.test.js","sourceRoot":"","sources":["../../../src/commands/doctor.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.test.js","sourceRoot":"","sources":["../../../src/commands/doctor.test.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ interface InitOptions {
5
5
  stack?: string;
6
6
  yes?: boolean;
7
7
  force?: boolean;
8
+ interactive?: boolean;
8
9
  }
9
10
  export declare function initCommand(options: InitOptions): Promise<void>;
10
11
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;GAEG;AA4CH,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAoMrE"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;GAEG;AAsDH,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AASD,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAmOrE"}
@@ -3,13 +3,14 @@
3
3
  */
4
4
  import chalk from "chalk";
5
5
  import inquirer from "inquirer";
6
- import { detectStack, getStackConfig } from "../lib/stacks.js";
6
+ import { detectStack, getStackConfig, detectPackageManager, } from "../lib/stacks.js";
7
7
  import { copyTemplates } from "../lib/templates.js";
8
8
  import { createManifest } from "../lib/manifest.js";
9
9
  import { saveConfig } from "../lib/config.js";
10
10
  import { createDefaultSettings } from "../lib/settings.js";
11
11
  import { fileExists, ensureDir } from "../lib/fs.js";
12
12
  import { commandExists, isGhAuthenticated, getInstallHint, } from "../lib/system.js";
13
+ import { shouldUseInteractiveMode, getNonInteractiveReason, } from "../lib/tty.js";
13
14
  /**
14
15
  * Check prerequisites and display warnings
15
16
  */
@@ -31,8 +32,23 @@ function checkPrerequisites() {
31
32
  }
32
33
  return { warnings, suggestions };
33
34
  }
35
+ /**
36
+ * Log a default value being used in non-interactive mode
37
+ */
38
+ function logDefault(label, value) {
39
+ console.log(chalk.blue(`📦 ${label}: ${value} (default)`));
40
+ }
34
41
  export async function initCommand(options) {
35
42
  console.log(chalk.green("\n🚀 Initializing Sequant...\n"));
43
+ // Determine if we should use interactive mode
44
+ const useInteractive = shouldUseInteractiveMode(options.interactive);
45
+ const skipPrompts = options.yes || !useInteractive;
46
+ // Show non-interactive mode message if applicable
47
+ if (!useInteractive && !options.yes) {
48
+ const reason = getNonInteractiveReason();
49
+ console.log(chalk.yellow(`⚡ Non-interactive mode detected${reason ? ` (${reason})` : ""}`));
50
+ console.log(chalk.gray(" Using defaults. Use --interactive to force prompts.\n"));
51
+ }
36
52
  // Check prerequisites and display warnings
37
53
  const { warnings, suggestions } = checkPrerequisites();
38
54
  if (warnings.length > 0) {
@@ -50,7 +66,7 @@ export async function initCommand(options) {
50
66
  if (configExists && !options.force) {
51
67
  console.log(chalk.yellow("⚠️ Sequant appears to be already initialized (.claude/settings.json exists)"));
52
68
  console.log(chalk.gray(" Use --force to reinitialize\n"));
53
- if (!options.yes) {
69
+ if (!skipPrompts) {
54
70
  const { proceed } = await inquirer.prompt([
55
71
  {
56
72
  type: "confirm",
@@ -69,11 +85,11 @@ export async function initCommand(options) {
69
85
  let stack = options.stack;
70
86
  if (!stack) {
71
87
  const detected = await detectStack();
72
- if (detected && options.yes) {
88
+ if (detected && skipPrompts) {
73
89
  stack = detected;
74
- console.log(chalk.blue(`📦 Detected stack: ${stack}`));
90
+ logDefault("Detected stack", stack);
75
91
  }
76
- else if (detected) {
92
+ else if (detected && !skipPrompts) {
77
93
  const { confirmedStack } = await inquirer.prompt([
78
94
  {
79
95
  type: "list",
@@ -87,7 +103,12 @@ export async function initCommand(options) {
87
103
  ]);
88
104
  stack = confirmedStack;
89
105
  }
90
- if (!stack) {
106
+ if (!stack && skipPrompts) {
107
+ // No detection and skipping prompts: use generic as default
108
+ stack = "generic";
109
+ logDefault("Using stack", stack);
110
+ }
111
+ else if (!stack) {
91
112
  const { selectedStack } = await inquirer.prompt([
92
113
  {
93
114
  type: "list",
@@ -95,6 +116,10 @@ export async function initCommand(options) {
95
116
  message: "Select your project stack:",
96
117
  choices: [
97
118
  { name: "Next.js / React", value: "nextjs" },
119
+ { name: "Astro", value: "astro" },
120
+ { name: "SvelteKit", value: "sveltekit" },
121
+ { name: "Remix", value: "remix" },
122
+ { name: "Nuxt", value: "nuxt" },
98
123
  { name: "Rust", value: "rust" },
99
124
  { name: "Python", value: "python" },
100
125
  { name: "Go", value: "go" },
@@ -106,12 +131,17 @@ export async function initCommand(options) {
106
131
  }
107
132
  }
108
133
  console.log(chalk.blue(`\n📋 Stack: ${stack}`));
134
+ // Detect package manager
135
+ const packageManager = await detectPackageManager();
136
+ if (packageManager) {
137
+ console.log(chalk.blue(`📦 Package Manager: ${packageManager}`));
138
+ }
109
139
  // Get stack config for default dev URL
110
140
  const stackConfig = getStackConfig(stack);
111
141
  let devUrl = stackConfig.devUrl;
112
142
  // Prompt for dev URL
113
- if (options.yes) {
114
- console.log(chalk.blue(`🌐 Dev URL: ${devUrl} (default)`));
143
+ if (skipPrompts) {
144
+ logDefault("Dev URL", devUrl);
115
145
  }
116
146
  else {
117
147
  const { inputDevUrl } = await inquirer.prompt([
@@ -136,7 +166,7 @@ export async function initCommand(options) {
136
166
  console.log(chalk.gray(" └── logs/ (workflow run logs)"));
137
167
  console.log(chalk.gray(" scripts/dev/"));
138
168
  console.log(chalk.gray(" └── *.sh (worktree helpers)"));
139
- if (!options.yes) {
169
+ if (!skipPrompts) {
140
170
  const { confirm } = await inquirer.prompt([
141
171
  {
142
172
  type: "confirm",
@@ -174,7 +204,7 @@ export async function initCommand(options) {
174
204
  await copyTemplates(stack, tokens);
175
205
  // Create manifest
176
206
  console.log(chalk.blue("📋 Creating manifest..."));
177
- await createManifest(stack);
207
+ await createManifest(stack, packageManager ?? undefined);
178
208
  // Build optional suggestions section
179
209
  const optionalSuggestions = suggestions.filter((s) => s.startsWith("Optional"));
180
210
  const optionalSection = optionalSuggestions.length > 0
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAiB,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,cAAc,GACf,MAAM,kBAAkB,CAAC;AAE1B;;GAEG;AACH,SAAS,kBAAkB;IACzB,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,mBAAmB;IACnB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,QAAQ,CAAC,IAAI,CACX,iEAAiE,CAClE,CAAC;QACF,WAAW,CAAC,IAAI,CAAC,YAAY,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvD,CAAC;SAAM,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;QAChC,QAAQ,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QAClD,WAAW,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACzC,CAAC;IAED,0BAA0B;IAC1B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,WAAW,CAAC,IAAI,CACd,iDAAiD,cAAc,CAAC,IAAI,CAAC,GAAG,CACzE,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;AACnC,CAAC;AAQD,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAAoB;IACpD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAC;IAE3D,2CAA2C;IAC3C,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,kBAAkB,EAAE,CAAC;IACvD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAClD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,OAAO,EAAE,CAAC,CAAC,CAAC;QAC/C,CAAC;QACD,KAAK,MAAM,UAAU,IAAI,WAAW,CAAC,MAAM,CACzC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CACjC,EAAE,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,UAAU,EAAE,CAAC,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;IAED,+BAA+B;IAC/B,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,uBAAuB,CAAC,CAAC;IAC/D,IAAI,YAAY,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACnC,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CACV,8EAA8E,CAC/E,CACF,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC,CAAC;QAE5D,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACjB,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;gBACxC;oBACE,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,kBAAkB;oBAC3B,OAAO,EAAE,KAAK;iBACf;aACF,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;gBACpC,OAAO;YACT,CAAC;QACH,CAAC;IACH,CAAC;IAED,6BAA6B;IAC7B,IAAI,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC1B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,QAAQ,GAAG,MAAM,WAAW,EAAE,CAAC;QACrC,IAAI,QAAQ,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YAC5B,KAAK,GAAG,QAAQ,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,KAAK,EAAE,CAAC,CAAC,CAAC;QACzD,CAAC;aAAM,IAAI,QAAQ,EAAE,CAAC;YACpB,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;gBAC/C;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,gBAAgB;oBACtB,OAAO,EAAE,YAAY,QAAQ,4BAA4B;oBACzD,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,YAAY,QAAQ,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;wBACjD,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,IAAI,EAAE;qBAC3C;iBACF;aACF,CAAC,CAAC;YACH,KAAK,GAAG,cAAc,CAAC;QACzB,CAAC;QAED,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;gBAC9C;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,eAAe;oBACrB,OAAO,EAAE,4BAA4B;oBACrC,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,QAAQ,EAAE;wBAC5C,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;wBAC/B,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;wBACnC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;wBAC3B,EAAE,IAAI,EAAE,oCAAoC,EAAE,KAAK,EAAE,SAAS,EAAE;qBACjE;iBACF;aACF,CAAC,CAAC;YACH,KAAK,GAAG,aAAa,CAAC;QACxB,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,KAAK,EAAE,CAAC,CAAC,CAAC;IAEhD,uCAAuC;IACvC,MAAM,WAAW,GAAG,cAAc,CAAC,KAAM,CAAC,CAAC;IAC3C,IAAI,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;IAEhC,qBAAqB;IACrB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,MAAM,YAAY,CAAC,CAAC,CAAC;IAC7D,CAAC;SAAM,CAAC;QACN,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;YAC5C;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,yBAAyB;gBAClC,OAAO,EAAE,MAAM;aAChB;SACF,CAAC,CAAC;QACH,MAAM,GAAG,WAAW,CAAC;IACvB,CAAC;IAED,4BAA4B;IAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC,CAAC;IACtE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC,CAAC;IAC1E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC,CAAC;IACnE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC,CAAC;IACrE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC,CAAC;IAEpE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;YACxC;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,4BAA4B;gBACrC,OAAO,EAAE,IAAI;aACd;SACF,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YACpC,OAAO;QACT,CAAC;IACH,CAAC;IAED,qBAAqB;IACrB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC;IACxD,MAAM,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAClC,MAAM,SAAS,CAAC,eAAe,CAAC,CAAC;IACjC,MAAM,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAClC,MAAM,SAAS,CAAC,kBAAkB,CAAC,CAAC;IACpC,MAAM,SAAS,CAAC,eAAe,CAAC,CAAC;IACjC,MAAM,SAAS,CAAC,aAAa,CAAC,CAAC;IAE/B,0BAA0B;IAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IACnC,MAAM,UAAU,CAAC;QACf,MAAM;QACN,KAAK,EAAE,KAAM;QACb,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACtC,CAAC,CAAC;IAEH,0BAA0B;IAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC,CAAC;IAC5D,MAAM,qBAAqB,EAAE,CAAC;IAE9B,iBAAiB;IACjB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC;IACnD,MAAM,aAAa,CAAC,KAAM,EAAE,MAAM,CAAC,CAAC;IAEpC,kBAAkB;IAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC;IACnD,MAAM,cAAc,CAAC,KAAM,CAAC,CAAC;IAE7B,qCAAqC;IACrC,MAAM,mBAAmB,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACnD,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CACzB,CAAC;IACF,MAAM,eAAe,GACnB,mBAAmB,CAAC,MAAM,GAAG,CAAC;QAC5B,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,KAAK,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;QACnI,CAAC,CAAC,EAAE,CAAC;IAET,sDAAsD;IACtD,MAAM,cAAc,GAClB,QAAQ,CAAC,MAAM,GAAG,CAAC;QACjB,CAAC,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,2EAA2E,CAAC,IAAI;QACpG,CAAC,CAAC,EAAE,CAAC;IAET,kBAAkB;IAClB,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,KAAK,CAAC;;EAEd,cAAc;EACd,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC;;;;OAIpB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC;OACvB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC;OACvB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;EAC1B,eAAe;EACf,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC;;CAE7B,CAAC,CACC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/commands/init.ts"],"names":[],"mappings":"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"}