aico-cli 0.1.4 → 0.1.6

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 (47) hide show
  1. package/dist/{shared/aico-cli.CSeKe20G.mjs → chunks/simple-config.mjs} +2468 -2968
  2. package/dist/cli.mjs +176 -989
  3. package/dist/index.d.mts +12 -42
  4. package/dist/index.d.ts +12 -42
  5. package/dist/index.mjs +57 -9
  6. package/package.json +1 -1
  7. package/templates/CLAUDE.md +1 -3
  8. package/templates/agents/aico/plan/get-current-datetime.md +29 -0
  9. package/templates/agents/aico/plan/init-architect.md +117 -0
  10. package/templates/agents/aico/requirement/aico-requirement-aligner.md +231 -0
  11. package/templates/agents/aico/requirement/aico-requirement-identifier.md +221 -0
  12. package/templates/agents/aico/requirement/aico-task-executor-validator.md +289 -0
  13. package/templates/agents/aico/requirement/aico-task-executor.md +328 -0
  14. package/templates/agents/aico/requirement/aico-task-splitter-validator.md +585 -0
  15. package/templates/base.md +51 -0
  16. package/templates/commands/aico/init-project.md +53 -0
  17. package/templates/commands/aico/requirement.md +351 -0
  18. package/templates/commands/aico/workflow.md +229 -0
  19. package/templates/language.md +1 -0
  20. package/templates/personality.md +91 -0
  21. package/templates/settings.json +5 -3
  22. package/templates/en/memory/mcp.md +0 -6
  23. package/templates/en/memory/personality.md +0 -1
  24. package/templates/en/memory/rules.md +0 -45
  25. package/templates/en/memory/technical-guides.md +0 -97
  26. package/templates/en/workflow/bmad/commands/bmad-init.md +0 -103
  27. package/templates/en/workflow/git/commands/git-cleanBranches.md +0 -101
  28. package/templates/en/workflow/git/commands/git-commit.md +0 -152
  29. package/templates/en/workflow/git/commands/git-rollback.md +0 -89
  30. package/templates/en/workflow/git/commands/git-worktree.md +0 -301
  31. package/templates/en/workflow/plan/agents/planner.md +0 -116
  32. package/templates/en/workflow/plan/agents/ui-ux-designer.md +0 -91
  33. package/templates/en/workflow/plan/commands/feat.md +0 -105
  34. package/templates/en/workflow/sixStep/commands/workflow.md +0 -230
  35. package/templates/zh-CN/memory/mcp.md +0 -34
  36. package/templates/zh-CN/memory/personality.md +0 -1
  37. package/templates/zh-CN/memory/rules.md +0 -45
  38. package/templates/zh-CN/memory/technical-guides.md +0 -126
  39. package/templates/zh-CN/workflow/bmad/commands/bmad-init.md +0 -109
  40. package/templates/zh-CN/workflow/git/commands/git-cleanBranches.md +0 -101
  41. package/templates/zh-CN/workflow/git/commands/git-commit.md +0 -162
  42. package/templates/zh-CN/workflow/git/commands/git-rollback.md +0 -90
  43. package/templates/zh-CN/workflow/git/commands/git-worktree.md +0 -301
  44. package/templates/zh-CN/workflow/plan/commands/feat.md +0 -105
  45. package/templates/zh-CN/workflow/sixStep/commands/workflow.md +0 -199
  46. /package/templates/{zh-CN/workflow/plan/agents → agents/aico/plan}/planner.md +0 -0
  47. /package/templates/{zh-CN/workflow/plan/agents → agents/aico/plan}/ui-ux-designer.md +0 -0
@@ -1,162 +0,0 @@
1
- ---
2
- description: 仅用 Git 分析改动并自动生成 conventional commit 信息(可选 emoji);必要时建议拆分提交,默认运行本地 Git 钩子(可 --no-verify 跳过)
3
- allowed-tools: Read(**), Exec(git status, git diff, git add, git restore --staged, git commit, git rev-parse, git config), Write(.git/COMMIT_EDITMSG)
4
- argument-hint: [--no-verify] [--all] [--amend] [--signoff] [--emoji] [--scope <scope>] [--type <type>]
5
- # examples:
6
- # - /git-commit # 分析当前改动,生成提交信息
7
- # - /git-commit --all # 暂存所有改动并提交
8
- # - /git-commit --no-verify # 跳过 Git 钩子检查
9
- # - /git-commit --emoji # 在提交信息中包含 emoji
10
- # - /git-commit --scope ui --type feat # 指定作用域和类型
11
- # - /git-commit --amend --signoff # 修补上次提交并签名
12
- ---
13
-
14
- # Claude Command: Commit (Git-only)
15
-
16
- 该命令在**不依赖任何包管理器/构建工具**的前提下,仅通过 **Git**:
17
-
18
- - 读取改动(staged/unstaged)
19
- - 判断是否需要**拆分为多次提交**
20
- - 为每个提交生成 **Conventional Commits** 风格的信息(可选 emoji)
21
- - 按需执行 `git add` 与 `git commit`(默认运行本地 Git 钩子;可 `--no-verify` 跳过)
22
-
23
- ---
24
-
25
- ## Usage
26
-
27
- ```bash
28
- /git-commit
29
- /git-commit --no-verify
30
- /git-commit --emoji
31
- /git-commit --all --signoff
32
- /git-commit --amend
33
- /git-commit --scope ui --type feat --emoji
34
- ```
35
-
36
- ### Options
37
-
38
- - `--no-verify`:跳过本地 Git 钩子(`pre-commit`/`commit-msg` 等)。
39
- - `--all`:当暂存区为空时,自动 `git add -A` 将所有改动纳入本次提交。
40
- - `--amend`:在不创建新提交的情况下**修补**上一次提交(保持提交作者与时间,除非本地 Git 配置另有指定)。
41
- - `--signoff`:附加 `Signed-off-by` 行(遵循 DCO 流程时使用)。
42
- - `--emoji`:在提交信息中包含 emoji 前缀(省略则使用纯文本)。
43
- - `--scope <scope>`:指定提交作用域(如 `ui`、`docs`、`api`),写入消息头部。
44
- - `--type <type>`:强制提交类型(如 `feat`、`fix`、`docs` 等),覆盖自动判断。
45
-
46
- > 注:如框架不支持交互式确认,可在 front-matter 中开启 `confirm: true` 以避免误操作。
47
-
48
- ---
49
-
50
- ## What This Command Does
51
-
52
- 1. **仓库/分支校验**
53
-
54
- - 通过 `git rev-parse --is-inside-work-tree` 判断是否位于 Git 仓库。
55
- - 读取当前分支/HEAD 状态;如处于 rebase/merge 冲突状态,先提示处理冲突后再继续。
56
-
57
- 2. **改动检测**
58
-
59
- - 用 `git status --porcelain` 与 `git diff` 获取已暂存与未暂存的改动。
60
- - 若已暂存文件为 0:
61
- - 若传入 `--all` → 执行 `git add -A`。
62
- - 否则提示你选择:继续仅分析未暂存改动并给出**建议**,或取消命令后手动分组暂存。
63
-
64
- 3. **拆分建议(Split Heuristics)**
65
-
66
- - 按**关注点**、**文件模式**、**改动类型**聚类(示例:源代码 vs 文档、测试;不同目录/包;新增 vs 删除)。
67
- - 若检测到**多组独立变更**或 diff 规模过大(如 > 300 行 / 跨多个顶级目录),建议拆分提交,并给出每一组的 pathspec(便于后续执行 `git add <paths>`)。
68
-
69
- 4. **提交信息生成(Conventional 规范,可选 Emoji)**
70
-
71
- - 自动推断 `type`(`feat`/`fix`/`docs`/`refactor`/`test`/`chore`/`perf`/`style`/`ci`/`revert` …)与可选 `scope`。
72
- - 生成消息头:`[<emoji>] <type>(<scope>)?: <subject>`(首行 ≤ 72 字符,祈使语气,仅在使用 `--emoji` 时包含 emoji)。
73
- - 生成消息体:要点列表(动机、实现要点、影响范围、BREAKING CHANGE 如有)。
74
- - 将草稿写入 `.git/COMMIT_EDITMSG`,并用于 `git commit`。
75
-
76
- 5. **执行提交**
77
-
78
- - 单提交场景:`git commit [-S] [--no-verify] [-s] -F .git/COMMIT_EDITMSG`
79
- - 多提交场景(如接受拆分建议):按分组给出 `git add <paths> && git commit ...` 的明确指令;若允许执行则逐一完成。
80
-
81
- 6. **安全回滚**
82
- - 如误暂存,可用 `git restore --staged <paths>` 撤回暂存(命令会给出指令,不修改文件内容)。
83
-
84
- ---
85
-
86
- ## Best Practices for Commits
87
-
88
- - **Atomic commits**:一次提交只做一件事,便于回溯与审阅。
89
- - **先分组再提交**:按目录/模块/功能点拆分。
90
- - **清晰主题**:首行 ≤ 72 字符,祈使语气(如 “add… / fix…”)。
91
- - **正文含上下文**:说明动机、方案、影响范围、风险与后续工作。
92
- - **遵循 Conventional Commits**:`<type>(<scope>): <subject>`。
93
-
94
- ---
95
-
96
- ## Type 与 Emoji 映射(使用 --emoji 时)
97
-
98
- - ✨ `feat`:新增功能
99
- - 🐛 `fix`:缺陷修复(含 🔥 删除代码/文件、🚑️ 紧急修复、👽️ 适配外部 API 变更、🔒️ 安全修复、🚨 解决告警、💚 修复 CI)
100
- - 📝 `docs`:文档与注释
101
- - 🎨 `style`:风格/格式(不改语义)
102
- - ♻️ `refactor`:重构(不新增功能、不修缺陷)
103
- - ⚡️ `perf`:性能优化
104
- - ✅ `test`:新增/修复测试、快照
105
- - 🔧 `chore`:构建/工具/杂务(合并分支、更新配置、发布标记、依赖 pin、.gitignore 等)
106
- - 👷 `ci`:CI/CD 配置与脚本
107
- - ⏪️ `revert`:回滚提交
108
- - 💥 `feat`:破坏性变更(`BREAKING CHANGE:` 段落中说明)
109
-
110
- > 若传入 `--type`/`--scope`,将**覆盖**自动推断。
111
- > 仅在指定 `--emoji` 标志时才会包含 emoji。
112
-
113
- ---
114
-
115
- ## Guidelines for Splitting Commits
116
-
117
- 1. **不同关注点**:互不相关的功能/模块改动应拆分。
118
- 2. **不同类型**:不要将 `feat`、`fix`、`refactor` 混在同一提交。
119
- 3. **文件模式**:源代码 vs 文档/测试/配置分组提交。
120
- 4. **规模阈值**:超大 diff(示例:>300 行或跨多个顶级目录)建议拆分。
121
- 5. **可回滚性**:确保每个提交可独立回退。
122
-
123
- ---
124
-
125
- ## Examples
126
-
127
- **Good (使用 --emoji)**
128
-
129
- - ✨ feat(ui): add user authentication flow
130
- - 🐛 fix(api): handle token refresh race condition
131
- - 📝 docs: update API usage examples
132
- - ♻️ refactor(core): extract retry logic into helper
133
- - ✅ test: add unit tests for rate limiter
134
- - 🔧 chore: update git hooks and repository settings
135
- - ⏪️ revert: revert "feat(core): introduce streaming API"
136
-
137
- **Good (不使用 --emoji)**
138
-
139
- - feat(ui): add user authentication flow
140
- - fix(api): handle token refresh race condition
141
- - docs: update API usage examples
142
- - refactor(core): extract retry logic into helper
143
- - test: add unit tests for rate limiter
144
- - chore: update git hooks and repository settings
145
- - revert: revert "feat(core): introduce streaming API"
146
-
147
- **Split Example**
148
-
149
- - `feat(types): add new type defs for payment method`
150
- - `docs: update API docs for new types`
151
- - `test: add unit tests for payment types`
152
- - `fix: address linter warnings in new files` ←(如你的仓库有钩子报错)
153
-
154
- ---
155
-
156
- ## Important Notes
157
-
158
- - **仅使用 Git**:不调用任何包管理器/构建命令(无 `pnpm`/`npm`/`yarn` 等)。
159
- - **尊重钩子**:默认执行本地 Git 钩子;使用 `--no-verify` 可跳过。
160
- - **不改源码内容**:命令只读写 `.git/COMMIT_EDITMSG` 与暂存区;不会直接编辑工作区文件。
161
- - **安全提示**:在 rebase/merge 冲突、detached HEAD 等状态下会先提示处理/确认再继续。
162
- - **可审可控**:如开启 `confirm: true`,每个实际 `git add`/`git commit` 步骤都会进行二次确认。
@@ -1,90 +0,0 @@
1
- ---
2
- description: 交互式回滚 Git 分支到历史版本;列分支、列版本、二次确认后执行 reset / revert
3
- allowed-tools: Read(**), Exec(git fetch, git branch, git tag, git log, git reflog, git checkout, git reset, git revert, git switch), Write()
4
- argument-hint: [--branch <branch>] [--target <rev>] [--mode reset|revert] [--depth <n>] [--dry-run] [--yes]
5
- # examples:
6
- # - /git-rollback # 全交互模式,dry‑run
7
- # - /git-rollback --branch dev # 直接选 dev,其他交互
8
- # - /git-rollback --branch dev --target v1.2.0 --mode reset --yes
9
- ---
10
-
11
- # Claude Command: Git Rollback
12
-
13
- **目的**:安全、可视地将指定分支回滚到旧版本。
14
- 默认处于 **只读预览 (`--dry-run`)**;真正执行需加 `--yes` 或在交互中确认。
15
-
16
- ---
17
-
18
- ## Usage
19
-
20
- ```bash
21
- # 纯交互:列出分支 → 选分支 → 列最近 20 个版本 → 选目标 → 选择 reset 或 revert → 二次确认
22
- /git-rollback
23
-
24
- # 指定分支,其他交互
25
- /git-rollback --branch feature/calculator
26
-
27
- # 指定分支与目标 commit,并用 hard‑reset 一键执行(危险)
28
- /git-rollback --branch main --target 1a2b3c4d --mode reset --yes
29
-
30
- # 只想生成 revert 提交(非破坏式回滚),预览即可
31
- /git-rollback --branch release/v2.1 --target v2.0.5 --mode revert --dry-run
32
- ```
33
-
34
- ### Options
35
-
36
- | 选项 | 说明 |
37
- | ---------------------- | ---------------------------------------------------------------------------------- |
38
- | `--branch <branch>` | 要回滚的分支;缺省时交互选择。 |
39
- | `--target <rev>` | 目标版本(commit Hash、Tag、reflog 引用都行);缺省时交互选择近 `--depth` 条记录。 |
40
- | `--mode reset\|revert` | `reset`:硬回滚历史;`revert`:生成反向提交保持历史完整。默认询问。 |
41
- | `--depth <n>` | 在交互模式下列出最近 n 个版本(默认 20)。 |
42
- | `--dry-run` | **默认开启**,只预览即将执行的命令。 |
43
- | `--yes` | 跳过所有确认直接执行,适合 CI/CD 脚本。 |
44
-
45
- ---
46
-
47
- ## 交互流程
48
-
49
- 1. **同步远端** → `git fetch --all --prune`
50
- 2. **列分支** → `git branch -a`(本地+远端,过滤受保护分支)
51
- 3. **选分支** → 用户输入或传参
52
- 4. **列版本** → `git log --oneline -n <depth>` + `git tag --merged` + `git reflog -n <depth>`
53
- 5. **选目标** → 用户输入 commit hash / tag
54
- 6. **选模式** → `reset` 或 `revert`
55
- 7. **最终确认** (除非 `--yes`)
56
- 8. **执行回滚**
57
- - `reset`:`git switch <branch> && git reset --hard <target>`
58
- - `revert`:`git switch <branch> && git revert --no-edit <target>..HEAD`
59
- 9. **推送建议** → 提示是否 `git push --force-with-lease`(reset)或普通 `git push`(revert)
60
-
61
- ---
62
-
63
- ## 安全护栏
64
-
65
- - **备份**:执行前自动在 reflog 中记录当前 HEAD,可用 `git switch -c backup/<timestamp>` 恢复。
66
- - **保护分支**:如检测到 `main` / `master` / `production` 等受保护分支且开启 `reset` 模式,将要求额外确认。
67
- - **--dry-run 默认开启**:防止误操作。
68
- - **--force 禁止**:不提供 `--force`;如需强推,请手动输入 `git push --force-with-lease`。
69
-
70
- ---
71
-
72
- ## 适用场景示例
73
-
74
- | 场景 | 调用示例 |
75
- | ----------------------------------------------- | ---------------------------------------------------------------- |
76
- | 热修补丁上线后发现 bug,需要回到 Tag `v1.2.0` | `/git-rollback --branch release/v1 --target v1.2.0 --mode reset` |
77
- | 运维同事误推了 debug 日志提交,需要生成反向提交 | `/git-rollback --branch main --target 3f2e7c9 --mode revert` |
78
- | 调研历史 bug,引导新人浏览分支历史 | `/git-rollback` (全交互,dry‑run) |
79
-
80
- ---
81
-
82
- ## 注意
83
-
84
- 1. **reset vs revert**
85
- - **reset** 会改变历史,需要强推并可能影响其他协作者,谨慎使用。
86
- - **revert** 更安全,生成新提交保留历史,但会增加一次记录。
87
- 2. **嵌入式仓库** 常有大体积二进制文件;回滚前请确保 LFS/子模块状态一致。
88
- 3. 若仓库启用了 CI 强制校验,回滚后可能自动触发流水线;确认管控策略以免误部署旧版本。
89
-
90
- ---
@@ -1,301 +0,0 @@
1
- ---
2
- description: 管理 Git worktree,支持 add/list/remove/migrate 操作,默认在 .zcf/ 目录下创建,自动配置 git 忽略规则,支持 IDE 快速打开和内容迁移
3
- allowed-tools: Read(**), Exec(git worktree add, git worktree list, git worktree remove, git worktree prune, git branch, git checkout, git rev-parse, git stash, git cp, code, cursor, webstorm), Write(.git/info/exclude)
4
- argument-hint: <add|list|remove|prune|migrate> [path] [-b <branch>] [-o|--open] [--track] [--guess-remote] [--detach] [--checkout] [--lock] [--migrate-from <source-path>] [--migrate-stash]
5
- # examples:
6
- # - /git-worktree add feature-ui # 创建 worktree,默认询问是否用 IDE 打开
7
- # - /git-worktree add feature-ui -o # 创建 worktree 并直接用 IDE 打开
8
- # - /git-worktree add hotfix -b fix/login -o # 创建新分支、worktree 并直接打开 IDE
9
- # - /git-worktree migrate feature-ui --from main # 将主分支的未提交内容迁移到 feature-ui worktree
10
- # - /git-worktree migrate feature-ui --stash # 将当前 stash 内容迁移到 feature-ui worktree
11
- ---
12
-
13
- # Claude Command: Git Worktree
14
-
15
- **目的**:提供 Git worktree 的快捷操作,默认在 `.zcf/` 目录下管理多个工作树,自动处理 git 忽略配置,支持 IDE 快速打开和跨 worktree 内容迁移。
16
-
17
- ---
18
-
19
- ## Usage
20
-
21
- ```bash
22
- # 添加 worktree(默认在 .zcf/ 下)
23
- /git-worktree add <path> # 检出同名分支到 .zcf/<path>,询问是否打开 IDE
24
- /git-worktree add <path> -b <branch> # 创建新分支并添加 worktree
25
- /git-worktree add <path> -o # 创建后直接用 IDE 打开
26
- /git-worktree add <path> -b <branch> --open # 创建新分支、worktree 并直接打开
27
-
28
- # 内容迁移
29
- /git-worktree migrate <target-path> --from <source-path> # 迁移未提交内容
30
- /git-worktree migrate <target-path> --stash # 迁移 stash 内容
31
-
32
- # 其他操作
33
- /git-worktree list # 显示所有 worktree 状态
34
- /git-worktree remove <path> # 删除指定的 worktree
35
- /git-worktree prune # 清理无效 worktree 记录
36
- ```
37
-
38
- ### Options
39
-
40
- | 选项 | 说明 |
41
- |------|------|
42
- | `add <path>` | 在 `.zcf/<path>` 添加新的 worktree |
43
- | `migrate <target>` | 迁移内容到指定 worktree |
44
- | `list` | 列出所有 worktree 及其状态 |
45
- | `remove <path>` | 删除指定路径的 worktree |
46
- | `prune` | 清理无效的 worktree 引用 |
47
- | `-b <branch>` | 创建新分支并检出到 worktree |
48
- | `-o, --open` | 创建成功后直接用 IDE 打开(跳过询问)|
49
- | `--from <source>` | 指定迁移源路径(migrate 专用)|
50
- | `--stash` | 迁移当前 stash 内容(migrate 专用)|
51
- | `--track` | 设置新分支跟踪对应的远程分支 |
52
- | `--guess-remote` | 自动猜测远程分支进行跟踪 |
53
- | `--detach` | 创建分离 HEAD 的 worktree |
54
- | `--checkout` | 创建后立即检出(默认行为)|
55
- | `--lock` | 创建后锁定 worktree |
56
-
57
- ---
58
-
59
- ## What This Command Does
60
-
61
- ### 1. **环境检查**
62
- - 通过 `git rev-parse --is-inside-work-tree` 确认在 Git 仓库中
63
-
64
- ### 2. **忽略规则配置**
65
- - 检查 `.git/info/exclude` 是否包含 `/.zcf/` 规则
66
- - 如果不存在,自动添加 `/.zcf/` 到 `.git/info/exclude`
67
-
68
- ### 3. **Worktree 操作**
69
- - **add**: 在 `.zcf/<path>` 创建新的 worktree
70
- - **list**: 显示所有 worktree 的路径、分支和状态
71
- - **remove**: 安全删除指定的 worktree
72
- - **prune**: 清理孤立的 worktree 记录
73
-
74
- ### 4. **🆕 IDE 快速打开功能**
75
- - **默认行为**:`add` 操作成功后询问是否用 IDE 打开新 worktree
76
- - **直接打开**:使用 `-o/--open` 参数跳过询问,直接打开
77
- - **IDE 检测**:自动检测常用 IDE(VS Code、Cursor、WebStorm 等)
78
- - **智能选择**:基于项目类型和已安装的 IDE 推荐最佳选择
79
-
80
- ### 5. **🆕 内容迁移功能**
81
- - **未提交内容迁移**:将一个 worktree 的未提交改动迁移到另一个
82
- - **Stash 迁移**:将当前 stash 内容应用到目标 worktree
83
- - **安全检查**:迁移前检查目标 worktree 状态,避免冲突
84
-
85
- ### 6. **路径处理**
86
- - 所有相对路径自动添加 `.zcf/` 前缀
87
- - 绝对路径保持原样
88
- - 自动创建 `.zcf/` 目录(如果不存在)
89
-
90
- ### 7. **分支管理**
91
- - 支持检出现有分支或创建新分支
92
- - 自动处理远程分支跟踪
93
- - 提供分支状态和 HEAD 位置信息
94
-
95
- ---
96
-
97
- ## Enhanced Features
98
-
99
- ### 🖥️ **IDE 集成**
100
-
101
- **支持的 IDE**
102
- - **VS Code**: `code <path>`
103
- - **Cursor**: `cursor <path>`
104
- - **WebStorm**: `webstorm <path>`
105
- - **其他**: 可配置自定义 IDE 命令
106
-
107
- **打开模式**
108
- ```bash
109
- # 默认:创建后询问是否打开
110
- /git-worktree add feature-ui
111
- # 输出:🖥️ 是否在 IDE 中打开 .zcf/feature-ui?[y/n]:
112
-
113
- # 直接打开:跳过询问
114
- /git-worktree add feature-ui -o
115
- # 输出:🚀 正在用 VS Code 打开 .zcf/feature-ui...
116
- ```
117
-
118
- **智能检测流程**
119
- 1. 检查系统中已安装的 IDE
120
- 2. 基于项目类型推荐(如 Node.js 项目推荐 VS Code)
121
- 3. 提供选择菜单让用户选择(默认模式)
122
- 4. 记住用户偏好供下次使用
123
-
124
- ### 📦 **内容迁移系统**
125
-
126
- **迁移类型**
127
- ```bash
128
- # 从主分支迁移未提交内容
129
- /git-worktree migrate feature-ui --from main
130
-
131
- # 从其他 worktree 迁移
132
- /git-worktree migrate hotfix --from .zcf/feature-ui
133
-
134
- # 迁移当前 stash
135
- /git-worktree migrate feature-ui --stash
136
-
137
- # 迁移指定 stash
138
- /git-worktree migrate feature-ui --stash stash@{2}
139
- ```
140
-
141
- **迁移流程**
142
- 1. **源检查**:验证源路径存在且有未提交内容
143
- 2. **目标检查**:确保目标 worktree 工作区干净
144
- 3. **内容分析**:显示即将迁移的文件和改动
145
- 4. **安全迁移**:使用 git 原生命令确保数据安全
146
- 5. **结果确认**:显示迁移结果和后续建议
147
-
148
- ---
149
-
150
- ## Safety Features
151
-
152
- - **路径检查**:防止在已存在的目录创建 worktree
153
- - **分支冲突检查**:避免同一分支被多个 worktree 检出
154
- - **自动清理**:remove 操作会同时清理目录和 git 引用
155
- - **状态显示**:清晰显示每个 worktree 的分支、提交和状态
156
-
157
- ### **迁移安全保护**
158
- - **冲突检测**:迁移前检查是否会产生文件冲突
159
- - **备份机制**:迁移前自动创建 stash 备份
160
- - **回滚支持**:提供迁移失败时的回滚方案
161
- - **状态验证**:确保源和目标 worktree 处于正确状态
162
-
163
- ### **IDE 集成安全**
164
- - **路径验证**:确保 IDE 命令使用正确的路径
165
- - **权限检查**:验证 IDE 可执行文件的权限
166
- - **错误处理**:IDE 启动失败时的友好错误提示
167
-
168
- ---
169
-
170
- ## Examples
171
-
172
- ### **基础使用 + IDE 打开**
173
- ```bash
174
- # 创建 worktree 并询问 IDE 打开(默认行为)
175
- /git-worktree add feature-ui
176
- # 输出:
177
- # ✅ Worktree created at .zcf/feature-ui
178
- # 🖥️ 检测到以下 IDE:
179
- # 1. VS Code (推荐)
180
- # 2. Cursor
181
- # 是否在 IDE 中打开此 worktree?[1/2/n]: 1
182
- # 🚀 正在用 VS Code 打开 .zcf/feature-ui...
183
-
184
- # 创建 worktree 并直接打开 IDE
185
- /git-worktree add feature-ui -o
186
- # 输出:
187
- # ✅ Worktree created at .zcf/feature-ui
188
- # 🚀 正在用 VS Code 打开 .zcf/feature-ui...
189
-
190
- # 创建新分支并直接打开
191
- /git-worktree add hotfix -b fix/login --open
192
- # 输出:
193
- # ✅ Created branch 'fix/login' and worktree at .zcf/hotfix
194
- # 🚀 正在用 VS Code 打开 .zcf/hotfix...
195
- ```
196
-
197
- ### **内容迁移场景**
198
- ```bash
199
- # 场景:在 main 分支开发了一些功能,想移到新分支
200
- # 1. 创建新的 feature worktree
201
- /git-worktree add feature-ui -b feature/new-ui
202
-
203
- # 2. 将 main 的未提交内容迁移过去
204
- /git-worktree migrate feature-ui --from main
205
- # 输出:
206
- # 📦 发现以下未提交内容:
207
- # M src/components/Button.tsx
208
- # A src/components/Modal.tsx
209
- # ?? src/styles/new-theme.css
210
- # 🔄 迁移到 .zcf/feature-ui...
211
- # ✅ 迁移完成!建议在新 worktree 中提交这些改动。
212
-
213
- # 3. 询问是否打开 IDE(因为创建时没有使用 -o)
214
- # 🖥️ 是否在 IDE 中打开 .zcf/feature-ui?[y/n]: y
215
- ```
216
-
217
- ### **Stash 迁移**
218
- ```bash
219
- # 当前有一些 stash,想应用到特定 worktree
220
- /git-worktree migrate hotfix --stash
221
- # 输出:
222
- # 📋 发现以下 stash:
223
- # stash@{0}: WIP on main: fix user login
224
- # stash@{1}: WIP on main: update docs
225
- # 选择要迁移的 stash [0/1]: 0
226
- # 🔄 正在将 stash@{0} 应用到 .zcf/hotfix...
227
- # ✅ Stash 内容已成功应用!
228
- ```
229
-
230
- ### **列出和管理 worktree**
231
- ```bash
232
- # 查看所有 worktree
233
- /git-worktree list
234
- # 输出:
235
- # /path/to/project [main] ← 主工作树
236
- # /path/to/project/.zcf/feature-ui [feature/new-ui]
237
- # /path/to/project/.zcf/hotfix [fix/login]
238
-
239
- # 删除不需要的 worktree
240
- /git-worktree remove feature-ui
241
- # 输出:
242
- # ✅ Worktree .zcf/feature-ui removed successfully
243
-
244
- # 清理无效引用
245
- /git-worktree prune
246
- # 输出:
247
- # 🧹 Pruned 0 worktree entries
248
- ```
249
-
250
- ---
251
-
252
- ## Directory Structure
253
-
254
- 使用此命令后,项目结构会是:
255
- ```
256
- your-project/
257
- ├── .git/
258
- ├── .zcf/ # worktree 目录(被 git 忽略)
259
- │ ├── feature-ui/ # feature-ui 分支的工作树
260
- │ ├── hotfix/ # hotfix 分支的工作树
261
- │ ├── debug/ # debug 用的工作树
262
- │ └── .worktree-config # worktree 配置文件
263
- ├── src/ # 主工作树的源码
264
- └── package.json # 主工作树的文件
265
- ```
266
-
267
- ---
268
-
269
- ## Configuration
270
-
271
- ### **IDE 偏好设置**
272
- 命令会在 `.zcf/.worktree-config` 中保存用户偏好:
273
- ```json
274
- {
275
- "preferredIDE": "code",
276
- "autoOpenIDE": false,
277
- "migrateBackup": true,
278
- "defaultWorktreeDir": ".zcf"
279
- }
280
- ```
281
-
282
- ### **自定义 IDE 命令**
283
- ```bash
284
- # 设置自定义 IDE
285
- git config worktree.ide.custom "subl %s" # Sublime Text
286
- git config worktree.ide.preferred "custom"
287
- ```
288
-
289
- ---
290
-
291
- ## Notes
292
-
293
- - **性能优化**:worktree 共享 `.git` 目录,节省磁盘空间
294
- - **IDE 支持**:大多数现代 IDE 都支持多 worktree 项目
295
- - **清理建议**:定期运行 `prune` 清理无效引用
296
- - **分支保护**:避免在受保护分支(如 main/master)上操作
297
- - **迁移限制**:只能迁移未提交的改动,已提交的内容需要使用 `git cherry-pick`
298
- - **IDE 要求**:需要 IDE 的命令行工具已安装并在 PATH 中
299
- - **跨平台支持**:IDE 检测和启动支持 Windows、macOS、Linux
300
-
301
- ---
@@ -1,105 +0,0 @@
1
- ---
2
- description: '用于新增功能开发的命令,支持完整的开发流程和工具集成'
3
- ---
4
-
5
- $ARGUMENTS
6
-
7
- ## 核心工作流程
8
-
9
- ### 1. 输入分析与类型判断
10
-
11
- 每次收到用户输入时,首先进行类型判断并明确告知用户:
12
-
13
- **判断标准:**
14
-
15
- - **需求规划类型**: 用户提出新功能需求、项目构想或需要制定计划
16
-
17
- - **讨论迭代类型**: 用户要求继续讨论、修改或完善已有规划
18
-
19
- - **执行实施类型**: 用户确认规划完成,要求开始具体实施工作
20
-
21
- ### 2. 分类处理机制
22
-
23
- #### A. 需求规划处理
24
-
25
- **触发条件**: 识别为功能需求输入
26
-
27
- **执行动作**:
28
-
29
- - 启用 Planner Agent
30
-
31
- - 生成详细的 markdown 规划文档
32
-
33
- - 将文档存储至 `./.aico/plan` 目录,并以 plan/xxx.md 的格式命名
34
-
35
- - 包含:目标定义、功能分解、实施步骤、验收标准
36
-
37
- #### B. 讨论迭代处理
38
-
39
- **触发条件**: 用户要求继续讨论或修改规划
40
-
41
- **执行动作**:
42
-
43
- - 检索并分析上次生成的规划文件
44
-
45
- - 识别用户反馈和确认内容
46
-
47
- - 启用 Planner Agent
48
-
49
- - 生成详细的 markdown 规划文档
50
-
51
- - 建立一个新的文档,比如上一次是 plan/xxx.md,那么这次就是 plan/xxx-1.md,如果上一次是 plan/xxx-1.md,那么这次就是 plan/xxx-2.md,以此类推
52
-
53
- - 重新组织待实施任务优先级
54
-
55
- #### C. 执行实施处理
56
-
57
- **触发条件**: 用户确认规划完成,要求开始执行
58
-
59
- **执行动作**:
60
-
61
- - 按规划文档顺序启动任务执行
62
-
63
- - 每个子任务开始前进行任务类型识别
64
-
65
- - **前端任务特殊处理**:
66
-
67
- - 检查是否存在可用 UI 设计
68
-
69
- - 如无设计方案,must use UI-UX-Designer Agent
70
-
71
- - 完成 UI 设计后再进行开发实施
72
-
73
- ### 3. 关键执行原则
74
-
75
- #### 强制响应要求
76
-
77
- - **每次交互必须首先说明**: "我判断此次操作类型为:[具体类型]"
78
-
79
- - 类型判断必须准确且明确传达给用户
80
-
81
- #### 任务执行规范
82
-
83
- - 严格按照文档化规划执行
84
-
85
- - 子任务启动前必须明确任务性质和依赖关系
86
-
87
- - 前端任务必须确保 UI 设计完整性
88
-
89
- #### 状态管理机制
90
-
91
- - 维护任务完成状态跟踪
92
-
93
- - 及时更新规划文档状态
94
-
95
- - 确保用户对进度的可见性
96
-
97
- ## 质量保证要点
98
-
99
- 1. **类型判断准确性**: 每次交互开始的类型识别必须准确
100
-
101
- 2. **文档一致性**: 规划文档与实际执行保持同步
102
-
103
- 3. **依赖关系管理**: 特别关注前端任务的 UI 设计依赖
104
-
105
- 4. **用户沟通透明**: 所有判断和动作都要明确告知用户