@localsummer/incspec 0.2.3 → 0.2.5

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 (35) hide show
  1. package/README.md +33 -29
  2. package/package.json +5 -8
  3. package/{index.mjs → src/index.mjs} +1 -1
  4. package/{templates → src/templates}/AGENTS.md +2 -2
  5. package/{templates → src/templates}/commands/inc-archive.md +4 -4
  6. /package/{commands → src/commands}/analyze.mjs +0 -0
  7. /package/{commands → src/commands}/apply.mjs +0 -0
  8. /package/{commands → src/commands}/archive.mjs +0 -0
  9. /package/{commands → src/commands}/collect-dep.mjs +0 -0
  10. /package/{commands → src/commands}/collect-req.mjs +0 -0
  11. /package/{commands → src/commands}/design.mjs +0 -0
  12. /package/{commands → src/commands}/help.mjs +0 -0
  13. /package/{commands → src/commands}/init.mjs +0 -0
  14. /package/{commands → src/commands}/list.mjs +0 -0
  15. /package/{commands → src/commands}/merge.mjs +0 -0
  16. /package/{commands → src/commands}/reset.mjs +0 -0
  17. /package/{commands → src/commands}/status.mjs +0 -0
  18. /package/{commands → src/commands}/sync.mjs +0 -0
  19. /package/{commands → src/commands}/update.mjs +0 -0
  20. /package/{commands → src/commands}/validate.mjs +0 -0
  21. /package/{lib → src/lib}/agents.mjs +0 -0
  22. /package/{lib → src/lib}/config.mjs +0 -0
  23. /package/{lib → src/lib}/ide-sync.mjs +0 -0
  24. /package/{lib → src/lib}/spec.mjs +0 -0
  25. /package/{lib → src/lib}/terminal.mjs +0 -0
  26. /package/{lib → src/lib}/workflow.mjs +0 -0
  27. /package/{templates → src/templates}/INCSPEC_BLOCK.md +0 -0
  28. /package/{templates → src/templates}/WORKFLOW.md +0 -0
  29. /package/{templates → src/templates}/commands/analyze-codeflow.md +0 -0
  30. /package/{templates → src/templates}/commands/analyze-increment-codeflow.md +0 -0
  31. /package/{templates → src/templates}/commands/apply-increment-code.md +0 -0
  32. /package/{templates → src/templates}/commands/merge-to-baseline.md +0 -0
  33. /package/{templates → src/templates}/commands/structured-requirements-collection.md +0 -0
  34. /package/{templates → src/templates}/commands/ui-dependency-collection.md +0 -0
  35. /package/{templates → src/templates}/project.md +0 -0
package/README.md CHANGED
@@ -33,7 +33,7 @@ AI 编程助手在处理复杂前端代码库时常常力不从心,因为 API
33
33
  - **依赖追踪**:6 维度分析 UI 依赖(API、Store、Types 等)。
34
34
  - **增量设计**:7 模块蓝图指导实现。
35
35
  - **无缝迭代**:将完成的工作合并为新基线,开启下一轮循环。
36
- - **历史可追溯**:归档按年月和模块组织,便于回顾历史决策。
36
+ - **历史可追溯**:归档按年月和工作流名称组织,便于回顾历史决策。
37
37
  - 兼容你已有的 AI 工具:Cursor、Claude Code 及任何 AGENTS.md 兼容助手。
38
38
 
39
39
  ## IncSpec 对比一览
@@ -360,8 +360,8 @@ $ incspec archive -y # 归档所有工作流产出,跳过确认
360
360
  ### 为什么需要归档?
361
361
 
362
362
  - **保持工作区整洁**:避免多轮迭代的文件混杂在一起。
363
- - **历史可追溯**:按年月和模块组织,便于回顾历史决策。
364
- - **迭代边界清晰**:每轮归档后,`baselines/`、`requirements/`、`increments/` 目录重新开始。
363
+ - **历史可追溯**:按年月和工作流名称组织,便于回顾历史决策。
364
+ - **迭代边界清晰**:每轮归档后,当前工作流产出从 `baselines/`、`requirements/`、`increments/` 移出,便于下一轮重新生成。
365
365
 
366
366
  ### 归档时机
367
367
 
@@ -375,7 +375,8 @@ $ incspec archive -y # 归档所有工作流产出,跳过确认
375
375
 
376
376
  ```bash
377
377
  # 归档整个工作流(推荐)
378
- incspec archive --workflow # 交互式确认
378
+ incspec archive # 交互式确认(默认归档当前工作流)
379
+ incspec archive --workflow # 显式指定归档当前工作流
379
380
  incspec archive -y # 跳过确认,直接归档
380
381
 
381
382
  # 归档指定文件
@@ -391,26 +392,25 @@ incspec list archives # 仅列出归档文件
391
392
 
392
393
  ### 归档后的目录结构
393
394
 
394
- 归档命令按年月和模块自动组织文件:
395
+ 归档命令按年月和工作流名称组织文件(文件直接放在工作流目录下):
395
396
 
396
397
  ```
397
398
  incspec/
398
399
  ├── archives/
399
400
  │ └── 2024-12/ # 按年月组织
400
- │ └── home-search-filter/ # 按工作流模块分组
401
- │ ├── baselines/
402
- ├── home-baseline-v1.md # 初始基线
403
- │ └── home-baseline-v2.md # 合并后的新基线
404
- │ ├── requirements/
405
- │ ├── structured-requirements.md
406
- │ │ └── ui-dependencies.md
407
- │ └── increments/
408
- └── search-filter-increment-v1.md
409
- ├── baselines/ # 归档后已清空,准备下一轮
410
- ├── requirements/ # 归档后已清空
411
- └── increments/ # 归档后已清空
401
+ │ └── home-search-filter/ # 工作流名称
402
+ │ ├── home-baseline-v1.md
403
+ │ ├── structured-requirements.md
404
+ ├── ui-dependencies.md
405
+ │ ├── search-filter-increment-v1.md
406
+ └── home-baseline-v2.md
407
+ ├── baselines/ # 当前工作流产出默认已移动
408
+ ├── requirements/ # 当前工作流产出默认已移动
409
+ └── increments/ # 当前工作流产出默认已移动
412
410
  ```
413
411
 
412
+ 说明:若单文件归档且没有当前工作流,文件会直接进入 `archives/YYYY-MM/`。
413
+
414
414
  ### 归档工作流示意
415
415
 
416
416
  ```
@@ -435,23 +435,22 @@ incspec/
435
435
  ┌────────────────────────────────────────────┐
436
436
  │ 归档完成 │
437
437
  │ │
438
- │ ┌─────────────┐ ┌─────────────┐
439
- │ │ archives/ │ │ baselines/ │
440
- │ │ 2024-12/ │ │ (已清空)
441
- │ │ module/ │ │
442
- │ │ ├─baselines│ │ 准备下一轮
443
- │ │ ├─requirements 迭代
444
- │ └─increments └─────────────┘ │
445
- │ └─────────────┘ │
438
+ │ ┌─────────────┐ ┌─────────────────┐
439
+ │ │ archives/ │ │ baselines/
440
+ │ │ 2024-12/ │ │ requirements/
441
+ │ │ workflow/ │ │ increments/
442
+ │ │ ├─*.md │ │ (当前工作流产出 │
443
+ │ │ └─*.md 已移动)
444
+ │ └─────────────┘ └─────────────────┘
446
445
  └────────────────────────────────────────────┘
447
446
  ```
448
447
 
449
448
  ### 归档最佳实践
450
449
 
451
450
  1. **及时归档** - 完成一轮迭代后立即归档,避免文件堆积。
452
- 2. **使用 --workflow** - 优先归档整个工作流,确保完整性。
453
- 3. **保留新基线** - 归档时新基线会被复制(而非移动)到归档目录,同时保留在 `baselines/` 作为下一轮起点。
454
- 4. **定期清理** - 对于过期的归档,可手动删除或移至外部存储。
451
+ 2. **优先归档整个工作流** - 直接执行 `incspec archive` 或 `--workflow`,确保产出完整。
452
+ 3. **明确移动/保留策略** - 默认移动到归档目录,需保留原文件时使用 `--keep`。
453
+ 4. **保持工作流命名清晰** - 归档目录按工作流名称分组,命名清晰更易追溯。
455
454
 
456
455
  ## 回退与重置
457
456
 
@@ -470,6 +469,11 @@ incspec reset -t 3 # 短选项形式
470
469
  ```
471
470
  your-project/
472
471
  ├── AGENTS.md # AI 代理指令(包含 incspec 指令块)
472
+ ├── src/ # IncSpec 源代码
473
+ │ ├── index.mjs # CLI 入口
474
+ │ ├── commands/ # 命令实现
475
+ │ ├── lib/ # 核心库
476
+ │ └── templates/ # Markdown 模板文件
473
477
  ├── incspec/
474
478
  │ ├── project.md # 项目配置
475
479
  │ ├── WORKFLOW.md # 当前工作流状态
@@ -483,7 +487,7 @@ your-project/
483
487
  │ │ └── feature-increment-v1.md
484
488
  │ └── archives/ # 历史归档
485
489
  │ └── 2024-12/ # 按年月组织
486
- │ └── {module}/ # 按工作流模块分组
490
+ │ └── {workflow}/ # 按工作流名称分组
487
491
  └── .cursor/
488
492
  └── commands/
489
493
  └── incspec/ # Cursor 命令
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@localsummer/incspec",
3
- "version": "0.2.3",
3
+ "version": "0.2.5",
4
4
  "description": "面向 AI 编程助手的增量规范驱动开发工具",
5
5
  "bin": {
6
- "incspec": "index.mjs"
6
+ "incspec": "src/index.mjs"
7
7
  },
8
- "main": "index.mjs",
8
+ "main": "src/index.mjs",
9
9
  "type": "module",
10
10
  "scripts": {
11
- "start": "node index.mjs"
11
+ "start": "node src/index.mjs"
12
12
  },
13
13
  "keywords": [
14
14
  "incspec",
@@ -32,9 +32,6 @@
32
32
  "node": ">=18.0.0"
33
33
  },
34
34
  "files": [
35
- "index.mjs",
36
- "commands/",
37
- "lib/",
38
- "templates/"
35
+ "src/"
39
36
  ]
40
37
  }
@@ -121,7 +121,7 @@ async function main() {
121
121
  const { createRequire } = await import('module');
122
122
  const require = createRequire(import.meta.url);
123
123
  try {
124
- const pkg = require('./package.json');
124
+ const pkg = require('../package.json');
125
125
  console.log(pkg.version);
126
126
  } catch {
127
127
  console.log('unknown');
@@ -109,7 +109,7 @@ AI 编码助手使用 IncSpec 进行增量规格驱动开发的操作指南。
109
109
 
110
110
  **命令**: `incspec archive [--yes] [<file>] [--keep]`
111
111
 
112
- **目的**: 将已完成的工作流产出归档到 `incspec/archives/YYYY-MM/{module}/`
112
+ **目的**: 将已完成的工作流产出归档到 `incspec/archives/YYYY-MM/{workflow}/`
113
113
 
114
114
  **验证**: 归档前执行 `incspec validate` 确保项目健康。归档操作本身会验证文件移动正确性。
115
115
 
@@ -123,7 +123,7 @@ incspec/
123
123
  ├── baselines/ # 基线快照 (版本控制)
124
124
  ├── requirements/ # 需求与依赖
125
125
  ├── increments/ # 增量设计 (版本控制)
126
- └── archives/ # 历史归档 (按月/模块)
126
+ └── archives/ # 历史归档 (按月/工作流)
127
127
  ```
128
128
 
129
129
  ## 编号系统
@@ -30,7 +30,7 @@ incspec archive --workflow --yes
30
30
 
31
31
  # 角色定位
32
32
 
33
- 你是 incspec 工作流归档助手。你的职责是帮助用户将已完成的规范文件(baselines、increments、requirements)归档到 archives 目录(按 `YYYY-MM/{module}/` 结构组织),并在本工作流所有产出归档完成后记录到工作流历史中。
33
+ 你是 incspec 工作流归档助手。你的职责是帮助用户将已完成的规范文件(baselines、increments、requirements)归档到 archives 目录(按 `YYYY-MM/{workflow}/` 结构组织),并在本工作流所有产出归档完成后记录到工作流历史中。
34
34
 
35
35
  # 核心目标
36
36
 
@@ -130,12 +130,12 @@ incspec archive --workflow --yes
130
130
  ### 4.1 检查归档目录
131
131
 
132
132
  ```bash
133
- # 查看归档目录结构: archives/YYYY-MM/{module}/
133
+ # 查看归档目录结构: archives/YYYY-MM/{workflow}/
134
134
  ls -la incspec/archives/
135
135
  ls -la incspec/archives/2025-12/ # 当月目录
136
136
  ```
137
137
 
138
- 确认文件已复制/移动到归档目录(按年月和工作流模块分组)。
138
+ 确认文件已复制/移动到归档目录(按年月和工作流名称分组)。
139
139
 
140
140
  ### 4.2 检查工作流历史
141
141
 
@@ -170,7 +170,7 @@ incspec validate
170
170
  🔍 验证结果: 通过
171
171
  ```
172
172
 
173
- 注意:归档目录结构为 `archives/YYYY-MM/{module}/`,其中 `{module}` 为当前工作流名称。
173
+ 注意:归档目录结构为 `archives/YYYY-MM/{workflow}/`,其中 `{workflow}` 为当前工作流名称;若单文件归档且无工作流,则归档到 `archives/YYYY-MM/`。
174
174
 
175
175
  # 特殊情况处理
176
176
 
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes