@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.
- package/README.md +33 -29
- package/package.json +5 -8
- package/{index.mjs → src/index.mjs} +1 -1
- package/{templates → src/templates}/AGENTS.md +2 -2
- package/{templates → src/templates}/commands/inc-archive.md +4 -4
- /package/{commands → src/commands}/analyze.mjs +0 -0
- /package/{commands → src/commands}/apply.mjs +0 -0
- /package/{commands → src/commands}/archive.mjs +0 -0
- /package/{commands → src/commands}/collect-dep.mjs +0 -0
- /package/{commands → src/commands}/collect-req.mjs +0 -0
- /package/{commands → src/commands}/design.mjs +0 -0
- /package/{commands → src/commands}/help.mjs +0 -0
- /package/{commands → src/commands}/init.mjs +0 -0
- /package/{commands → src/commands}/list.mjs +0 -0
- /package/{commands → src/commands}/merge.mjs +0 -0
- /package/{commands → src/commands}/reset.mjs +0 -0
- /package/{commands → src/commands}/status.mjs +0 -0
- /package/{commands → src/commands}/sync.mjs +0 -0
- /package/{commands → src/commands}/update.mjs +0 -0
- /package/{commands → src/commands}/validate.mjs +0 -0
- /package/{lib → src/lib}/agents.mjs +0 -0
- /package/{lib → src/lib}/config.mjs +0 -0
- /package/{lib → src/lib}/ide-sync.mjs +0 -0
- /package/{lib → src/lib}/spec.mjs +0 -0
- /package/{lib → src/lib}/terminal.mjs +0 -0
- /package/{lib → src/lib}/workflow.mjs +0 -0
- /package/{templates → src/templates}/INCSPEC_BLOCK.md +0 -0
- /package/{templates → src/templates}/WORKFLOW.md +0 -0
- /package/{templates → src/templates}/commands/analyze-codeflow.md +0 -0
- /package/{templates → src/templates}/commands/analyze-increment-codeflow.md +0 -0
- /package/{templates → src/templates}/commands/apply-increment-code.md +0 -0
- /package/{templates → src/templates}/commands/merge-to-baseline.md +0 -0
- /package/{templates → src/templates}/commands/structured-requirements-collection.md +0 -0
- /package/{templates → src/templates}/commands/ui-dependency-collection.md +0 -0
- /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
|
-
-
|
|
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
|
|
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
|
-
│ ├──
|
|
402
|
-
│
|
|
403
|
-
│
|
|
404
|
-
│ ├──
|
|
405
|
-
│
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
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
|
-
│ │
|
|
442
|
-
│ │
|
|
443
|
-
│ │
|
|
444
|
-
│
|
|
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.
|
|
453
|
-
3.
|
|
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
|
-
│ └── {
|
|
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
|
+
"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
|
-
"
|
|
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('
|
|
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/{
|
|
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/{
|
|
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/{
|
|
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/{
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|