create-specfuse 0.7.0 → 0.9.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 (110) hide show
  1. package/README.md +55 -144
  2. package/dist/index.d.ts +2 -1
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +7 -10
  5. package/dist/index.js.map +1 -1
  6. package/dist/prompts.d.ts +2 -2
  7. package/dist/prompts.d.ts.map +1 -1
  8. package/dist/prompts.js +3 -82
  9. package/dist/prompts.js.map +1 -1
  10. package/dist/scaffolder.d.ts.map +1 -1
  11. package/dist/scaffolder.js +7 -44
  12. package/dist/scaffolder.js.map +1 -1
  13. package/dist/templates/claude-md.d.ts.map +1 -1
  14. package/dist/templates/claude-md.js +7 -23
  15. package/dist/templates/claude-md.js.map +1 -1
  16. package/dist/templates/claude-settings.d.ts +1 -2
  17. package/dist/templates/claude-settings.d.ts.map +1 -1
  18. package/dist/templates/claude-settings.js +2 -2
  19. package/dist/templates/claude-settings.js.map +1 -1
  20. package/dist/templates/fusereview-skill.d.ts +1 -1
  21. package/dist/templates/fusereview-skill.d.ts.map +1 -1
  22. package/dist/templates/fusereview-skill.js +2 -10
  23. package/dist/templates/fusereview-skill.js.map +1 -1
  24. package/dist/templates/gitignore.d.ts +1 -2
  25. package/dist/templates/gitignore.d.ts.map +1 -1
  26. package/dist/templates/gitignore.js +2 -11
  27. package/dist/templates/gitignore.js.map +1 -1
  28. package/dist/templates/openspec-config.d.ts +1 -2
  29. package/dist/templates/openspec-config.d.ts.map +1 -1
  30. package/dist/templates/openspec-config.js +34 -3
  31. package/dist/templates/openspec-config.js.map +1 -1
  32. package/dist/types.d.ts +0 -24
  33. package/dist/types.d.ts.map +1 -1
  34. package/dist/utils/tools.d.ts +0 -3
  35. package/dist/utils/tools.d.ts.map +1 -1
  36. package/dist/utils/tools.js +25 -38
  37. package/dist/utils/tools.js.map +1 -1
  38. package/package.json +1 -1
  39. package/dist/stacks/bash.d.ts +0 -5
  40. package/dist/stacks/bash.d.ts.map +0 -1
  41. package/dist/stacks/bash.js +0 -66
  42. package/dist/stacks/bash.js.map +0 -1
  43. package/dist/stacks/cpp-cmake.d.ts +0 -5
  44. package/dist/stacks/cpp-cmake.d.ts.map +0 -1
  45. package/dist/stacks/cpp-cmake.js +0 -74
  46. package/dist/stacks/cpp-cmake.js.map +0 -1
  47. package/dist/stacks/detect.d.ts +0 -11
  48. package/dist/stacks/detect.d.ts.map +0 -1
  49. package/dist/stacks/detect.js +0 -104
  50. package/dist/stacks/detect.js.map +0 -1
  51. package/dist/stacks/dotnet.d.ts +0 -5
  52. package/dist/stacks/dotnet.d.ts.map +0 -1
  53. package/dist/stacks/dotnet.js +0 -68
  54. package/dist/stacks/dotnet.js.map +0 -1
  55. package/dist/stacks/elixir.d.ts +0 -5
  56. package/dist/stacks/elixir.d.ts.map +0 -1
  57. package/dist/stacks/elixir.js +0 -68
  58. package/dist/stacks/elixir.js.map +0 -1
  59. package/dist/stacks/go.d.ts +0 -5
  60. package/dist/stacks/go.d.ts.map +0 -1
  61. package/dist/stacks/go.js +0 -68
  62. package/dist/stacks/go.js.map +0 -1
  63. package/dist/stacks/index.d.ts +0 -7
  64. package/dist/stacks/index.d.ts.map +0 -1
  65. package/dist/stacks/index.js +0 -84
  66. package/dist/stacks/index.js.map +0 -1
  67. package/dist/stacks/java-gradle.d.ts +0 -5
  68. package/dist/stacks/java-gradle.d.ts.map +0 -1
  69. package/dist/stacks/java-gradle.js +0 -69
  70. package/dist/stacks/java-gradle.js.map +0 -1
  71. package/dist/stacks/java-maven.d.ts +0 -5
  72. package/dist/stacks/java-maven.d.ts.map +0 -1
  73. package/dist/stacks/java-maven.js +0 -67
  74. package/dist/stacks/java-maven.js.map +0 -1
  75. package/dist/stacks/kotlin.d.ts +0 -5
  76. package/dist/stacks/kotlin.d.ts.map +0 -1
  77. package/dist/stacks/kotlin.js +0 -69
  78. package/dist/stacks/kotlin.js.map +0 -1
  79. package/dist/stacks/php.d.ts +0 -5
  80. package/dist/stacks/php.d.ts.map +0 -1
  81. package/dist/stacks/php.js +0 -68
  82. package/dist/stacks/php.js.map +0 -1
  83. package/dist/stacks/python-fastapi.d.ts +0 -5
  84. package/dist/stacks/python-fastapi.d.ts.map +0 -1
  85. package/dist/stacks/python-fastapi.js +0 -75
  86. package/dist/stacks/python-fastapi.js.map +0 -1
  87. package/dist/stacks/ruby.d.ts +0 -5
  88. package/dist/stacks/ruby.d.ts.map +0 -1
  89. package/dist/stacks/ruby.js +0 -69
  90. package/dist/stacks/ruby.js.map +0 -1
  91. package/dist/stacks/rust.d.ts +0 -5
  92. package/dist/stacks/rust.d.ts.map +0 -1
  93. package/dist/stacks/rust.js +0 -65
  94. package/dist/stacks/rust.js.map +0 -1
  95. package/dist/stacks/scala-sbt.d.ts +0 -5
  96. package/dist/stacks/scala-sbt.d.ts.map +0 -1
  97. package/dist/stacks/scala-sbt.js +0 -68
  98. package/dist/stacks/scala-sbt.js.map +0 -1
  99. package/dist/stacks/schema.d.ts +0 -91
  100. package/dist/stacks/schema.d.ts.map +0 -1
  101. package/dist/stacks/schema.js +0 -23
  102. package/dist/stacks/schema.js.map +0 -1
  103. package/dist/stacks/swift.d.ts +0 -5
  104. package/dist/stacks/swift.d.ts.map +0 -1
  105. package/dist/stacks/swift.js +0 -69
  106. package/dist/stacks/swift.js.map +0 -1
  107. package/dist/stacks/typescript-react.d.ts +0 -5
  108. package/dist/stacks/typescript-react.d.ts.map +0 -1
  109. package/dist/stacks/typescript-react.js +0 -73
  110. package/dist/stacks/typescript-react.js.map +0 -1
package/README.md CHANGED
@@ -1,204 +1,117 @@
1
1
  # SpecFuse
2
2
 
3
- 将 AI 编码从即兴发挥改造为工程流水线。
3
+ > 把 AI 编码从即兴发挥,改造成工程流水线。
4
4
 
5
- SpecFuse 不发明新工具——它把 OpenSpec、Superpowers 按正确的顺序编排成一条四拍流水线:**Think → Do → FuseReview → Verify**。一条命令注入到任何项目。
5
+ SpecFuse 不发明新工具。它把 OpenSpec(流程引擎)和 Superpowers(行为约束)编排成一条 **Think → Do → FuseReview → Verify** 四拍流水线,一条命令注入任何项目——它不产生新能力,它约束产出可靠性。
6
6
 
7
7
  ## 快速开始
8
8
 
9
9
  ```bash
10
- npm create specfuse@latest
10
+ npm create specfuse@latest # 交互式引导(需 Node >= 18,推荐 nvm)
11
+ npm create specfuse@latest my-app -- --yes # 非交互,CI 友好
12
+ cd existing-project && npm create specfuse@latest . # 已有项目就地初始化
11
13
  ```
12
14
 
13
- 交互式引导你选择技术栈,生成项目骨架和完整的工作流配置。无需全局安装,始终拉取最新版。
15
+ 两个可选组件。不装也能用——生成的 `CLAUDE.md` 依然生效,只是缺一半能力:
14
16
 
15
17
  ```bash
16
- # 指定目录
17
- npm create specfuse@latest my-app
18
-
19
- # 指定技术栈,跳过交互
20
- npm create specfuse@latest my-app -- --stack rust --yes
21
- ```
22
-
23
- ### 前置依赖
24
-
25
- - **Node.js >= 18**(推荐通过 [nvm](https://github.com/nvm-sh/nvm) 安装)
26
-
27
- ### 可选组件
28
-
29
- SpecFuse 生成的工作流依赖以下组件实现完整能力,但它们不是硬依赖:
30
-
31
- ```bash
32
- # OpenSpec CLI — 流程引擎
33
- npm install -g @fission-ai/openspec
34
-
35
- # Superpowers — Claude Code 行为约束插件(在 Claude Code 内执行)
36
- /plugins add obra/superpowers
18
+ npm install -g @fission-ai/openspec # 流程引擎;装好后自动注册 /opsx:* 命令
19
+ /plugins add obra/superpowers # 行为约束插件(在 Claude Code 内执行)
37
20
  ```
38
21
 
39
- > 未安装时,生成的 CLAUDE.md 仍然有效,只是 `/opsx:*` 命令和 Superpowers 技能不可用。
40
-
41
- ---
22
+ ## 生成物
42
23
 
43
- ## 它做了什么
44
-
45
- 运行后在目标目录生成:
24
+ 装完得到四样东西:
46
25
 
47
26
  ```
48
27
  my-app/
49
- ├── CLAUDE.md # 融合方法论 + 流水线纪律规则
50
- ├── .gitignore # 栈特化忽略规则
28
+ ├── CLAUDE.md # 流水线调度协议(四拍规则全文)
29
+ ├── .gitignore # 共享忽略规则
51
30
  ├── .claude/
52
31
  │ ├── settings.local.json # 权限白名单
53
32
  │ └── skills/
54
33
  │ ├── design-md/ # 设计令牌生成技能
55
34
  │ └── fusereview/ # 实施后代码评审技能
56
35
  └── openspec/
57
- ├── config.yaml # 栈特化 spec 规则
58
- ├── specs/
59
- └── changes/
60
- └── archive/
36
+ ├── config.yaml # spec 规则(流程约束)
37
+ ├── specs/ # 主规格
38
+ └── changes/archive/ # 变更档案
61
39
  ```
62
40
 
63
- 脚手架完成后自动将项目目录加入 Claude Code 信任列表,无需手动确认。
64
-
65
- 如果检测到已安装 `@fission-ai/openspec`,还会自动注册 OpenSpec 技能和 `/opsx:*` 命令。
41
+ 项目目录会自动加入 Claude Code 信任列表。
66
42
 
67
43
  ### Design Tokens(前端项目)
68
44
 
69
- 对涉及 UI/前端的项目,流水线在 brainstorming 阶段会自动触发 `/design-md` 技能,通过问卷生成 `DESIGN-TOKENS.md`——定义色彩、字体、间距、圆角等设计变量,确保实现阶段的视觉一致性。
70
-
71
- 也可手动调用 `/design-md` 为已有项目生成设计令牌。
72
-
73
- ---
45
+ 涉 UI/前端的项目,Think 阶段会触发 `/design-md` 技能生成 `DESIGN-TOKENS.md`,定义色彩、字体、间距、圆角等设计变量。也可手动 `/design-md` 为已有项目生成。
74
46
 
75
47
  ## 四拍流水线
76
48
 
77
- 初始化完成后,在项目中启动 Claude Code,按以下节奏开发:
49
+ 在项目中启动 Claude Code,按这套节奏开发:
78
50
 
79
51
  ```
80
- Think /opsx:new 或 /opsx:propose
81
- ↓ 激活 Brainstorming(苏格拉底式一问一答)
82
- ↓ 生成 proposal → design → specs → tasks
52
+ Think /opsx:new 或 /opsx:propose —— 方案设计与制品生成
53
+ Do /opsx:apply —— TDD 实施
54
+ FuseReview apply 收尾检查点 —— 冷读评审
55
+ Verify /opsx:verify → /opsx:archive —— 全量验收与归档
56
+ ```
83
57
 
84
- Do /opsx:apply
85
- ↓ 严格 TDD:写失败测试 → 最小实现 → 粘贴证据
86
- ↓ 每个任务完成前必须有终端输出作为证据
58
+ ### Think
87
59
 
88
- FuseReview apply 收尾检查点
89
- ↓ 呈事实、用户决定是否评审;独立上下文冷读累积 diff
90
- ↓ blocking 发现走 TDD 修复,跳过留痕
60
+ - `/opsx:propose`(Path A)一次生成全部制品;`/opsx:new` + `/opsx:continue`(Path B)一次一个制品、逐步确认。
61
+ - 苏格拉底式一次一问,2-3 个方案对比,强制声明 Non-goals、Trade-offs、Verification strategy。
91
62
 
92
- Verify /opsx:verify → /opsx:archive
93
- ↓ 全量测试 + lint 零警告 → 归档
94
- ```
63
+ ### Do
95
64
 
96
- ### 内置纪律(自动执行,无需手动记忆)
65
+ - 进入实施前有模型切换检查点。
66
+ - 逐任务红绿循环,严格遵守 TDD。
67
+ - **铁律:`NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE`** —— 每个任务完成前必须粘贴终端原始输出作为证据。
97
68
 
98
- | 阶段 | 强制行为 |
99
- |------|----------|
100
- | Think | 一次一问,2-3 种方案对比,Non-goals + Trade-offs |
101
- | Do | Red-Green-Refactor,禁止跳过测试 |
102
- | FuseReview | apply 完成后必须询问是否评审;跳过必须留痕;修复只复审修复 diff |
103
- | Verify | 必须粘贴终端原始输出,不接受"应该能跑" |
69
+ ### FuseReview
104
70
 
105
- ---
71
+ - apply 完成后必须询问是否评审(禁止静默跳过);呈报任务数、涉及模块等事实,由你决定是否执行。
72
+ - 评审以冷读方式审查 `基线..HEAD` 的累积 diff(评审者不参与实现)。
73
+ - Blocking 发现走 TDD 修复;修复后只复审修复 diff,不进行第二轮全量评审。
74
+ - 跳过评审必须记录在收尾报告中留痕。
106
75
 
107
- ## 已有项目初始化
76
+ ### Verify
108
77
 
109
- ```bash
110
- cd existing-project
111
- npm create specfuse@latest .
112
- ```
78
+ - `/opsx:verify` 逐条对照 specs 验证实现;`/opsx:archive` 前运行全量测试 + lint 零警告,粘贴原始输出。
113
79
 
114
- 智能合并策略,不覆盖已有内容:
80
+ ## 已有项目:能不动就不动
81
+
82
+ `npm create specfuse@latest .` 的合并策略逐文件保守:
115
83
 
116
84
  | 文件 | 行为 |
117
85
  |------|------|
118
- | `CLAUDE.md` | 有 `<!-- FUSION:START/END -->` 标记 → 替换标记内段落;无标记 → 追加 |
86
+ | `CLAUDE.md` | 有 `<!-- FUSION:START/END -->` 标记 → 只替换标记内段落;无标记 → 追加 |
119
87
  | `.gitignore` | 追加缺失模式,不重复 |
120
88
  | `.claude/settings.local.json` | 合并权限列表 |
121
89
  | `openspec/config.yaml` | 已存在 → 跳过 |
122
90
 
123
- ---
124
-
125
- ## 内置技术栈
126
-
127
- | 栈 | ID | 构建 | 测试 | Lint |
128
- |---|---|---|---|---|
129
- | Rust | `rust` | `cargo build` | `cargo test` | `cargo clippy -- -D warnings` |
130
- | Go | `go` | `go build ./...` | `go test ./...` | `golangci-lint run` |
131
- | TypeScript + React | `typescript-react` | `npm run build` | `npx vitest run` | `npx eslint .` |
132
- | Python + FastAPI | `python-fastapi` | `pip install -e .` | `pytest tests/ -v` | `ruff check .` |
133
- | Java (Maven) | `java-maven` | `mvn package` | `mvn test` | `mvn checkstyle:check` |
134
- | Java (Gradle) | `java-gradle` | `./gradlew build` | `./gradlew test` | `./gradlew checkstyleMain` |
135
- | C++ (CMake) | `cpp-cmake` | `cmake --build build` | `ctest --test-dir build` | `clang-tidy` |
136
- | Ruby | `ruby` | — | `bundle exec rspec` | `bundle exec rubocop` |
137
- | PHP | `php` | `composer install` | `./vendor/bin/phpunit` | `./vendor/bin/phpstan` |
138
- | Kotlin | `kotlin` | `./gradlew build` | `./gradlew test` | `./gradlew ktlintCheck` |
139
- | Swift | `swift` | `swift build` | `swift test` | `swiftlint` |
140
- | Elixir | `elixir` | `mix compile` | `mix test` | `mix credo` |
141
- | Scala (sbt) | `scala-sbt` | `sbt compile` | `sbt test` | `sbt scalafmtCheck` |
142
- | .NET | `dotnet` | `dotnet build` | `dotnet test` | `dotnet format --verify-no-changes` |
143
- | Bash | `bash` | — | `bats tests/` | `shellcheck **/*.sh` |
144
-
145
- ### 自定义栈
146
-
147
- 创建 YAML 文件定义你的栈:
148
-
149
- ```yaml
150
- id: java-spring
151
- label: "Java + Spring Boot"
152
- languages: [Java]
153
- framework: Spring Boot
154
- architecture: Layered (Controller → Service → Repository)
155
- commands:
156
- build: ./gradlew build
157
- test: ./gradlew test
158
- lint: ./gradlew checkstyleMain
159
- format: ./gradlew spotlessApply
160
- permissions:
161
- - "Bash(./gradlew *)"
162
- gitignorePatterns:
163
- - "/build/"
164
- - "/.gradle/"
165
- ```
91
+ 删除 `CLAUDE.md` 里的 FUSION 块,项目即回到无调度状态——整套编排零侵入、可逆。
166
92
 
167
- ```bash
168
- npm create specfuse@latest my-app -- --stack-from ./java-spring.yaml
169
- ```
93
+ ## 不问技术栈
94
+
95
+ SpecFuse 是流程,不是栈选择器。Think → Do → FuseReview → Verify 对 Rust、React 或一个裸脚本完全一致,所以初始化时不会问你用什么栈,也不生成栈特化内容:
96
+
97
+ - `CLAUDE.md` 不含 Tech Stack 段落,验证指令写作「项目的测试命令」「项目的 linter」——由项目自己的工具链定义。
98
+ - `.gitignore` 只给 IDE / OS / env / 日志这些共享模式,构建产物模式留给首次提交时判断。
99
+ - `.claude/settings.local.json` 只给 git / openspec / 检索这些共享权限。
100
+ - `openspec/config.yaml` 只给方法论不变量(Non-goals、Trade-offs、依赖图、可独立测试的 spec、TDD 任务顺序)。
170
101
 
171
- ---
102
+ 栈是项目自己的文件已经声明的事实,SpecFuse 没什么可补充的。
172
103
 
173
104
  ## CLI 参考
174
105
 
175
106
  ```
176
107
  Usage: create-specfuse [options] [project-name]
177
108
 
178
- Arguments:
179
- project-name 目标目录(省略或 "." 表示当前目录)
180
-
181
- Options:
182
- --stack <id> 指定内置技术栈
183
- --stack-from <path> 加载自定义栈配置(YAML/JSON)
184
- -y, --yes 非交互模式(CI 友好)
185
- -V, --version 显示版本号
186
- -h, --help 显示帮助
109
+ project-name 目标目录(省略或 "." 表示当前目录)
110
+ -y, --yes 非交互模式
111
+ -V, --version 版本号
112
+ -h, --help 帮助
187
113
  ```
188
114
 
189
- ---
190
-
191
- ## 为什么需要编排
192
-
193
- 你手里可能已经有 OpenSpec、Superpowers——但谁来记住"现在该激活什么"?
194
-
195
- - **你来记** → 你会忘。第三个小需求时你会想"太简单了不需要 brainstorm",然后写到一半发现方向错了。
196
- - **流水线来记** → 每个命令背后自动调度对应能力。调用"开始实施",TDD 铁律就自动生效。
197
-
198
- 这就是融合和组合的区别:组合是你有三个好工具,融合是一条流水线让工具在正确时刻自动接力。
199
-
200
- ---
201
-
202
115
  ## 开发
203
116
 
204
117
  ```bash
@@ -215,8 +128,6 @@ npm run samples
215
128
 
216
129
  16 个内置模版各生成一个自包含 HTML 页面,展示色彩系统、字体阶梯、间距、圆角和组件预览。打开 `docs/samples/index.html` 查看全部模版。
217
130
 
218
- 新增栈模板:在 `src/stacks/` 下创建文件并注册到 `src/stacks/index.ts`。
219
-
220
131
  ## License
221
132
 
222
133
  MIT
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  #!/usr/bin/env node
2
- export {};
2
+ import { Command } from 'commander';
3
+ export declare const program: Command;
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,eAAO,MAAM,OAAO,SAAgB,CAAC"}
package/dist/index.js CHANGED
@@ -5,25 +5,18 @@ import { fileURLToPath } from 'node:url';
5
5
  import { dirname, resolve } from 'node:path';
6
6
  import { collectProjectConfig } from './prompts.js';
7
7
  import { scaffold } from './scaffolder.js';
8
- import { loadCustomStack } from './stacks/index.js';
9
8
  const __dirname = dirname(fileURLToPath(import.meta.url));
10
9
  const pkg = JSON.parse(readFileSync(resolve(__dirname, '..', 'package.json'), 'utf-8'));
11
- const program = new Command();
10
+ export const program = new Command();
12
11
  program
13
12
  .name('create-specfuse')
14
13
  .description('SpecFuse — AI engineering pipeline scaffolder.\n\nInjects OpenSpec workflow + Superpowers discipline into any project.\nThink → Do → FuseReview → Verify, one command at a time.')
15
14
  .version(pkg.version)
16
15
  .argument('[project-name]', 'Target directory (omit or use "." to init in current directory)')
17
- .option('--stack <id>', 'Built-in stack: rust, go, typescript-react, python-fastapi, bash, java-maven, java-gradle, cpp-cmake, ruby, php, kotlin, swift, elixir, scala-sbt, dotnet')
18
- .option('--stack-from <path>', 'Custom stack profile (YAML/JSON)')
19
16
  .option('-y, --yes', 'Non-interactive mode (use defaults, CI-friendly)')
20
17
  .action(async (projectName, opts) => {
21
18
  try {
22
- let customStack;
23
- if (opts.stackFrom) {
24
- customStack = await loadCustomStack(opts.stackFrom);
25
- }
26
- const config = await collectProjectConfig(projectName, opts.stack, customStack, opts.yes);
19
+ const config = await collectProjectConfig(projectName, opts.yes);
27
20
  await scaffold(config);
28
21
  }
29
22
  catch (err) {
@@ -31,5 +24,9 @@ program
31
24
  process.exit(1);
32
25
  }
33
26
  });
34
- program.parse();
27
+ // Only parse when run as the CLI entrypoint, so tests can import `program`.
28
+ const isMain = process.argv[1] && fileURLToPath(import.meta.url) === resolve(process.argv[1]);
29
+ if (isMain) {
30
+ program.parse();
31
+ }
35
32
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AAExF,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,iBAAiB,CAAC;KACvB,WAAW,CAAC,kLAAkL,CAAC;KAC/L,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;KACpB,QAAQ,CAAC,gBAAgB,EAAE,iEAAiE,CAAC;KAC7F,MAAM,CAAC,cAAc,EAAE,2JAA2J,CAAC;KACnL,MAAM,CAAC,qBAAqB,EAAE,kCAAkC,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,kDAAkD,CAAC;KACvE,MAAM,CAAC,KAAK,EAAE,WAA+B,EAAE,IAA2D,EAAE,EAAE;IAC7G,IAAI,CAAC;QACH,IAAI,WAAW,CAAC;QAChB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,WAAW,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtD,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1F,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC;IACzB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,YAAa,GAAa,CAAC,OAAO,IAAI,CAAC,CAAC;QACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AAExF,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAErC,OAAO;KACJ,IAAI,CAAC,iBAAiB,CAAC;KACvB,WAAW,CAAC,kLAAkL,CAAC;KAC/L,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;KACpB,QAAQ,CAAC,gBAAgB,EAAE,iEAAiE,CAAC;KAC7F,MAAM,CAAC,WAAW,EAAE,kDAAkD,CAAC;KACvE,MAAM,CAAC,KAAK,EAAE,WAA+B,EAAE,IAAuB,EAAE,EAAE;IACzE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACjE,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC;IACzB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,YAAa,GAAa,CAAC,OAAO,IAAI,CAAC,CAAC;QACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,4EAA4E;AAC5E,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9F,IAAI,MAAM,EAAE,CAAC;IACX,OAAO,CAAC,KAAK,EAAE,CAAC;AAClB,CAAC"}
package/dist/prompts.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- import type { StackProfile, ProjectConfig } from './types.js';
2
- export declare function collectProjectConfig(projectNameArg?: string, stackArg?: string, customStack?: StackProfile, skipPrompts?: boolean): Promise<ProjectConfig>;
1
+ import type { ProjectConfig } from './types.js';
2
+ export declare function collectProjectConfig(projectNameArg?: string, skipPrompts?: boolean): Promise<ProjectConfig>;
3
3
  //# sourceMappingURL=prompts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE9D,wBAAsB,oBAAoB,CACxC,cAAc,CAAC,EAAE,MAAM,EACvB,QAAQ,CAAC,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,YAAY,EAC1B,WAAW,CAAC,EAAE,OAAO,GACpB,OAAO,CAAC,aAAa,CAAC,CA4CxB"}
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,wBAAsB,oBAAoB,CACxC,cAAc,CAAC,EAAE,MAAM,EACvB,WAAW,CAAC,EAAE,OAAO,GACpB,OAAO,CAAC,aAAa,CAAC,CAwBxB"}
package/dist/prompts.js CHANGED
@@ -1,8 +1,6 @@
1
1
  import path from 'node:path';
2
- import { select, confirm } from '@inquirer/prompts';
3
- import { getBuiltinStacks } from './stacks/index.js';
4
- import { detectStacks } from './stacks/detect.js';
5
- export async function collectProjectConfig(projectNameArg, stackArg, customStack, skipPrompts) {
2
+ import { confirm } from '@inquirer/prompts';
3
+ export async function collectProjectConfig(projectNameArg, skipPrompts) {
6
4
  const isExisting = projectNameArg === undefined || projectNameArg === '.';
7
5
  let projectName;
8
6
  let targetDir;
@@ -17,87 +15,10 @@ export async function collectProjectConfig(projectNameArg, stackArg, customStack
17
15
  }
18
16
  targetDir = path.join(process.cwd(), projectName);
19
17
  }
20
- let stack;
21
- if (customStack) {
22
- stack = customStack;
23
- }
24
- else if (stackArg) {
25
- const found = getBuiltinStacks().find((s) => s.id === stackArg);
26
- if (!found) {
27
- const ids = getBuiltinStacks().map((s) => s.id).join(', ');
28
- throw new Error(`Unknown stack "${stackArg}". Available: ${ids}`);
29
- }
30
- stack = found;
31
- }
32
- else if (skipPrompts) {
33
- throw new Error('--stack is required with --yes');
34
- }
35
- else if (isExisting) {
36
- stack = await detectAndSelect(targetDir);
37
- }
38
- else {
39
- stack = await promptFullStackList();
40
- }
41
18
  const initGit = isExisting
42
19
  ? false
43
20
  : (skipPrompts ? true : await confirm({ message: 'Initialize git repository?', default: true }));
44
21
  const initOpenspec = skipPrompts ? true : await confirm({ message: 'Initialize OpenSpec?', default: true });
45
- const initCodegraph = skipPrompts ? true : await confirm({ message: 'Enable CodeGraph code knowledge graph?', default: true });
46
- return { projectName, stack, initGit, initOpenspec, initCodegraph, targetDir, isExisting };
47
- }
48
- async function detectAndSelect(targetDir) {
49
- const detected = await detectStacks(targetDir);
50
- const stacks = getBuiltinStacks();
51
- if (detected.length === 1) {
52
- const found = stacks.find((s) => s.id === detected[0]);
53
- if (found) {
54
- const useDetected = await confirm({ message: `Detected stack: ${found.label}. Use it?`, default: true });
55
- if (useDetected)
56
- return found;
57
- return promptFullStackList();
58
- }
59
- }
60
- if (detected.length > 1) {
61
- const detectedStacks = detected
62
- .map((id) => stacks.find((s) => s.id === id))
63
- .filter((s) => !!s);
64
- const choices = [
65
- ...detectedStacks.map((s) => ({ name: `${s.label} (detected)`, value: s.id })),
66
- { name: 'Other...', value: '__other__' },
67
- ];
68
- const stackId = await select({ message: 'Detected multiple stacks. Select primary:', choices });
69
- if (stackId === '__other__') {
70
- return promptFullStackList();
71
- }
72
- return stacks.find((s) => s.id === stackId);
73
- }
74
- return promptFullStackList();
75
- }
76
- async function promptFullStackList() {
77
- const stacks = getBuiltinStacks();
78
- const choices = [
79
- { name: 'Skip (decide later)', value: '__skip__' },
80
- ...stacks.map((s) => ({ name: s.label, value: s.id })),
81
- ];
82
- const stackId = await select({
83
- message: 'Tech stack:',
84
- choices,
85
- });
86
- if (stackId === '__skip__') {
87
- return {
88
- id: 'generic',
89
- label: 'Generic',
90
- languages: [],
91
- architecture: 'Not specified',
92
- commands: { build: 'echo "no build configured"', test: 'echo "no test configured"', lint: 'echo "no lint configured"' },
93
- errorHandling: 'Not specified',
94
- concurrency: 'Not specified',
95
- permissions: [],
96
- gitignorePatterns: [],
97
- openspecContext: 'Tech stack not yet configured. Set up later with create-specfuse --stack <id>',
98
- openspecRules: {},
99
- };
100
- }
101
- return stacks.find((s) => s.id === stackId);
22
+ return { projectName, initGit, initOpenspec, targetDir, isExisting };
102
23
  }
103
24
  //# sourceMappingURL=prompts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAG5C,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,cAAuB,EACvB,WAAqB;IAErB,MAAM,UAAU,GAAG,cAAc,KAAK,SAAS,IAAI,cAAc,KAAK,GAAG,CAAC;IAE1E,IAAI,WAAmB,CAAC;IACxB,IAAI,SAAiB,CAAC;IAEtB,IAAI,UAAU,EAAE,CAAC;QACf,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC1B,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;SAAM,CAAC;QACN,WAAW,GAAG,cAAc,CAAC;QAC7B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;QACzF,CAAC;QACD,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,OAAO,GAAG,UAAU;QACxB,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,EAAE,OAAO,EAAE,4BAA4B,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAEnG,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,EAAE,OAAO,EAAE,sBAAsB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAE5G,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;AACvE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"scaffolder.d.ts","sourceRoot":"","sources":["../src/scaffolder.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AA0FhD,wBAAsB,QAAQ,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAuMnE"}
1
+ {"version":3,"file":"scaffolder.d.ts","sourceRoot":"","sources":["../src/scaffolder.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AA0FhD,wBAAsB,QAAQ,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAgKnE"}
@@ -12,7 +12,7 @@ import { composeFuseReviewSkill } from './templates/fusereview-skill.js';
12
12
  import { composeCLAUDEmd } from './templates/claude-md.js';
13
13
  import { createDir, writeText, writeJSON, writeYAML } from './utils/fs.js';
14
14
  import { gitInit, gitInitialCommit } from './utils/git.js';
15
- import { detectCodegraph, installCodegraph, initCodegraph, detectOpenspec, installOpenspec, initOpenspec } from './utils/tools.js';
15
+ import { detectOpenspec, installOpenspec, initOpenspec } from './utils/tools.js';
16
16
  function hasSuperpowersPlugin() {
17
17
  const pluginsPath = path.join(process.env.HOME || '', '.claude', 'plugins', 'installed_plugins.json');
18
18
  if (!existsSync(pluginsPath))
@@ -90,8 +90,8 @@ function mergeClaudeSettings(existing, generated) {
90
90
  return { ...existing, permissions: { ...existing?.permissions, allow: merged } };
91
91
  }
92
92
  export async function scaffold(config) {
93
- const { targetDir, stack, projectName, isExisting } = config;
94
- const ctx = { projectName, stack };
93
+ const { targetDir, projectName, isExisting } = config;
94
+ const ctx = { projectName };
95
95
  if (!isExisting && await fileExists(targetDir)) {
96
96
  throw new Error(`Directory "${targetDir}" already exists. Omit project name to init in current directory.`);
97
97
  }
@@ -101,7 +101,7 @@ export async function scaffold(config) {
101
101
  spinner.text = 'Writing .gitignore...';
102
102
  const gitignorePath = path.join(targetDir, '.gitignore');
103
103
  const existingGitignore = await readTextSafe(gitignorePath);
104
- const generatedGitignore = composeGitignore(stack);
104
+ const generatedGitignore = composeGitignore();
105
105
  if (existingGitignore) {
106
106
  await writeText(gitignorePath, mergeGitignore(existingGitignore, generatedGitignore));
107
107
  }
@@ -123,7 +123,7 @@ export async function scaffold(config) {
123
123
  spinner.text = 'Writing .claude/settings.local.json...';
124
124
  const settingsPath = path.join(targetDir, '.claude', 'settings.local.json');
125
125
  const existingSettings = await readTextSafe(settingsPath);
126
- const generatedSettings = composeClaudeSettings(stack);
126
+ const generatedSettings = composeClaudeSettings();
127
127
  if (existingSettings) {
128
128
  try {
129
129
  const parsed = JSON.parse(existingSettings);
@@ -172,7 +172,7 @@ export async function scaffold(config) {
172
172
  spinner.text = 'OpenSpec config.yaml already exists, skipping...';
173
173
  }
174
174
  else {
175
- await writeYAML(configYamlPath, composeOpenspecConfig(ctx));
175
+ await writeYAML(configYamlPath, composeOpenspecConfig());
176
176
  }
177
177
  }
178
178
  // Git
@@ -205,33 +205,6 @@ export async function scaffold(config) {
205
205
  }
206
206
  }
207
207
  }
208
- // CodeGraph
209
- if (config.initCodegraph) {
210
- spinner.text = 'Setting up CodeGraph...';
211
- const hasCodegraph = await detectCodegraph();
212
- if (hasCodegraph) {
213
- const ok = await initCodegraph(targetDir);
214
- if (ok) {
215
- spinner.text = 'CodeGraph initialized.';
216
- }
217
- else {
218
- spinner.warn('CodeGraph init failed. Run manually: codegraph init -i && codegraph install');
219
- }
220
- }
221
- else {
222
- spinner.text = 'Installing CodeGraph...';
223
- const installed = await installCodegraph();
224
- if (installed) {
225
- const ok = await initCodegraph(targetDir);
226
- if (!ok) {
227
- spinner.warn('CodeGraph installed but init failed. Run manually: codegraph init -i && codegraph install');
228
- }
229
- }
230
- else {
231
- spinner.warn('CodeGraph installation failed. Install manually:\n curl -fsSL https://raw.githubusercontent.com/colbymchenry/codegraph/main/install.sh | sh\n Then run: codegraph init -i && codegraph install');
232
- }
233
- }
234
- }
235
208
  // Trust the project directory so .claude/settings.local.json permissions take effect
236
209
  try {
237
210
  await trustDirectory(path.resolve(targetDir));
@@ -244,7 +217,7 @@ export async function scaffold(config) {
244
217
  console.log(chalk.bold(` ${projectName}/`));
245
218
  const tag = (label) => isExisting ? `${label} ${chalk.yellow('(merged)')}` : label;
246
219
  console.log(` CLAUDE.md ${chalk.dim(tag('Bridge declaration'))}`);
247
- console.log(` .gitignore ${chalk.dim(tag(stack.label + ' patterns'))}`);
220
+ console.log(` .gitignore ${chalk.dim(tag('Shared ignore patterns'))}`);
248
221
  console.log(` .claude/settings.local.json ${chalk.dim(tag('Permissions'))}`);
249
222
  if (config.initOpenspec) {
250
223
  console.log(` openspec/config.yaml ${chalk.dim('Spec-driven config')}`);
@@ -255,16 +228,6 @@ export async function scaffold(config) {
255
228
  console.log(` cd ${projectName}`);
256
229
  console.log(' claude');
257
230
  console.log(' /opsx:propose # start your first change');
258
- if (config.initCodegraph) {
259
- const localBin = path.join(process.env.HOME || '', '.local', 'bin');
260
- const inPath = (process.env.PATH || '').split(':').includes(localBin);
261
- if (!inPath) {
262
- console.log('');
263
- console.log(chalk.yellow(' Note: ~/.local/bin is not in your PATH.'));
264
- console.log(chalk.dim(' Add it to use codegraph directly:'));
265
- console.log(chalk.dim(' echo \'export PATH="$HOME/.local/bin:$PATH"\' >> ~/.bashrc && source ~/.bashrc'));
266
- }
267
- }
268
231
  if (!hasSuperpowersPlugin()) {
269
232
  console.log('');
270
233
  console.log(chalk.yellow(' Note: Superpowers plugin not detected.'));
@@ -1 +1 @@
1
- {"version":3,"file":"scaffolder.js","sourceRoot":"","sources":["../src/scaffolder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scaffolder.js","sourceRoot":"","sources":["../src/scaffolder.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"claude-md.d.ts","sourceRoot":"","sources":["../../src/templates/claude-md.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,eAAe,EAAE,MAAM,aAAa,CAAC;AAoKjE,wBAAgB,qBAAqB,IAAI,MAAM,CAuB9C;AAuBD,wBAAgB,eAAe,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAkC5D"}
1
+ {"version":3,"file":"claude-md.d.ts","sourceRoot":"","sources":["../../src/templates/claude-md.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAiJnD,wBAAgB,qBAAqB,IAAI,MAAM,CAuB9C;AAuBD,wBAAgB,eAAe,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAgC5D"}