Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

@rpamis/comet

Package Overview
Dependencies
Maintainers
1
Versions
28
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@rpamis/comet - npm Package Compare versions

Comparing version
0.3.7
to
0.3.8
+27
assets/skills-zh/comet/reference/auto-transition.md
# 自动衔接下一阶段协议
规范路径:`comet/reference/auto-transition.md`
本协议由所有 comet 子 skill 共享,定义阶段守卫推进后的自动衔接规则。
## 术语区分
「阶段守卫推进」由 guard `--apply` 完成,更新 `.comet.yaml` 的 `phase` 字段——这一步**始终发生**,与 `auto_transition` 无关。本协议的「自动衔接」只决定**是否自动调用下一个 skill**,由 `auto_transition` 控制。
## 执行方式
退出条件满足且阶段守卫推进 phase 后,运行:
```bash
"$COMET_BASH" "$COMET_STATE" next <change-name>
```
脚本根据 `phase`、`workflow`、`auto_transition` 输出确定性的下一步:
- `NEXT: auto` → 调用 `SKILL` 指向的 skill 进入下一阶段
- `NEXT: manual` → 不要调用下一 skill,按 `HINT` 提示用户手动运行 `/<SKILL>`
- `NEXT: done` → 流程已完成,无需继续
## preset 路由
`workflow: hotfix` 时,`phase: build` 返回 `comet-hotfix`;`workflow: tweak` 时返回 `comet-tweak`。其余 phase(`verify`、`archive`)按标准 skill 名称返回(`comet-verify`、`comet-archive`),不受 workflow 类型影响。preset skill 内部的"连续执行模式"可能覆盖 `auto_transition` 行为——详见对应 preset 的 `<IMPORTANT>` 块。
# .comet.yaml 字段说明
规范路径:`comet/reference/comet-yaml-fields.md`
本文件是 `.comet.yaml` 状态文件的字段参考。按需查阅,不随 skill 一次性加载。
## 示例
```yaml
workflow: full
phase: build
design_doc: docs/superpowers/specs/YYYY-MM-DD-topic-design.md
plan: docs/superpowers/plans/YYYY-MM-DD-feature.md
base_ref: a1b2c3d4e5f6...
build_mode: subagent-driven-development
build_pause: null
subagent_dispatch: confirmed
tdd_mode: tdd
isolation: branch
verify_mode: light
verify_result: pending
verification_report: null
branch_status: pending
created_at: 2026-05-26
verified_at: null
archived: false
```
## 必需字段
| 字段 | 含义 |
|------|------|
| `workflow` | `full`、`hotfix` 或 `tweak` |
| `phase` | 当前阶段:`open`、`design`、`build`、`verify`、`archive`(init 统一设为 `open`,guard 负责过渡) |
| `design_doc` | 关联的 Superpowers Design Doc 路径,可为空 |
| `plan` | 关联的 Superpowers Plan 路径,可为空 |
| `base_ref` | init 时记录的 git commit SHA,用于 scale 评估。无 plan 时作为改动文件数统计基准 |
| `build_mode` | 已选择的执行方式,可为空 |
| `build_pause` | build 阶段内部暂停点。`null` 表示无暂停,`plan-ready` 表示 plan 已生成,用户选择切换模型后暂停 |
| `subagent_dispatch` | `null` 或 `confirmed`。仅当已确认当前平台存在真实后台 subagent / Task / multi-agent 调度能力时,`build_mode: subagent-driven-development` 才能写入并用于离开 build 阶段 |
| `tdd_mode` | `tdd` 或 `direct`。full workflow 离开 build 阶段前必须已选择。`tdd` 强制每个任务先写失败测试再实现;`direct` 不强制 TDD。hotfix/tweak 默认 `direct` |
| `isolation` | `branch` 或 `worktree`,工作区隔离方式。full 初始化可为 `null`,但只允许持续到 `/comet-build` Step 3 前;hotfix/tweak 默认 `branch` |
| `verify_mode` | `light` 或 `full`,可为空 |
| `auto_transition` | `true` 或 `false`。只控制阶段守卫推进 phase 后是否自动调用下一个 skill;`false` 时由 `comet-state next` 输出 `manual`,暂停下一 skill 调用,但不阻止 phase 字段更新 |
| `verify_result` | `pending`、`pass` 或 `fail` |
| `verification_report` | 验证报告文件路径,verify 通过前必须指向已存在文件 |
| `branch_status` | `pending` 或 `handled`,分支处理完成后设为 `handled` |
| `created_at` | change 创建日期(init 时自动写入),格式 `YYYY-MM-DD` |
| `verified_at` | 验证通过时间,可为空 |
| `archived` | change 是否已归档 |
## 可选字段
| 字段 | 含义 |
|------|------|
| `direct_override` | `true`/`false`。full workflow 如需使用 `build_mode: direct`,必须显式设为 `true` |
| `build_command` | 项目构建命令。guard 优先运行该命令,失败时打印命令输出 |
| `verify_command` | 项目验证命令。verify guard 优先运行该命令,未配置时回退到构建命令 |
## 状态机硬约束
- `build → verify` 前,`isolation` 必须是 `branch` 或 `worktree`
- `build → verify` 前,`build_mode` 必须已选择
- `build_mode: subagent-driven-development` 必须同时有 `subagent_dispatch: confirmed`
- full workflow 离开 build 阶段前 `tdd_mode` 必须已选择为 `tdd` 或 `direct`
- `build_mode: direct` 默认只允许 `hotfix` / `tweak`;full workflow 需要 `direct_override: true`
- `build_pause` 不是执行方式,不得写入 `build_mode`
- 这些约束同时存在于 `comet-guard.sh build --apply` 和 `comet-state.sh transition <name> build-complete`
# 上下文压缩恢复协议
规范路径:`comet/reference/context-recovery.md`
本协议由所有可能触发上下文压缩的 comet 子 skill 共享。当 agent 怀疑发生上下文压缩(之前对话被摘要、找不到之前讨论的内容)时,按本协议恢复。
## 恢复步骤
```bash
"$COMET_BASH" "$COMET_STATE" check <change-name> <phase> --recover
```
脚本输出结构化恢复上下文(phase、已完成字段、待完成字段、恢复动作)。按 **Recovery action** 决定下一步。
## build 阶段特殊恢复
若恢复脚本输出 `build_mode: subagent-driven-development`:
1. 使用 Skill 工具重新加载 Superpowers `subagent-driven-development` 技能
2. 重新阅读 `comet/reference/subagent-dispatch.md` 获取 Comet 专属扩展
3. 读取 `openspec/changes/<name>/.comet/subagent-progress.md`,恢复当前 task 或 final review、实现提交、RED/GREEN 证据、已通过审查、未解决反馈和审查-修复轮次
4. 禁止在主会话中直接执行 task
5. 按检查点记录的精确阶段恢复;检查点缺失或不匹配时才从第一个未勾选 task 的 implementer 派发开始
6. task 通过双审查并完成定向勾选验证后,立即继续下一个 task,不得总结或询问是否继续
## design 阶段特殊恢复
- 若用户尚未确认设计方案,回到 brainstorming 继续
- 若用户已确认,继续创建 Design Doc
- 恢复时重新加载 `brainstorm-summary.md` + handoff 上下文文件
## verify/archive 阶段恢复
- verify:脚本输出验证状态、分支状态和恢复动作
- archive:若 `archived: true` 且归档目录存在,归档已完成,无需再次执行
# Debug Gate 协议
规范路径:`comet/reference/debug-gate.md`
本协议由 build、hotfix、tweak 等会直接修改代码的 comet 子 skill 共享。当运行程序、测试、构建或手动验证时出现崩溃、异常行为、测试失败或构建失败,必须进入 Debug Gate。
## 核心规则
- 立即使用 Skill 工具加载 Superpowers `systematic-debugging` 技能
- 在完成根因调查前,不得提出或实施源码修复
## 四阶段流程
1. 先复现并定位根因,读取完整错误、检查近期变更、追踪数据流
2. 若根因指向源码 bug,先补充能复现该崩溃/异常的最小失败测试,再修改源码
3. 修复后运行该失败测试、相关测试和项目构建/验证命令,确认全部通过
4. 将测试、源码修复和 tasks.md 勾选保留在当前 change 内;不得通过另起一个“写测试用例”的 change 来替代当前 change 的验证闭环
# 用户决策点协议
规范路径:`comet/reference/decision-point.md`
本协议由所有包含用户决策点的 comet 子 skill 共享。凡标注为“阻塞点”或“用户决策点”的步骤,都必须按本协议处理。
## 核心规则
- 决策点是阻塞点。到达决策点时必须暂停,等待用户明确选择后才能继续
- 必须使用当前平台可用的用户输入/确认机制获取选择
- 若当前平台没有结构化提问工具,则必须在对话中提出明确选项并停止流程,等待用户回复
- 不得用推荐规则、默认值、历史偏好或“用户应该会同意”的推断代替当前确认
- 用户明确选择前,不得写入对应状态字段、执行对应分支操作或自动继续下一阶段
## 最低呈现要求
- 说明当前决策点正在决定什么
- 给出清晰可选项;需要用户单选时,选项必须互斥且可执行
- 如有推荐,只能作为说明,不能替代用户确认
- 用户选择后,再执行对应命令或状态更新
# 文件结构参考
规范路径:`comet/reference/file-structure.md`
本文件是 Comet 项目文件结构参考。按需查阅,不随 skill 一次性加载。
```text
openspec/ # OpenSpec — WHAT
├── config.yaml
├── changes/
│ ├── <name>/ # 活跃 change
│ │ ├── .openspec.yaml
│ │ ├── .comet.yaml
│ │ ├── proposal.md # Why + What
│ │ ├── design.md # 高层架构决策
│ │ ├── specs/<capability>/spec.md # Delta 能力规格
│ │ ├── .comet/handoff/ # 脚本生成的阶段交接包
│ │ └── tasks.md # 任务清单
│ └── archive/YYYY-MM-DD-<name>/ # 已归档
└── specs/<capability>/spec.md # 主 specs(归档时按 OpenSpec delta 语义合并)
docs/superpowers/ # Superpowers — HOW
├── specs/YYYY-MM-DD-<topic>-design.md # 设计文档(技术 RFC,归档时标注状态)
└── plans/YYYY-MM-DD-<feature>.md # 实施计划(文件头含 change 关联元数据)
.comet/
└── config.yaml # Comet 项目配置(context_compression 默认 off,可设 beta)
```
# Subagent 驱动开发的 Comet 扩展
规范路径:`comet/reference/subagent-dispatch.md`
本文档提供在 Superpowers `subagent-driven-development` 技能**之上**应用的 Comet 专属扩展。该技能负责核心派发循环(每个 task 派发全新 implementer → spec compliance review → code quality review → 下一个 task)并强制连续执行。本文档添加 Comet 特有的真实后台调度、任务追踪、状态验证和上下文恢复。若 Superpowers 技能与本文档发生冲突时,以本文档中更具体的 Comet 约束为准。
> **⚠️ 关键约束 — 任务之间禁止暂停**
>
> 当一个 task 通过双审查并被勾选后,**立即派发下一个 task**,不得停止、总结或询问用户是否继续。用户期望所有 task 按顺序自动执行,无需手动干预。任务之间暂停会中断工作流,导致用户每次都需要手动恢复。
>
> 仅在以下情况才停止并等待用户输入:
> - 任务处于 **BLOCKED** 状态(3 轮审查-修复仍未通过)
> - 存在无法从仓库、计划或既有上下文消除的真实歧义
> - 平台没有真实后台 agent 调度能力,需要用户改选 `executing-plans`
> - 用户**明确**要求暂停
>
> 此规则适用于整个派发循环,而非单个任务。
## 开始前
1. 读取计划一次,按顺序提取所有未勾选 task 的完整文本。
2. 为每个 task 保存唯一标识:plan 中 checkbox 后的完整任务文本,以及它映射的 OpenSpec task 完整文本(若存在)。若文本不唯一,停止并先修正计划,禁止依赖"第一个匹配项"。
3. 尊重依赖关系;依赖尚未完成的 task 不得提前派发。
## 每个 Task 的 Comet 扩展
在每个 task 上应用这些扩展,叠加在 Superpowers 技能的派发循环之上:
### 0. 派发强制约束(关键)
主会话**仅负责协调**,禁止直接执行 task。主会话禁止修改源代码。协调者唯一允许的文件修改是 plan、OpenSpec task 和 subagent 进度检查点的持久化更新。不得把多个 task 打包给同一个 agent。每个 task 派发一个全新的后台 implementer agent,spec reviewer、code quality reviewer、修复 agent 和 final reviewer 也必须分别使用全新的后台 agent:
- **Claude Code**:对每个 implementer、spec reviewer、code quality reviewer、修复 agent 和 final reviewer 使用 `Agent` 工具并设置 `run_in_background: true`。禁止内联执行 task,禁止错误进入需要预先创建 team 的团队模式。
- **其他平台**:使用平台等效的后台 agent / Task / 多 agent 派发机制。
- **禁止**跨 task 或角色复用 implementer、reviewer 或修复 agent。每个 agent 拥有全新的隔离上下文,并且只接收当前角色所需的单个 task 上下文。
- 若平台无真实后台派发能力,不得继续;暂停并等待用户改选 `build_mode: executing-plans`。
### 1. 派发 Prompt 与回报契约
每个 implementer 或修复 agent prompt 必须包含:
- 当前单个 task 的完整文本、架构背景和依赖上下文
- `Language: 使用触发本次工作流的用户请求语言输出`
- 允许修改的文件范围和禁止修改的范围
- 必须执行的测试命令和提交要求
- 修复 agent 还必须收到对应 reviewer 的完整反馈
agent 回报状态必须为 `DONE | DONE_WITH_CONCERNS | BLOCKED | NEEDS_CONTEXT`,并包含实现内容、测试结果、提交哈希、变更文件和顾虑。进入审查前,主会话必须确认提交和文件在当前工作树可见;若平台使用隔离副本,先拉取或合并变更。
每个 reviewer prompt 必须包含完整 task、实现提交或差异以及 RED/GREEN 证据(`tdd_mode: tdd` 时)。reviewer 不得只依据 implementer 的总结进行审查。
### 2. Implementer 范围限制
implementer 只负责实现、测试和提交代码。**implementer 不得勾选 plan 或 OpenSpec task**,也不得只更新内置 Todo 或对话 checklist。
### 3. TDD 硬约束
若 `tdd_mode: tdd`,每个 implementer 和修复 agent 必须先使用 Skill 工具加载 Superpowers `test-driven-development` 技能,并在 prompt 中同时注入:
```text
You MUST follow TDD: write a failing test first, watch it fail, then write minimal code to pass. No production code without a failing test first.
```
implementer 或修复 agent 回报必须提供 **RED 失败命令与失败摘要**、**GREEN 通过命令与通过摘要**;缺少任一证据不得进入审查。spec compliance reviewer 和 code quality reviewer 都必须核验 RED/GREEN 证据与测试覆盖。
### 4. 持久进度检查点
主会话必须维护 `openspec/changes/<name>/.comet/subagent-progress.md`,并在每次派发、agent 回报、审查结果、修复轮次变化和 task 勾选后立即更新。检查点至少记录:
- 当前 plan task 唯一文本及映射的 OpenSpec task 文本
- 当前阶段:`implementing | spec-review | quality-review | checkoff | done | blocked | final-review | final-fix`
- 实现提交哈希、变更文件和 RED/GREEN 证据
- 已通过的审查阶段及尚未解决的 reviewer 反馈
- 当前 task 或 final review 的审查-修复轮次(最多 3 轮)
该文件只保存恢复所需的协调状态,不替代 plan 或 OpenSpec checkbox。当前 task 完成后保留其最终记录,开始下一个 task 时用下一 task 的记录替换。
### 5. 审查-修复轮次限制
每个 task 最多 3 轮审查-修复。任一 reviewer 发现问题时,派发全新的后台修复 agent,并从对应审查重新开始。3 轮后仍未通过则将 task 标记为 **BLOCKED**,暂停并把累计反馈交给用户。
### 6. Task 勾选与验证
**两个审查都通过后**,主会话:
1. 将 plan 中保存的唯一 task 文本从 `- [ ]` 改为 `- [x]`
2. 若存在映射,再同步勾选 OpenSpec task
3. 提交这次进度更新
4. 运行定向验证:
```bash
"$COMET_BASH" "$COMET_STATE" task-checkoff "$PLAN_FILE" "$PLAN_TASK_TEXT"
"$COMET_BASH" "$COMET_STATE" task-checkoff "openspec/changes/<name>/tasks.md" "$OPENSPEC_TASK_TEXT"
```
仅在对应映射存在时运行第二条。脚本会要求任务文本恰好出现一次且该项已勾选;验证失败时不得进入下一个 task。
## 收尾
- **自动继续**:双审查通过并勾选 task 后,立即派发下一个未勾选的 task。禁止总结、禁止询问用户是否继续、禁止在任务之间等待用户输入。这是不可协商的 —— Superpowers 技能强制连续执行,文档顶部的关键约束进一步强化此规则。
- 所有 task 完成后,将检查点切换为 `final-review`,然后派发全新的后台 final code quality reviewer 审查整体实现。CRITICAL 问题必须将检查点切换为 `final-fix`,记录反馈和轮次,派发新的后台修复 agent 并重新审查;final review 同样最多 3 轮,耗尽后标记 `blocked` 并暂停。接受非 CRITICAL 发现时,在 tasks.md 中记录理由。
- final review 通过后,结束的只是 subagent 派发循环,不是 Comet workflow。不得加载 `finishing-a-development-branch`,不得停下来询问用户下一步;必须返回 `comet-build` 继续执行退出条件、阶段守卫和后续阶段衔接。
## 上下文恢复
重新加载 Superpowers `subagent-driven-development` 技能并重新阅读本文档。先读取 `openspec/changes/<name>/.comet/subagent-progress.md`,再与第一个未勾选 task 和当前工作树核对:
- 检查点与未勾选 task 匹配时,从记录的精确阶段恢复,保留实现提交、RED/GREEN 证据、已通过的审查阶段、未解决反馈和当前审查-修复轮次;不得重置轮次或重复已经通过的阶段。
- 检查点缺失或与未勾选 task 不匹配时,为第一个未勾选 task 创建新检查点并从 implementer 派发开始。
- 检查点中的提交或文件在当前工作树不可见时,先拉取、合并或恢复对应变更;不得假定实现已存在。
- 所有 task 已勾选且检查点处于 `final-review` 或 `final-fix` 时,从最终审查的精确阶段恢复,并保留最终反馈和审查-修复轮次;不得重新进入已完成的 task。
已提交但未通过双审查的 task 保持未勾选,并按检查点重新进入审查或修复循环。
# Automatic Handoff to Next Phase Protocol
Canonical path: `comet/reference/auto-transition.md`
This protocol is shared by all comet sub-skills. It defines the automatic handoff rules after phase guard advancement.
## Terminology Distinction
"Phase advancement" is performed by guard `--apply`, which updates the `phase` field in `.comet.yaml` — this **always happens** and is independent of `auto_transition`. This protocol's "automatic handoff" only determines **whether to automatically invoke the next skill**, controlled by `auto_transition`.
## Execution
After exit conditions are met and the phase guard has advanced phase, run:
```bash
"$COMET_BASH" "$COMET_STATE" next <change-name>
```
The script outputs a deterministic next step based on `phase`, `workflow`, and `auto_transition`:
- `NEXT: auto` → invoke the skill pointed to by `SKILL` to enter the next phase
- `NEXT: manual` → do not invoke the next skill; prompt user to manually run `/<SKILL>` per `HINT`
- `NEXT: done` → workflow is complete, no further action needed
## Preset Routing
When `workflow: hotfix`, `phase: build` returns `comet-hotfix`; when `workflow: tweak`, it returns `comet-tweak`. All other phases (`verify`, `archive`) return standard skill names (`comet-verify`, `comet-archive`) regardless of workflow type. The "continuous execution mode" within preset skills may override `auto_transition` behavior — see the corresponding preset's `<IMPORTANT>` block.
# .comet.yaml Field Reference
Canonical path: `comet/reference/comet-yaml-fields.md`
This file is the field reference for the `.comet.yaml` state file. Consult on demand; not loaded inline with skills.
## Example
```yaml
workflow: full
phase: build
design_doc: docs/superpowers/specs/YYYY-MM-DD-topic-design.md
plan: docs/superpowers/plans/YYYY-MM-DD-feature.md
base_ref: a1b2c3d4e5f6...
build_mode: subagent-driven-development
build_pause: null
subagent_dispatch: confirmed
tdd_mode: tdd
isolation: branch
verify_mode: light
verify_result: pending
verification_report: null
branch_status: pending
created_at: 2026-05-26
verified_at: null
archived: false
```
## Required Fields
| Field | Meaning |
|-------|---------|
| `workflow` | `full`, `hotfix`, or `tweak` |
| `phase` | Current phase: `open`, `design`, `build`, `verify`, `archive` (init sets `open`; guard handles transitions) |
| `design_doc` | Associated Superpowers Design Doc path; may be empty |
| `plan` | Associated Superpowers Plan path; may be empty |
| `base_ref` | Git commit SHA recorded at init for scale assessment. Used as baseline for changed-file counting when no plan exists |
| `build_mode` | Selected execution mode; may be empty |
| `build_pause` | Build phase internal pause point. `null` = no pause, `plan-ready` = plan generated, paused for user model switch |
| `subagent_dispatch` | `null` or `confirmed`. Only when the platform's real background subagent/Task/multi-agent dispatch capability is confirmed may `build_mode: subagent-driven-development` be written and used to leave the build phase |
| `tdd_mode` | `tdd` or `direct`. Full workflow must select before leaving build. `tdd` forces write-failing-test-first per task; `direct` skips TDD enforcement. hotfix/tweak default to `direct` |
| `isolation` | `branch` or `worktree`, workspace isolation mode. Full init may be `null` but only until `/comet-build` Step 3; hotfix/tweak default to `branch` |
| `verify_mode` | `light` or `full`; may be empty |
| `auto_transition` | `true` or `false`. Only controls whether to automatically invoke the next skill after phase guard advances phase; `false` outputs `manual` from `comet-state next`, pausing next-skill invocation but not blocking phase field updates |
| `verify_result` | `pending`, `pass`, or `fail` |
| `verification_report` | Verification report file path; must point to an existing file before verify passes |
| `branch_status` | `pending` or `handled`; set to `handled` after branch handling completes |
| `created_at` | Change creation date (auto-written at init), format `YYYY-MM-DD` |
| `verified_at` | Verification pass timestamp; may be empty |
| `archived` | Whether the change has been archived |
## Optional Fields
| Field | Meaning |
|-------|---------|
| `direct_override` | `true`/`false`. Full workflow must explicitly set to `true` to use `build_mode: direct` |
| `build_command` | Project build command. Guard runs this first; prints command output on failure |
| `verify_command` | Project verify command. Verify guard runs this first; falls back to build command when unset |
## State Machine Hard Constraints
- Before `build → verify`, `isolation` must be `branch` or `worktree`
- Before `build → verify`, `build_mode` must be selected
- `build_mode: subagent-driven-development` requires `subagent_dispatch: confirmed`
- Full workflow must select `tdd_mode` as `tdd` or `direct` before leaving build
- `build_mode: direct` defaults to `hotfix`/`tweak` only; full workflow requires `direct_override: true`
- `build_pause` is not an execution mode; must not be written to `build_mode`
- These constraints exist in both `comet-guard.sh build --apply` and `comet-state.sh transition <name> build-complete`
# Context Compression Recovery Protocol
Canonical path: `comet/reference/context-recovery.md`
This protocol is shared by all comet sub-skills that may trigger context compression. When the agent suspects context compression has occurred (previous conversation summarized, cannot find previously discussed content), follow this protocol to recover.
## Recovery Steps
```bash
"$COMET_BASH" "$COMET_STATE" check <change-name> <phase> --recover
```
The script outputs structured recovery context (phase, completed fields, pending fields, recovery action). Follow the **Recovery action** output for next steps.
## Build Phase Special Recovery
If the recovery script outputs `build_mode: subagent-driven-development`:
1. Use the Skill tool to reload the Superpowers `subagent-driven-development` skill
2. Re-read `comet/reference/subagent-dispatch.md` for Comet-specific extensions
3. Read `openspec/changes/<name>/.comet/subagent-progress.md` to recover the current task or final review, implementation commit, RED/GREEN evidence, passed reviews, unresolved feedback, and review-fix round
4. Do not execute tasks directly in the main session
5. Resume from the checkpoint's exact stage; begin implementer dispatch for the first unchecked task only when the checkpoint is missing or mismatched
6. After dual review and targeted checkoff verification pass, immediately continue to the next task without summarizing or asking whether to continue
## Design Phase Special Recovery
- If the user has not yet confirmed the design approach, return to brainstorming
- If the user has confirmed, continue creating the Design Doc
- On recovery, reload `brainstorm-summary.md` + handoff context files
## Verify/Archive Phase Recovery
- Verify: script outputs verification status, branch status, and recovery action
- Archive: if `archived: true` and archive directory exists, archival is complete — do not re-execute
# Debug Gate Protocol
Canonical path: `comet/reference/debug-gate.md`
This protocol is shared by comet sub-skills that directly modify code, including build, hotfix, and tweak. Enter the Debug Gate when a crash, unexpected behavior, test failure, or build failure appears while running the program, tests, build, or manual verification.
## Core Rules
- Immediately use the Skill tool to load the Superpowers `systematic-debugging` skill
- Do not propose or implement source fixes before the root cause investigation is complete
## Four-Stage Flow
1. Reproduce and locate the root cause first by reading the full error, checking recent changes, and tracing data flow
2. If the root cause is a source bug, first add a minimal failing test that reproduces the crash or unexpected behavior, then modify the source
3. After the fix, run that failing test, related tests, and the project's build or verification commands until all pass
4. Keep the test, the source fix, and the tasks.md checkoff in the current change; do not replace the current change verification loop by starting a separate “write test cases” change
# Decision Point Protocol
Canonical path: `comet/reference/decision-point.md`
This protocol is shared by all comet sub-skills that contain user decision points. Any step labeled as a blocking point or user decision point must follow this protocol.
## Core Rules
- Decision points are blocking points. Pause and wait for an explicit user choice before continuing
- Use the current platform's available user input or confirmation mechanism to collect the choice
- If the current platform has no structured question tool, ask clear options in the conversation and stop until the user replies
- Never substitute recommendation rules, defaults, historical preferences, or “the user would probably agree” for current confirmation
- Do not write state fields, execute the chosen branch, or auto-continue before the user explicitly chooses
## Minimum Presentation Requirements
- State what the current decision point is deciding
- Present clear options; when the user must pick one option, keep the options mutually exclusive and actionable
- Recommendations may explain tradeoffs, but may not replace user confirmation
- Only execute the corresponding commands or state updates after the user chooses
# File Structure Reference
Canonical path: `comet/reference/file-structure.md`
This file is the Comet project file structure reference. Consult on demand; not loaded inline with skills.
```text
openspec/ # OpenSpec — WHAT
├── config.yaml
├── changes/
│ ├── <name>/ # Active change
│ │ ├── .openspec.yaml
│ │ ├── .comet.yaml
│ │ ├── proposal.md # Why + What
│ │ ├── design.md # High-level architecture decisions
│ │ ├── specs/<capability>/spec.md # Delta capability spec
│ │ ├── .comet/handoff/ # Script-generated phase handoff packages
│ │ └── tasks.md # Task checklist
│ └── archive/YYYY-MM-DD-<name>/ # Archived
└── specs/<capability>/spec.md # Main specs (merged on archive via OpenSpec delta semantics)
docs/superpowers/ # Superpowers — HOW
├── specs/YYYY-MM-DD-<topic>-design.md # Design doc (technical RFC; annotated on archive)
└── plans/YYYY-MM-DD-<feature>.md # Implementation plan (file header contains change metadata)
.comet/
└── config.yaml # Comet project config (context_compression defaults to off; set to beta to enable)
```
# Comet Extensions for Subagent-Driven Development
Canonical path: `comet/reference/subagent-dispatch.md`
This document provides Comet-specific extensions applied **on top of** the Superpowers `subagent-driven-development` skill. The skill handles the core dispatch loop (fresh implementer per task → spec compliance review → code quality review → next task) and enforces continuous execution. This document adds Comet-specific real background dispatch, task tracking, state verification, and context recovery. If the Superpowers skill conflicts with this document, the more specific Comet constraints here take precedence.
> **⚠️ CRITICAL — No Pause Between Tasks**
>
> After a task passes both reviews and is checked off, **immediately dispatch the next task** without stopping, summarizing, or asking the user whether to continue. The user expects all tasks to execute in sequence without manual intervention. Pausing between tasks breaks the workflow and requires the user to manually resume each time.
>
> Only stop and wait for user input when:
> - A task is **BLOCKED** (3 review-fix rounds exhausted)
> - There is irreducible ambiguity that cannot be resolved from the repository, plan, or existing context
> - The platform lacks real background agent dispatch capability and the user must choose `executing-plans`
> - The user **explicitly** asks to pause
>
> This rule applies to the ENTIRE dispatch loop, not just individual tasks.
## Before Starting
1. Read the plan once, extracting the full text of all unchecked tasks in order.
2. Save a unique identifier for each task: the full task text after the checkbox in the plan, and the full OpenSpec task text it maps to (if any). If the text is not unique, stop and fix the plan first; never rely on "first match."
3. Respect dependencies; do not dispatch a task whose dependencies are not yet complete.
## Per-Task Comet Extensions
Apply these on every task, in addition to the Superpowers skill's dispatch loop:
### 0. Dispatch Enforcement (Critical)
The main session is the **coordinator only** and must NOT execute tasks directly or modify source code. The coordinator may modify only the plan, OpenSpec task, and subagent progress checkpoint for durable tracking. Never bundle multiple tasks into one agent. Dispatch a fresh background implementer agent for every task; spec reviewers, code quality reviewers, fix agents, and the final reviewer must also each use a fresh background agent:
- **Claude Code**: Use the `Agent` tool with `run_in_background: true` for each implementer, spec reviewer, code quality reviewer, fix agent, and final reviewer. Never execute tasks inline and do not accidentally enter team mode, which requires a pre-created team.
- **Other platforms**: Use the platform's equivalent background agent / Task / multi-agent dispatch mechanism.
- **Never** reuse implementers, reviewers, or fix agents across tasks or roles. Each agent gets a fresh, isolated context containing only the single task and role-specific context it needs.
- If the platform has no real background dispatch capability, do not proceed; pause and wait for the user to choose `build_mode: executing-plans`.
### 1. Dispatch Prompt and Return Contract
Every implementer or fix-agent prompt must include:
- The full text of the single current task, architecture background, and dependency context
- `Language: Use the language of the user request that triggered this workflow`
- The allowed file scope and prohibited modification scope
- The required test commands and commit requirements
- For a fix agent, the corresponding reviewer's complete feedback
The agent return status must be `DONE | DONE_WITH_CONCERNS | BLOCKED | NEEDS_CONTEXT` and include implementation details, test results, commit hash, changed files, and concerns. Before review, the coordinator must verify that the commit and changed files are visible in the current worktree; on isolated-copy platforms, pull or merge the changes first.
Every reviewer prompt must include the full task, the implementation commit or diff and the RED/GREEN evidence (when `tdd_mode: tdd`). A reviewer must not review from the implementer's summary alone.
### 2. Implementer Scope Restriction
The implementer is only responsible for implementation, testing, and committing code. **The implementer must not check off plan or OpenSpec tasks**, nor update only the built-in Todo or in-chat checklists.
### 3. TDD Hard Constraint
If `tdd_mode: tdd`, every implementer and fix agent must first use the Skill tool to load the Superpowers `test-driven-development` skill, and its prompt must also inject:
```text
You MUST follow TDD: write a failing test first, watch it fail, then write minimal code to pass. No production code without a failing test first.
```
The implementer or fix-agent return must provide **RED failure command and failure summary**, **GREEN pass command and pass summary**; missing either piece of evidence blocks entry into review. Both spec compliance reviewer and code quality reviewer must verify RED/GREEN evidence and test coverage.
### 4. Durable Progress Checkpoint
The coordinator must maintain `openspec/changes/<name>/.comet/subagent-progress.md` and update it immediately after every dispatch, agent return, review result, review-fix round change, and task checkoff. The checkpoint must record at least:
- The unique current plan task text and mapped OpenSpec task text
- Current stage: `implementing | spec-review | quality-review | checkoff | done | blocked | final-review | final-fix`
- Implementation commit hash, changed files, and RED/GREEN evidence
- Review stages already passed and unresolved reviewer feedback
- The current task or final-review review-fix round (maximum 3)
This file stores only coordinator recovery state and does not replace plan or OpenSpec checkboxes. Retain the final record when a task completes, then replace it with the next task's record when that task begins.
### 5. Review-Fix Round Limit
Each task allows at most 3 review-fix rounds. When either reviewer finds an issue, dispatch a fresh background fix agent and restart from the corresponding review. If the task still does not pass after 3 rounds, mark it **BLOCKED**, pause, and hand the accumulated feedback to the user.
### 6. Task Checkoff and Verification
**After both reviews pass**, the main session:
1. Changes the saved unique task text from `- [ ]` to `- [x]` in the plan
2. If a mapping exists, also checks off the OpenSpec task
3. Commits this progress update
4. Runs targeted verification:
```bash
"$COMET_BASH" "$COMET_STATE" task-checkoff "$PLAN_FILE" "$PLAN_TASK_TEXT"
"$COMET_BASH" "$COMET_STATE" task-checkoff "openspec/changes/<name>/tasks.md" "$OPENSPEC_TASK_TEXT"
```
Run the second command only when the corresponding mapping exists. The script requires the task text to appear exactly once and be checked; verification failure blocks moving to the next task.
## Wrap-up
- **AUTO-CONTINUE**: After both reviews pass and the task is checked off, immediately dispatch the next unchecked task. Do NOT summarize, do NOT ask the user whether to continue, do NOT wait for user input between tasks. This is non-negotiable — the Superpowers skill enforces continuous execution, and the CRITICAL warning at the top of this document reinforces it.
- After all tasks complete, switch the checkpoint to `final-review`, then dispatch a fresh background final code quality reviewer. For CRITICAL issues, switch the checkpoint to `final-fix`, record feedback and the round, dispatch a fresh background fix agent, and re-review. Final review also has a maximum of 3 rounds; when exhausted, mark the checkpoint `blocked` and pause. Non-CRITICAL findings may be accepted with rationale recorded in tasks.md.
- After final review passes, only the subagent dispatch loop is complete, not the Comet workflow. The coordinator must not load `finishing-a-development-branch` or pause to ask what comes next; it must return control to `comet-build` for exit checks, the phase guard, and phase handoff.
## Context Recovery
Reload the Superpowers `subagent-driven-development` skill and re-read this document. Read `openspec/changes/<name>/.comet/subagent-progress.md`, then compare it with the first unchecked task and the current worktree:
- When the checkpoint matches the unchecked task, resume from its exact recorded stage while preserving the implementation commit, RED/GREEN evidence, review stages already passed, unresolved feedback, and current review-fix round. Never reset the round or repeat an already passed stage.
- When the checkpoint is missing or does not match the unchecked task, create a new checkpoint for the first unchecked task and begin with implementer dispatch.
- When a recorded commit or file is not visible in the current worktree, pull, merge, or recover the corresponding changes before proceeding; never assume the implementation exists.
- When all tasks are checked and the checkpoint stage is `final-review` or `final-fix`, resume the exact final-review stage while preserving final feedback and its review-fix round; never re-enter completed tasks.
Tasks committed without dual-review approval remain unchecked and re-enter the review or fix loop according to the checkpoint.
# Comet Phase Awareness (Anti-Drift Rules)
> This rule is injected every round to prevent forgetting Comet workflow state during long context.
> The Hook platform additionally executes `comet-hook-guard.sh` for hard interception;
> this Rule is a universal soft defense line for all platforms.
## Global Rules
### Phase Awareness (Highest Priority)
When there is an active comet change (`openspec/changes/<name>/.comet.yaml` exists), **before starting any operation** you must read the `phase` field to confirm the current phase.
**Phases and allowed operations:**
| Phase | Allowed | Prohibited |
|-------|---------|------------|
| `open` | Create proposal/design/tasks, run guard | Write source code |
| `design` | brainstorming, create Design Doc, run guard | Write source code |
| `build` | Write source code, tests, execute plans | Skip user confirmation points |
| `verify` | Verification, branch handling | Skip failure handling |
| `archive` | Confirm archive, run archive script | Write source code |
### Skill Invocation (Cannot Replace with Normal Conversation)
The following operations must be loaded through the Skill tool. When Skill is unavailable, stop the workflow and prompt to install:
- **brainstorming** — design phase, build phase medium-scale spec changes
- **writing-plans** — build phase creating implementation plans
- **executing-plans** / **subagent-driven-development** — build phase execution
- **test-driven-development** — in `executing-plans`, the main session loads it before the first task; in `subagent-driven-development`, each background implementer and fix agent loads it
- **systematic-debugging** — when encountering crashes/test failures/build failures
- **verification-before-completion** — verify phase
- **using-git-worktrees** — build phase when selecting worktree isolation
### Script Execution (Cannot Skip)
- **Phase exit**: `comet-guard <name> <phase> --apply` (must see ALL CHECKS PASSED)
- **Compression recovery**: `comet-state check <name> <phase> --recover`
- **State update**: After key operations, update fields through `comet-state set`; manually editing .comet.yaml is prohibited
- **handoff generation**: `comet-handoff <name> design --write` (handwriting summaries is prohibited)
### User Confirmation (Cannot Auto-Skip)
The following decision points must pause to wait for explicit user selection; do not auto-fill based on recommendation rules:
- **open**: Requirements clarification completion confirmation, artifact review confirmation
- **design**: brainstorming proposal confirmation (Design Doc cannot be created before confirmation)
- **build**: plan-ready pause, isolation/build_mode/tdd_mode selection, spec large-scale change confirmation
- **verify**: Verification failure handling strategy, branch handling selection
- **archive**: Final confirmation before archiving
## Design Phase Specifics
1. First script operation = `comet-handoff <name> design --write` (loading brainstorming before generating handoff is prohibited)
2. brainstorming in progress: incrementally update brainstorm-summary.md (update recovery checkpoint after each clarification round or proposal iteration; unconfirmed content marked as pending/candidate)
3. After brainstorming completes, next step = brainstorm-summary.md finalization → Design Doc → guard
4. active compaction gate: after brainstorm-summary.md is finalized and before creating Design Doc, prioritize triggering host platform's native context compression; when programmatic triggering is unavailable, pause to prompt user to manually compress or confirm continuing
5. **Absolutely cannot start writing implementation code directly** — must first create Design Doc and pass guard
## Build Phase Specifics
1. After plan creation, must ask user to choose continue or pause (`build_pause` mechanism)
2. After each task acceptance, must: tasks.md checkmark → git commit (do not accumulate). `subagent-driven-development` must wait for both spec compliance and code quality reviews to pass, then the coordinator performs targeted verification by unique task text; do not use an incomplete task summary table to replace current task verification
3. When encountering failures, must load **systematic-debugging** skill; do not propose source code fixes before root cause is located
4. spec change grading: small changes edit directly | medium changes load brainstorming | large changes pause and wait for user confirmation to split
## Verify Phase Specifics
1. First step run `comet-state scale <name>` to determine verification level
2. After verification fails, list failed items and wait for user selection; CRITICAL must be fixed
3. After 3 consecutive failures, must let user choose to accept deviation or continue fixing
## Context Compression Recovery
If context compression is suspected (previous conversation was summarized, previous discussion cannot be found), immediately run:
```bash
"$COMET_BASH" "$COMET_STATE" check <name> <phase> --recover
```
Decide next step according to the script's **Recovery action** output.
**Special attention to `build_mode`**: If recovery script outputs `build_mode: subagent-driven-development`, you are the coordinator, not the executor. Must:
1. Use the Skill tool to reload the Superpowers `subagent-driven-development` skill
2. Re-read `comet/reference/subagent-dispatch.md` for Comet-specific extensions
3. Read `openspec/changes/<name>/.comet/subagent-progress.md` to recover the exact stage, evidence, and review-fix round
4. Do not execute tasks directly in the main session
5. Resume from the checkpoint; start from the first unchecked task only when it is missing or mismatched
6. Already committed but not yet passed both reviews tasks remain unchecked; continue review/fix loop
7. After dual review and targeted checkoff verification pass, immediately continue to the next task without summarizing or asking whether to continue
## Automatic Transition After Phase Exit
After guard `--apply` succeeds, must invoke the next phase's skill:
- open → `comet-design` (full) / `comet-build` (hotfix/tweak)
- design → `comet-build`
- build → `comet-verify`
- verify → `comet-archive`
import { type InstallScope } from '../core/detect.js';
interface UninstallOptions {
json?: boolean;
scope?: InstallScope;
force?: boolean;
}
export declare function uninstallCommand(targetPath: string, options?: UninstallOptions): Promise<void>;
export {};
//# sourceMappingURL=uninstall.d.ts.map
{"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../src/commands/uninstall.ts"],"names":[],"mappings":"AAGA,OAAO,EAAc,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAUlE,UAAU,gBAAgB;IACxB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAYD,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,IAAI,CAAC,CAmIf"}
import path from 'path';
import { select } from '@inquirer/prompts';
import { getBaseDir } from '../core/detect.js';
import { getPlatformSkillsDir } from '../core/platforms.js';
import { removeCometSkillsForPlatform, removeCometRulesForPlatform, removeCometHooksForPlatform, removeWorkingDirs, } from '../core/uninstall.js';
import { detectInstalledCometTargets } from './update.js';
export async function uninstallCommand(targetPath, options = {}) {
const projectPath = path.resolve(targetPath);
const log = options.json ? () => undefined : console.log;
log(`\n Comet Uninstall\n`);
// 1. Detect installed targets
const targets = await detectInstalledCometTargets(projectPath, {
scopes: options.scope ? [options.scope] : undefined,
});
if (targets.length === 0) {
if (options.json) {
console.log(JSON.stringify({ targets: [], results: [] }, null, 2));
return;
}
log(' No Comet installations found. Nothing to uninstall.\n');
return;
}
// 2. Preview what will be removed
const scopeLabel = (scope) => scope === 'global' ? 'global' : `project (${projectPath})`;
log(' Found Comet installations on the following targets:\n');
for (const target of targets) {
const skillsDir = getPlatformSkillsDir(target.platform, target.scope);
const prefix = target.scope === 'global' ? '~/' : '';
log(` ${target.platform.name} (${scopeLabel(target.scope)})`);
log(` Path: ${prefix}${skillsDir}/skills/`);
}
// 3. Confirm with user (unless --force)
if (!options.force && !options.json) {
const confirmed = await select({
message: 'Remove all Comet skills, rules, and hooks from these targets?',
choices: [
{ name: 'Yes, uninstall all', value: true },
{ name: 'No, cancel', value: false },
],
});
if (!confirmed) {
log('\n Cancelled.\n');
return;
}
}
// 4. Execute removal for each target
log('');
const results = [];
let totalSkills = 0;
let totalRules = 0;
let totalHooks = 0;
for (const target of targets) {
const baseDir = getBaseDir(target.scope, projectPath);
const skillsResult = await removeCometSkillsForPlatform(baseDir, target.platform, target.scope);
totalSkills += skillsResult.removed;
const rulesResult = await removeCometRulesForPlatform(baseDir, target.platform, target.scope);
totalRules += rulesResult.removed;
let hooksRemoved = 0;
if (target.platform.supportsHooks) {
const hooksResult = await removeCometHooksForPlatform(baseDir, target.platform, target.scope);
hooksRemoved = hooksResult.removed;
totalHooks += hooksResult.removed;
}
log(` ${target.platform.name} (${target.scope}): ${skillsResult.removed} skills, ${rulesResult.removed} rules, ${hooksRemoved} hooks removed`);
results.push({
scope: target.scope,
platform: target.platform.id,
platformName: target.platform.name,
skillsRemoved: skillsResult.removed,
rulesRemoved: rulesResult.removed,
hooksRemoved,
workingDirsRemoved: 0,
});
}
// 5. Working directories (project scope only)
let workingDirsRemoved = 0;
const hasProjectScope = targets.some((t) => t.scope === 'project');
if (hasProjectScope) {
const dirsResult = await removeWorkingDirs(projectPath);
workingDirsRemoved = dirsResult.removed;
if (workingDirsRemoved > 0) {
log(` Working directories: ${workingDirsRemoved} removed`);
}
}
// 6. Summary
if (options.json) {
console.log(JSON.stringify({
targets: results.map((r) => ({
scope: r.scope,
platform: r.platform,
platformName: r.platformName,
skillsRemoved: r.skillsRemoved,
rulesRemoved: r.rulesRemoved,
hooksRemoved: r.hooksRemoved,
})),
workingDirsRemoved,
summary: {
targetsProcessed: results.length,
totalSkillsRemoved: totalSkills,
totalRulesRemoved: totalRules,
totalHooksRemoved: totalHooks,
},
}, null, 2));
return;
}
log(`\n Summary:`);
log(` Targets: ${results.length}`);
log(` Skills removed: ${totalSkills}`);
log(` Rules removed: ${totalRules}`);
log(` Hooks removed: ${totalHooks}`);
log(`\n Uninstall complete.\n`);
}
//# sourceMappingURL=uninstall.js.map
{"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../src/commands/uninstall.ts"],"names":[],"mappings":"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"}
import { type Platform } from './platforms.js';
import type { InstallScope } from './types.js';
interface RemovalResult {
removed: number;
failed: number;
}
/**
* Remove Comet skill files for a specific platform.
* Reads the manifest to determine which skill paths to remove.
*/
declare function removeCometSkillsForPlatform(baseDir: string, platform: Platform, scope?: InstallScope): Promise<RemovalResult>;
/**
* Remove Comet rule files for a specific platform.
* Reuses computeRuleDestPath for consistent path computation.
*/
declare function removeCometRulesForPlatform(baseDir: string, platform: Platform, scope?: InstallScope): Promise<RemovalResult>;
/**
* Remove Comet hooks for platforms that support them.
* Preserves non-Comet hooks in configuration files.
*/
declare function removeCometHooksForPlatform(baseDir: string, platform: Platform, scope?: InstallScope): Promise<RemovalResult>;
/**
* Remove Comet working directories from a project.
* Only applies to project scope.
*/
declare function removeWorkingDirs(projectPath: string): Promise<RemovalResult>;
export { removeCometSkillsForPlatform, removeCometRulesForPlatform, removeCometHooksForPlatform, removeWorkingDirs, };
//# sourceMappingURL=uninstall.d.ts.map
{"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../src/core/uninstall.ts"],"names":[],"mappings":"AAIA,OAAO,EAAwB,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAErE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,UAAU,aAAa;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,iBAAe,4BAA4B,CACzC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,QAAQ,EAClB,KAAK,GAAE,YAAwB,GAC9B,OAAO,CAAC,aAAa,CAAC,CA4ExB;AAED;;;GAGG;AACH,iBAAe,2BAA2B,CACxC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,QAAQ,EAClB,KAAK,GAAE,YAAwB,GAC9B,OAAO,CAAC,aAAa,CAAC,CAwCxB;AAED;;;GAGG;AACH,iBAAe,2BAA2B,CACxC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,QAAQ,EAClB,KAAK,GAAE,YAAwB,GAC9B,OAAO,CAAC,aAAa,CAAC,CAqCxB;AAuSD;;;GAGG;AACH,iBAAe,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAkC5E;AAED,OAAO,EACL,4BAA4B,EAC5B,2BAA2B,EAC3B,2BAA2B,EAC3B,iBAAiB,GAClB,CAAC"}
import path from 'path';
import { readFile, writeFile } from 'fs/promises';
import { fileExists, readDir, removeFile, removeDir, isDirEmpty } from '../utils/file-system.js';
import { getPlatformSkillsDir } from './platforms.js';
import { readManifest, computeRuleDestPath, isManagedHookCommand } from './skills.js';
/**
* Remove Comet skill files for a specific platform.
* Reads the manifest to determine which skill paths to remove.
*/
async function removeCometSkillsForPlatform(baseDir, platform, scope = 'project') {
const manifest = await readManifest();
const skillsDir = getPlatformSkillsDir(platform, scope);
const skillsDirs = [skillsDir];
if (scope === 'global' && platform.id === 'pi') {
skillsDirs.push(platform.skillsDir);
}
const uniqueSkillsDirs = [...new Set(skillsDirs)];
let removed = 0;
const failed = 0;
for (const targetSkillsDir of uniqueSkillsDirs) {
for (const skillRelPath of manifest.skills) {
const dest = path.join(baseDir, targetSkillsDir, 'skills', skillRelPath);
const result = await removeFile(dest);
if (result) {
removed++;
}
}
}
// OpenCode: also remove generated command files
if (platform.id === 'opencode') {
const commandsDir = path.join(baseDir, skillsDir, 'commands');
for (const skillRelPath of manifest.skills) {
const parts = skillRelPath.split('/');
if (parts.length !== 2 || parts[1] !== 'SKILL.md')
continue;
const skillName = parts[0];
const commandFile = path.join(commandsDir, `${skillName}.md`);
const result = await removeFile(commandFile);
if (result) {
removed++;
}
}
}
if (platform.id === 'pi') {
const extensionsDir = path.join(baseDir, skillsDir, 'extensions');
if (await removeFile(path.join(extensionsDir, 'comet-commands.ts'))) {
removed++;
}
if (await isDirEmpty(extensionsDir)) {
await removeDir(extensionsDir);
}
}
// Clean up empty subdirectories and then empty comet skill directories
// Collect all unique parent directories of removed files (bottom-up cleanup)
const parentDirs = new Set();
for (const targetSkillsDir of uniqueSkillsDirs) {
for (const skillRelPath of manifest.skills) {
const parts = skillRelPath.split('/');
if (parts[0].startsWith('comet')) {
// Add all intermediate directories for nested paths
let current = path.join(baseDir, targetSkillsDir, 'skills', parts[0]);
parentDirs.add(current);
for (let i = 1; i < parts.length - 1; i++) {
current = path.join(current, parts[i]);
parentDirs.add(current);
}
}
}
}
// Sort by depth (deepest first) so we clean bottom-up
const sortedDirs = [...parentDirs].sort((a, b) => b.split(path.sep).length - a.split(path.sep).length);
for (const dir of sortedDirs) {
if (await isDirEmpty(dir)) {
await removeDir(dir);
}
}
return { removed, failed };
}
/**
* Remove Comet rule files for a specific platform.
* Reuses computeRuleDestPath for consistent path computation.
*/
async function removeCometRulesForPlatform(baseDir, platform, scope = 'project') {
if (!platform.rulesDir || !platform.rulesFormat) {
return { removed: 0, failed: 0 };
}
const manifest = await readManifest();
const rulePaths = manifest.rules;
if (!rulePaths || rulePaths.length === 0) {
return { removed: 0, failed: 0 };
}
const skillsDir = getPlatformSkillsDir(platform, scope);
const rulesBase = platform.rulesBaseDir !== undefined
? platform.rulesBaseDir === ''
? baseDir
: path.join(baseDir, platform.rulesBaseDir)
: path.join(baseDir, skillsDir);
let removed = 0;
const failed = 0;
for (const ruleRelPath of rulePaths) {
const ruleFileName = path.basename(ruleRelPath);
const rulesDestDir = path.join(rulesBase, platform.rulesDir);
const dest = computeRuleDestPath(rulesDestDir, ruleFileName, platform.rulesFormat);
const result = await removeFile(dest);
if (result) {
removed++;
}
}
// Clean up empty rules directory
const rulesDestDir = path.join(rulesBase, platform.rulesDir);
if (await isDirEmpty(rulesDestDir)) {
await removeDir(rulesDestDir);
}
return { removed, failed };
}
/**
* Remove Comet hooks for platforms that support them.
* Preserves non-Comet hooks in configuration files.
*/
async function removeCometHooksForPlatform(baseDir, platform, scope = 'project') {
if (!platform.supportsHooks || !platform.hookFormat) {
return { removed: 0, failed: 0 };
}
const manifest = await readManifest();
const hooksConfig = manifest.hooks;
if (!hooksConfig || Object.keys(hooksConfig).length === 0) {
return { removed: 0, failed: 0 };
}
const hookFormat = platform.hookFormat;
const skillsDir = getPlatformSkillsDir(platform, scope);
const platformBase = path.join(baseDir, skillsDir);
const scriptRelPaths = Object.keys(hooksConfig);
try {
switch (hookFormat) {
case 'claude-code':
return removeClaudeCodeHooks(platformBase, scriptRelPaths);
case 'qwen':
case 'qoder':
return removeQwenStyleHooks(platformBase, scriptRelPaths);
case 'gemini':
return removeGeminiHooks(platformBase, scriptRelPaths);
case 'windsurf':
return removeWindsurfHooks(platformBase, scriptRelPaths);
case 'copilot':
return removeCopilotHooks(platformBase, scriptRelPaths);
case 'kiro':
return removeKiroHooks(platformBase, scriptRelPaths);
default:
return { removed: 0, failed: 0 };
}
}
catch {
return { removed: 0, failed: 1 };
}
}
/**
* Claude Code, Codex, Amazon Q: settings.local.json with PreToolUse hooks.
*/
async function removeClaudeCodeHooks(platformBase, scriptRelPaths) {
const settingsPath = path.join(platformBase, 'settings.local.json');
if (!(await fileExists(settingsPath))) {
return { removed: 0, failed: 0 };
}
let removed = 0;
let settings;
try {
settings = JSON.parse(await readFile(settingsPath, 'utf-8'));
}
catch {
return { removed: 0, failed: 0 };
}
const existingHooks = settings.hooks;
if (!existingHooks) {
return { removed: 0, failed: 0 };
}
const existingPreToolUse = existingHooks.PreToolUse;
if (!existingPreToolUse || !Array.isArray(existingPreToolUse)) {
return { removed: 0, failed: 0 };
}
const filtered = existingPreToolUse.flatMap((group) => {
if (!Array.isArray(group.hooks))
return [group];
const hooksBefore = group.hooks.length;
const hooks = group.hooks.filter((hook) => !isManagedHookCommand(hook.command, scriptRelPaths));
removed += hooksBefore - hooks.length;
if (hooks.length === 0)
return [];
return [{ ...group, hooks }];
});
if (filtered.length === 0) {
delete existingHooks.PreToolUse;
}
else {
existingHooks.PreToolUse = filtered;
}
// Clean up empty hooks section
if (Object.keys(existingHooks).length === 0) {
delete settings.hooks;
}
const content = JSON.stringify(settings, null, 2) + '\n';
await writeFile(settingsPath, content, 'utf-8');
return { removed, failed: 0 };
}
/**
* Qwen / Qoder: settings.json with PreToolUse hooks.
*/
async function removeQwenStyleHooks(platformBase, scriptRelPaths) {
const settingsPath = path.join(platformBase, 'settings.json');
if (!(await fileExists(settingsPath))) {
return { removed: 0, failed: 0 };
}
let removed = 0;
let settings;
try {
settings = JSON.parse(await readFile(settingsPath, 'utf-8'));
}
catch {
return { removed: 0, failed: 0 };
}
const existingHooks = settings.hooks;
if (!existingHooks) {
return { removed: 0, failed: 0 };
}
const existingPreToolUse = existingHooks.PreToolUse;
if (!existingPreToolUse || !Array.isArray(existingPreToolUse)) {
return { removed: 0, failed: 0 };
}
const filtered = existingPreToolUse.flatMap((group) => {
if (!Array.isArray(group.hooks))
return [group];
const hooksBefore = group.hooks.length;
const hooks = group.hooks.filter((hook) => !isManagedHookCommand(hook.command, scriptRelPaths));
removed += hooksBefore - hooks.length;
if (hooks.length === 0)
return [];
return [{ ...group, hooks }];
});
if (filtered.length === 0) {
delete existingHooks.PreToolUse;
}
else {
existingHooks.PreToolUse = filtered;
}
if (Object.keys(existingHooks).length === 0) {
delete settings.hooks;
}
const content = JSON.stringify(settings, null, 2) + '\n';
await writeFile(settingsPath, content, 'utf-8');
return { removed, failed: 0 };
}
/**
* Gemini CLI: settings.json with BeforeTool hooks.
*/
async function removeGeminiHooks(platformBase, scriptRelPaths) {
const settingsPath = path.join(platformBase, 'settings.json');
if (!(await fileExists(settingsPath))) {
return { removed: 0, failed: 0 };
}
let removed = 0;
let settings;
try {
settings = JSON.parse(await readFile(settingsPath, 'utf-8'));
}
catch {
return { removed: 0, failed: 0 };
}
const existingHooks = settings.hooks;
if (!existingHooks) {
return { removed: 0, failed: 0 };
}
const existingBeforeTool = existingHooks.BeforeTool;
if (!existingBeforeTool || !Array.isArray(existingBeforeTool)) {
return { removed: 0, failed: 0 };
}
const filtered = existingBeforeTool.flatMap((group) => {
if (!Array.isArray(group.hooks))
return [group];
const hooksBefore = group.hooks.length;
const hooks = group.hooks.filter((hook) => !isManagedHookCommand(hook.command, scriptRelPaths));
removed += hooksBefore - hooks.length;
if (hooks.length === 0)
return [];
return [{ ...group, hooks }];
});
if (filtered.length === 0) {
delete existingHooks.BeforeTool;
}
else {
existingHooks.BeforeTool = filtered;
}
if (Object.keys(existingHooks).length === 0) {
delete settings.hooks;
}
const content = JSON.stringify(settings, null, 2) + '\n';
await writeFile(settingsPath, content, 'utf-8');
return { removed, failed: 0 };
}
/**
* Windsurf: hooks.json with pre_write_code hooks.
*/
async function removeWindsurfHooks(platformBase, scriptRelPaths) {
const hooksPath = path.join(platformBase, 'hooks.json');
if (!(await fileExists(hooksPath))) {
return { removed: 0, failed: 0 };
}
let removed = 0;
let hooksFile;
try {
hooksFile = JSON.parse(await readFile(hooksPath, 'utf-8'));
}
catch {
return { removed: 0, failed: 0 };
}
const existingHooks = hooksFile.hooks;
if (!existingHooks) {
return { removed: 0, failed: 0 };
}
const existingPreWrite = existingHooks.pre_write_code;
if (!existingPreWrite || !Array.isArray(existingPreWrite)) {
return { removed: 0, failed: 0 };
}
const filtered = existingPreWrite.filter((entry) => {
if (isManagedHookCommand(entry.command, scriptRelPaths)) {
removed++;
return false;
}
return true;
});
if (filtered.length === 0) {
delete existingHooks.pre_write_code;
}
else {
existingHooks.pre_write_code = filtered;
}
if (Object.keys(existingHooks).length === 0) {
delete hooksFile.hooks;
}
const content = JSON.stringify(hooksFile, null, 2) + '\n';
await writeFile(hooksPath, content, 'utf-8');
return { removed, failed: 0 };
}
/**
* GitHub Copilot: hooks/comet-guard.json file (delete the entire file).
*/
async function removeCopilotHooks(platformBase, _scriptRelPaths) {
const hookFilePath = path.join(platformBase, 'hooks', 'comet-guard.json');
const removed = (await removeFile(hookFilePath)) ? 1 : 0;
// Clean up empty hooks directory
const hooksDir = path.join(platformBase, 'hooks');
if (await isDirEmpty(hooksDir)) {
await removeDir(hooksDir);
}
return { removed, failed: 0 };
}
/**
* Kiro: hooks/*.kiro.hook files matching comet patterns.
*/
async function removeKiroHooks(platformBase, scriptRelPaths) {
const hooksDir = path.join(platformBase, 'hooks');
if (!(await fileExists(hooksDir))) {
return { removed: 0, failed: 0 };
}
let removed = 0;
const entries = await readDir(hooksDir);
for (const entry of entries) {
if (!entry.endsWith('.kiro.hook'))
continue;
// Match files that correspond to comet scripts
const baseName = entry.replace('.kiro.hook', '');
const isCometHook = scriptRelPaths.some((scriptPath) => {
const scriptBase = path.basename(scriptPath).replace('.sh', '');
return scriptBase === baseName;
});
if (isCometHook) {
const hookPath = path.join(hooksDir, entry);
if (await removeFile(hookPath)) {
removed++;
}
}
}
// Clean up empty hooks directory
if (await isDirEmpty(hooksDir)) {
await removeDir(hooksDir);
}
return { removed, failed: 0 };
}
/**
* Remove Comet working directories from a project.
* Only applies to project scope.
*/
async function removeWorkingDirs(projectPath) {
let removed = 0;
// Remove .comet/ directory
const cometDir = path.join(projectPath, '.comet');
if (await removeDir(cometDir)) {
removed++;
}
// Remove docs/superpowers/specs/ if empty
const specsDir = path.join(projectPath, 'docs', 'superpowers', 'specs');
if (await isDirEmpty(specsDir)) {
await removeDir(specsDir);
}
// Remove docs/superpowers/plans/ if empty
const plansDir = path.join(projectPath, 'docs', 'superpowers', 'plans');
if (await isDirEmpty(plansDir)) {
await removeDir(plansDir);
}
// Remove docs/superpowers/ if empty
const superpowersDir = path.join(projectPath, 'docs', 'superpowers');
if (await isDirEmpty(superpowersDir)) {
await removeDir(superpowersDir);
}
// Remove docs/ if empty
const docsDir = path.join(projectPath, 'docs');
if (await isDirEmpty(docsDir)) {
await removeDir(docsDir);
}
return { removed, failed: 0 };
}
export { removeCometSkillsForPlatform, removeCometRulesForPlatform, removeCometHooksForPlatform, removeWorkingDirs, };
//# sourceMappingURL=uninstall.js.map
{"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../src/core/uninstall.ts"],"names":[],"mappings":"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"}
export interface VersionCheckResult {
currentVersion: string;
latestVersion: string | null;
hasUpdate: boolean;
checked: boolean;
}
/**
* Compare two semver version strings.
* Returns a positive number if a > b, negative if a < b, 0 if equal.
*/
export declare function compareVersions(a: string, b: string): number;
/**
* Get the current installed Comet version from package.json.
*/
export declare function getCurrentVersion(): string;
/**
* Fetch the latest version from the npm registry.
* Returns null if the registry is unreachable or the request fails.
*/
export declare function getLatestVersion(): Promise<string | null>;
/**
* Check for available updates.
* Silently returns a "not checked" result if the registry is unreachable.
*/
export declare function checkForUpdate(): Promise<VersionCheckResult>;
/**
* Format and print version info to the console.
* Used by `comet init` and `comet update` at the start of command output.
*/
export declare function printVersionInfo(log: (message: string) => void): Promise<VersionCheckResult>;
//# sourceMappingURL=version.d.ts.map
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/core/version.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAuB5D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA8BzD;AAED;;;GAGG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAmBlE;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAC7B,OAAO,CAAC,kBAAkB,CAAC,CAmB7B"}
import { createRequire } from 'module';
import https from 'https';
const require = createRequire(import.meta.url);
const { version: CURRENT_VERSION } = require('../../package.json');
const PACKAGE_NAME = '@rpamis/comet';
const REGISTRY_URL = `https://registry.npmjs.org/${PACKAGE_NAME}/latest`;
/**
* Compare two semver version strings.
* Returns a positive number if a > b, negative if a < b, 0 if equal.
*/
export function compareVersions(a, b) {
const parseParts = (v) => v
.replace(/^v/, '')
.split('.')
.map((part) => {
const numeric = parseInt(part, 10);
return Number.isNaN(numeric) ? 0 : numeric;
});
const partsA = parseParts(a);
const partsB = parseParts(b);
const len = Math.max(partsA.length, partsB.length);
for (let i = 0; i < len; i++) {
const numA = partsA[i] ?? 0;
const numB = partsB[i] ?? 0;
if (numA !== numB) {
return numA - numB;
}
}
return 0;
}
/**
* Get the current installed Comet version from package.json.
*/
export function getCurrentVersion() {
return CURRENT_VERSION;
}
/**
* Fetch the latest version from the npm registry.
* Returns null if the registry is unreachable or the request fails.
*/
export function getLatestVersion() {
return new Promise((resolve) => {
const request = https.get(REGISTRY_URL, { timeout: 5000 }, (res) => {
if (res.statusCode !== 200) {
res.resume();
resolve(null);
return;
}
let data = '';
res.on('data', (chunk) => {
data += chunk;
});
res.on('end', () => {
try {
const parsed = JSON.parse(data);
resolve(typeof parsed.version === 'string' ? parsed.version : null);
}
catch {
resolve(null);
}
});
});
request.on('error', () => resolve(null));
request.on('timeout', () => {
request.destroy();
resolve(null);
});
});
}
/**
* Check for available updates.
* Silently returns a "not checked" result if the registry is unreachable.
*/
export async function checkForUpdate() {
const currentVersion = getCurrentVersion();
const latestVersion = await getLatestVersion();
if (latestVersion === null) {
return {
currentVersion,
latestVersion: null,
hasUpdate: false,
checked: false,
};
}
return {
currentVersion,
latestVersion,
hasUpdate: compareVersions(latestVersion, currentVersion) > 0,
checked: true,
};
}
/**
* Format and print version info to the console.
* Used by `comet init` and `comet update` at the start of command output.
*/
export async function printVersionInfo(log) {
const result = await checkForUpdate();
log(` Comet v${result.currentVersion}`);
if (!result.checked) {
// Registry unreachable — skip silently per requirement #6
return result;
}
if (result.hasUpdate) {
log(` New version v${result.latestVersion} available. Run 'npm update -g ${PACKAGE_NAME}' to upgrade.`);
}
else {
log(` You are on the latest version.`);
}
return result;
}
//# sourceMappingURL=version.js.map
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/core/version.ts"],"names":[],"mappings":"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"}
+8
-1
{
"version": "0.3.3",
"version": "0.3.8",
"skills": [
"comet/SKILL.md",
"comet/reference/auto-transition.md",
"comet/reference/comet-yaml-fields.md",
"comet/reference/context-recovery.md",
"comet/reference/debug-gate.md",
"comet/reference/decision-point.md",
"comet/reference/dirty-worktree.md",
"comet/reference/file-structure.md",
"comet/reference/subagent-dispatch.md",
"comet/scripts/comet-env.sh",

@@ -7,0 +14,0 @@ "comet/scripts/comet-guard.sh",

+2
-8

@@ -38,3 +38,3 @@ ---

入口验证通过后,**必须使用当前平台可用的用户输入/确认机制暂停并等待用户确认是否立即归档**。不得在用户确认前运行 `"$COMET_BASH" "$COMET_ARCHIVE" "<change-name>"`。若当前平台没有结构化提问工具,则在对话中提出同等单选问题并停止流程,等待用户回复后才能继续。
入口验证通过后,**必须按 `comet/reference/decision-point.md` 的协议暂停并等待用户确认是否立即归档**。不得在用户确认前运行 `"$COMET_BASH" "$COMET_ARCHIVE" "<change-name>"`。

@@ -101,8 +101,2 @@ 确认前必须向用户展示简短摘要:

归档阶段在执行过程中可能触发上下文压缩。恢复时先运行:
```bash
"$COMET_BASH" "$COMET_STATE" check <change-name> archive --recover
```
脚本输出结构化恢复上下文(归档状态、已完成步骤)。按 Recovery action 判断下一步。若 `archived: true` 且归档目录存在,归档已完成,无需再次执行归档操作。
按 `comet/reference/context-recovery.md` 执行,phase 参数为 `archive`。若 `archived: true` 且归档目录存在,归档已完成,无需再次执行归档操作。

@@ -90,3 +90,3 @@ ---

这是用户决策点。**必须使用当前平台可用的用户输入/确认机制暂停并等待用户明确选择**,不得自动继续,也不得把暂停写入 `build_mode`。若当前平台没有结构化提问工具,则在对话中提出同等选项并停止流程,等待用户回复后才能继续。
这是用户决策点。**必须按 `comet/reference/decision-point.md` 的协议暂停并等待用户明确选择**,不得自动继续,也不得把暂停写入 `build_mode`。

@@ -142,3 +142,3 @@ 用户选择继续时:

这是用户决策点。**必须使用当前平台可用的用户输入/确认机制暂停并等待用户明确选择隔离方式、执行方式和 TDD 模式**,不得根据推荐规则自行选择 `branch` 或 `worktree`,也不得根据推荐规则自行选择执行方式或 TDD 模式。推荐规则只能用于说明建议,不能替代用户确认。若当前平台没有结构化提问工具,则在对话中提出同等选项并停止流程,等待用户回复后才能继续。
这是用户决策点。**必须按 `comet/reference/decision-point.md` 的协议暂停并等待用户明确选择隔离方式、执行方式和 TDD 模式**,不得根据推荐规则自行选择 `branch` 或 `worktree`,也不得根据推荐规则自行选择执行方式或 TDD 模式。推荐规则只能用于说明建议,不能替代用户确认。

@@ -206,10 +206,5 @@ 用户选择后,更新 `isolation`、执行方式和 TDD 模式相关字段:

- `build_mode: executing-plans`:**立即执行:** 使用 Skill 工具加载 Superpowers `executing-plans` 技能。禁止跳过此步骤。若该技能不可用,停止流程并提示安装或启用对应技能,不要用普通对话替代该步骤。技能加载后,ARGUMENTS 必须包含与 Step 1 相同的 Language 约束:`Language: 使用触发本次工作流的用户请求语言输出`。按计划执行。
- `build_mode: subagent-driven-development`:主窗口只负责协调,不得把 `subagent-driven-development` 当作当前主窗口的执行技能直接运行;必须使用已确认的当前平台真实后台 subagent / Task / multi-agent 调度能力,把下一个未完成任务派发到后台 subagent。派发每个 subagent 时,必须在 prompt 中明确要求:技能加载后 ARGUMENTS 必须包含与 Step 1 相同的 Language 约束:`Language: 使用触发本次工作流的用户请求语言输出`;任务完成并通过验证后,立即勾选 `docs/superpowers/plans/<plan-file>.md` 中对应的计划任务;若该计划任务映射到 `openspec/changes/<name>/tasks.md` 中的任务,也同步将该 OpenSpec 任务从 `- [ ]` 改为 `- [x]`;若 plan 新增了 OpenSpec 中没有的一步,只勾选 plan 中对应任务即可。不得只更新内置 Todo 或对话内 checklist。后台 subagent 需要自行加载 Superpowers `subagent-driven-development` 相关执行流程,并按其指引完成实现、检查和提交。
- 如果当前平台没有真实后台 subagent / Task / multi-agent 调度能力,必须暂停并等待用户选择改用主窗口执行。用户选择改用主窗口执行后,必须先运行 `"$COMET_BASH" "$COMET_STATE" set <name> build_mode executing-plans`,再按 `build_mode: executing-plans` 分支加载 Superpowers `executing-plans` 技能。用户未明确选择前,不得继续执行任务。
- `build_mode: subagent-driven-development`:主会话只负责协调,禁止直接编写实现代码。**立即执行:** 使用 Skill 工具加载 Superpowers `subagent-driven-development` 技能。技能加载后,读取 `comet/reference/subagent-dispatch.md` 获取 Comet 专属扩展(真实后台调度、任务隔离、勾选验证、TDD 约束、连续执行、上下文恢复),与技能工作流配合应用。若两者发生冲突,以更具体的 Comet 扩展为准。
- 如果当前平台没有真实后台 agent 调度能力,必须暂停并等待用户选择改用主窗口执行。用户选择改用主窗口执行后,必须先运行 `"$COMET_BASH" "$COMET_STATE" set <name> build_mode executing-plans`,再按 `build_mode: executing-plans` 分支加载 Superpowers `executing-plans` 技能。用户未明确选择前,不得继续执行任务。
执行开始后,按所选分支完成:
- 按计划执行任务
- 完成 Superpowers plan 对应任务勾选;若任务映射到 OpenSpec tasks.md,也勾选对应 OpenSpec 任务(`- [ ]` → `- [x]`)
- 每个任务完成后提交代码
**TDD 模式执行约束**:

@@ -219,3 +214,3 @@

- `build_mode: executing-plans`:加载执行技能后、执行第一个任务前,**立即执行:** 使用 Skill 工具加载 Superpowers `test-driven-development` 技能一次。禁止跳过此步骤。技能加载后,从第一个未勾选任务开始,对每个任务遵循已加载的 TDD Red-Green-Refactor 循环执行。不得跳过失败测试验证阶段。后续任务不再重新加载该技能,直接遵循已加载流程。若上下文压缩后恢复,重新运行本步骤加载 TDD 技能一次,然后从第一个未勾选任务继续。
- `build_mode: subagent-driven-development`:派发每个 subagent 时,必须在 prompt 中注入 TDD 硬约束:**"You MUST follow TDD: for each task, write a failing test first, watch it fail, then write minimal code to pass. No production code without a failing test first."**。同一个 prompt 还必须包含上述 OpenSpec tasks.md 与 Superpowers plan 持久化勾选要求。不得依赖 implementer-prompt.md 的条件触发,必须在派发 prompt 中显式写出。
- `build_mode: subagent-driven-development`:主会话不加载 TDD skill;TDD 约束和证据门槛已在 `comet/reference/subagent-dispatch.md` 中定义,每个后台 implementer 和修复 agent 必须自行使用 Skill 工具加载 Superpowers `test-driven-development` 技能,并遵循 Comet 注入的 TDD 硬约束。

@@ -238,7 +233,3 @@ 若 `tdd_mode: direct`:按正常流程执行,不强制 TDD。

按 `systematic-debugging` 的四阶段流程处理:
- 先复现并定位根因,读取完整错误、检查近期变更、追踪数据流
- 若根因指向源码 bug,先补充能复现该崩溃/异常的最小失败测试,再修改源码
- 修复后运行该失败测试、相关测试和项目构建/验证命令,确认全部通过
- 将测试、源码修复和 tasks.md 勾选保留在当前 change 内;不得通过另起一个“写测试用例”的 change 来替代当前 change 的验证闭环
具体调查、最小失败测试、修复验证和保持当前 change 验证闭环的要求,按 `comet/reference/debug-gate.md` 执行。

@@ -255,3 +246,3 @@ ### 4. Spec 增量更新

**50% 阈值判定**:以 tasks.md 初始任务总数为基准,若新增任务数超过该总数的一半,视为超出原计划范围,**必须使用当前平台可用的用户输入/确认机制暂停并等待用户决定是否拆分为新 change**。若当前平台没有结构化提问工具,则在对话中提出拆分选项并停止流程,等待用户回复后才能继续。
**50% 阈值判定**:以 tasks.md 初始任务总数为基准,若新增任务数超过该总数的一半,视为超出原计划范围,**必须按 `comet/reference/decision-point.md` 的协议暂停并等待用户决定是否拆分为新 change**。

@@ -274,4 +265,4 @@ 创建独立 change 时必须调用 `/comet-open`,不得直接调用 `/opsx:new`。`/comet-open` 会同时创建 OpenSpec 产物和 `.comet.yaml`,避免新 change 脱离 Comet 状态机。

- **每完成一个 task**:立即勾选 Superpowers plan 中的对应任务;若任务映射到 OpenSpec tasks.md,也勾选对应 OpenSpec 任务;然后提交代码,确保 `.comet.yaml` 和文件状态持久化。用 `grep -c '\- \[ \]' tasks.md` 检查剩余未勾选数,无需重新读取整个文件
- **上下文压缩后恢复**:先运行 `"$COMET_BASH" "$COMET_STATE" check <change-name> build --recover`,脚本输出结构化恢复上下文(isolation/build_mode 状态、plan 路径、任务完成进度、恢复动作)。根据 Recovery action 决定下一步。
- **每完成一个 task**:按当前执行分支完成验收后再勾选对应任务并提交。`subagent-driven-development` 必须等两个审查都通过,并按任务唯一文本完成定向检查。可用 `grep -c '\- \[ \]' tasks.md` 检查剩余未勾选数,无需重新读取整个文件
- **上下文压缩后恢复**:按 `comet/reference/context-recovery.md` 执行,phase 参数为 `build`。
- **用户手动修改恢复**:按 `comet/reference/dirty-worktree.md` 协议处理未提交改动。该协议定义了检查步骤、归因分类和禁令。build 阶段的特殊处理:

@@ -312,6 +303,4 @@ 1. 归因后,若 diff 暗示计划或 spec 已变化,按 Step 4「Spec 增量更新」分级处理

> **术语区分**:上面的「阶段守卫推进」由 guard `--apply` 完成,更新 `.comet.yaml` 的 `phase` 字段——这一步**始终发生**,与 `auto_transition` 无关。本节的「自动衔接」只决定**是否自动调用下一个 skill**,由 `auto_transition` 控制。
按 `comet/reference/auto-transition.md` 执行。关键命令:
退出条件满足且阶段守卫推进 phase 后,运行:
```bash

@@ -321,5 +310,4 @@ "$COMET_BASH" "$COMET_STATE" next <change-name>

脚本根据 `phase`、`workflow`、`auto_transition` 输出确定性的下一步:
- `NEXT: auto` → 调用 `SKILL` 指向的 skill 进入下一阶段
- `NEXT: manual` → 不要调用下一 skill,按 `HINT` 提示用户手动运行 `/<SKILL>`
- `NEXT: done` → 流程已完成,无需继续

@@ -138,3 +138,3 @@ ---

brainstorming 产出设计方案后,**必须使用当前平台可用的用户输入/确认机制暂停并等待用户明确确认设计方案**。不得在用户确认前创建最终 Design Doc、写入 `design_doc`、运行 design guard,或进入 `/comet-build`。若当前平台没有结构化提问工具,则在对话中提出确认问题并停止流程,等待用户回复后才能继续。
brainstorming 产出设计方案后,**必须按 `comet/reference/decision-point.md` 的协议暂停并等待用户明确确认设计方案**。不得在用户确认前创建最终 Design Doc、写入 `design_doc`、运行 design guard,或进入 `/comet-build`。

@@ -253,16 +253,8 @@ 暂停时只展示必要摘要:

design 阶段在 brainstorming 过程中可能触发上下文压缩。恢复时先运行:
按 `comet/reference/context-recovery.md` 执行,phase 参数为 `design`。
```bash
"$COMET_BASH" "$COMET_STATE" check <change-name> design --recover
```
脚本输出结构化恢复上下文(阶段、已完成字段、待完成字段、恢复动作)。按 Recovery action 判断下一步。
## 自动衔接下一阶段
> **术语区分**:上面的「阶段守卫推进」由 guard `--apply` 完成,更新 `.comet.yaml` 的 `phase` 字段——这一步**始终发生**,与 `auto_transition` 无关。本节的「自动衔接」只决定**是否自动调用下一个 skill**,由 `auto_transition` 控制。
按 `comet/reference/auto-transition.md` 执行。关键命令:
阶段守卫推进 phase 后,运行:
```bash

@@ -272,5 +264,4 @@ "$COMET_BASH" "$COMET_STATE" next <change-name>

脚本根据 `phase`、`workflow`、`auto_transition` 输出确定性的下一步:
- `NEXT: auto` → 调用 `SKILL` 指向的 skill 进入下一阶段
- `NEXT: manual` → 不要调用下一 skill,按 `HINT` 提示用户手动运行 `/<SKILL>`
- `NEXT: done` → 流程已完成,无需继续

@@ -96,7 +96,3 @@ ---

按 `systematic-debugging` 的四阶段流程处理:
- 先复现并定位根因,读取完整错误、检查近期变更、追踪数据流
- 若根因指向源码 bug,先补充能复现该崩溃/异常的最小失败测试,再修改源码
- 修复后运行该失败测试、相关测试和项目构建/验证命令,确认全部通过
- 将测试、源码修复和 tasks.md 勾选保留在当前 change 内;不得通过另起一个“写测试用例”的 change 来替代当前 change 的验证闭环
具体调查、最小失败测试、修复验证和保持当前 change 验证闭环的要求,按 `comet/reference/debug-gate.md` 执行。

@@ -133,3 +129,3 @@ **如修复影响已有 spec 验收场景**:

无 delta spec 的小范围 hotfix 通常满足轻量验证条件(≤ 3 tasks、≤ 2 files),comet-verify 的规模评估会选择轻量验证路径(5 项快速检查)。若 hotfix 创建了 delta spec,则根据 comet-verify 的规模评估规则进入完整验证路径。
无 delta spec 的小范围 hotfix 通常满足轻量验证条件(≤ 3 tasks、≤ 2 files),comet-verify 的规模评估会选择轻量验证路径(6 项快速检查,包含简化代码审查)。若 hotfix 创建了 delta spec,则根据 comet-verify 的规模评估规则进入完整验证路径。

@@ -176,3 +172,3 @@ 验证通过后,按 `/comet-verify` 的规则将 `.comet.yaml` 的 `verify_result` 记录为 `pass`,归档前不得跳过该状态。验证通过后仍必须进入 `/comet-archive` 的归档前最终确认,不得自动运行归档脚本。

满足升级条件时**必须使用当前平台可用的用户输入/确认机制暂停并等待用户明确确认**升级为完整 `/comet` 流程。不得直接进入 `/comet-design`,不得自动补充 Design Doc。若当前平台没有结构化提问工具,则在对话中提出升级确认问题并停止流程,等待用户回复后才能继续。
满足升级条件时**必须按 `comet/reference/decision-point.md` 的协议暂停并等待用户明确确认**升级为完整 `/comet` 流程。不得直接进入 `/comet-design`,不得自动补充 Design Doc。

@@ -199,6 +195,4 @@ 用户确认升级后,**必须先更新 workflow 和 phase 字段**再进入完整流程:

> **术语区分**:阶段守卫 `--apply` 推进 `.comet.yaml` 的 `phase` 字段——这一步**始终发生**,与 `auto_transition` 无关。本节的「自动衔接」只决定**是否自动调用下一个 skill**。
按 `comet/reference/auto-transition.md` 执行。关键命令:
每次阶段守卫或状态转换推进 phase 后,运行:
```bash

@@ -208,5 +202,4 @@ "$COMET_BASH" "$COMET_STATE" next <name>

脚本根据 `phase`、`workflow`、`auto_transition` 输出确定性的下一步:
- `NEXT: auto` → 调用 `SKILL` 指向的 skill 继续 hotfix 流程(`phase: build` 返回 `comet-hotfix`,`verify` 返回 `comet-verify`,`archive` 返回 `comet-archive`)
- `NEXT: manual` → 不要调用下一 skill,按 `HINT` 提示用户手动运行 `/<SKILL>`
- `NEXT: done` → 流程已完成,无需继续

@@ -49,3 +49,3 @@ ---

如推荐拆分,必须使用当前平台可用的用户输入/确认机制暂停并等待用户选择。若当前平台没有结构化提问工具,则在对话中提出同等单选问题并停止流程,等待用户回复后才能继续。
如推荐拆分,必须按 `comet/reference/decision-point.md` 的协议暂停并等待用户选择。

@@ -69,3 +69,3 @@ 用户选择必须包含:

创建 OpenSpec artifacts 前,必须使用当前平台可用的用户输入/确认机制暂停并等待用户确认需求澄清完成。若当前平台没有结构化提问工具,则在对话中展示澄清摘要并提出确认问题,停止流程,等待用户回复后才能继续。
创建 OpenSpec artifacts 前,必须按 `comet/reference/decision-point.md` 的协议暂停并等待用户确认需求澄清完成。

@@ -82,10 +82,30 @@ 暂停时必须展示澄清摘要:目标、非目标、范围边界、关键未知项、验收场景草案。

技能加载后,按其指引创建 change 骨架,但当 Step 1b 的已确认澄清摘要已存在于对话上下文时,覆盖其"STOP and wait for user direction"行为。具体如下:
技能加载后,按其指引创建 change 骨架,但当 Step 1b 的已确认澄清摘要已存在于对话上下文时,覆盖其"STOP and wait for user direction"行为。
1. 按技能指引执行 `openspec new change`、`openspec status`、`openspec instructions`
2. 如果用户已确认澄清摘要(Step 1b),直接使用该摘要起草 proposal.md —— 不得再要求用户重新描述变更内容
3. 如果不存在澄清摘要(边缘情况),回退到技能的默认行为,询问用户
如果用户已确认澄清摘要(Step 1b),直接使用该摘要填充产物内容。如果不存在澄清摘要(边缘情况),回退到技能的默认行为,询问用户。
然后逐个补齐 design.md、tasks.md;每个文档都必须基于已确认的澄清摘要。
change 骨架创建后,按以下标准产物循环逐个生成 `proposal`、`design`、`tasks`:
**标准产物循环**(对每个 `artifact-id`:`proposal` → `design` → `tasks`):
1. 刷新状态:`openspec status --change "<name>" --json`
2. 获取产物指令:
```bash
openspec instructions proposal --change "<name>" --json
openspec instructions design --change "<name>" --json
openspec instructions tasks --change "<name>" --json
```
3. 对返回的 JSON 指令载荷,必须:
- 读取 `dependencies` 中列出的每个已完成依赖产物
- 以 `template` 作为产物结构
- 遵循 `instruction` 的指引
- 将 `context` 和 `rules` 作为约束条件应用,**不得复制到 artifact 内容中**
- 写入 `resolvedOutputPath`
- 验证输出文件存在且非空
4. 每创建一个 artifact 后,重新运行 `openspec status --change "<name>" --json` 确认状态,然后继续下一个 artifact
**失败处理**:如果 `openspec instructions` 失败、返回无效 JSON、报告未满足的 `dependencies`、或未提供可用的 `resolvedOutputPath`,必须立即停止 artifact 创建并报告 OpenSpec 错误。不得回退为硬编码文档结构,因为那样会绕过项目规则。
**命名与范围守卫**:change name 必须使用用户指定或通过当前平台可用的用户输入/确认机制确认的名称,不得自动生成或推断。变更范围必须与用户描述一致,不得自行扩大或缩小。

@@ -145,3 +165,3 @@

三个文档创建完成且内容完整性检查通过后,**必须使用当前平台可用的用户输入/确认机制暂停并等待用户确认**。不得在用户确认前执行阶段守卫或自动流转。若当前平台没有结构化提问工具,则在对话中提出同等单选问题并停止流程,等待用户回复后才能继续。
三个文档创建完成且内容完整性检查通过后,**必须按 `comet/reference/decision-point.md` 的协议暂停并等待用户确认**。不得在用户确认前执行阶段守卫或自动流转。

@@ -177,6 +197,4 @@ 用户确认问题必须以单选题形式呈现,包含以下摘要和选项:

> **术语区分**:上面的「阶段守卫推进」由 guard `--apply` 完成,更新 `.comet.yaml` 的 `phase` 字段——这一步**始终发生**,与 `auto_transition` 无关。本节的「自动衔接」只决定**是否自动调用下一个 skill**,由 `auto_transition` 控制。
按 `comet/reference/auto-transition.md` 执行。关键命令:
用户确认且阶段守卫推进 phase 后,运行:
```bash

@@ -186,3 +204,2 @@ "$COMET_BASH" "$COMET_STATE" next <change-name>

脚本根据 `phase`、`workflow`、`auto_transition` 输出确定性的下一步:
- `NEXT: auto` → 调用 `SKILL` 指向的 skill 进入下一阶段

@@ -189,0 +206,0 @@ - `NEXT: manual` → 不要调用下一 skill,按 `HINT` 提示用户手动运行 `/<SKILL>`

@@ -89,2 +89,6 @@ ---

执行 tweak 期间,只要运行程序、测试、构建或手动验证时出现崩溃、异常行为、测试失败或构建失败,必须使用 Skill 工具加载 Superpowers `systematic-debugging` 技能。在完成根因调查前,不得提出或实施源码修复。
具体调查、最小失败测试、修复验证和保持当前 change 验证闭环的要求,按 `comet/reference/debug-gate.md` 执行。
```bash

@@ -143,3 +147,3 @@ "$COMET_BASH" "$COMET_GUARD" <change-name> build --apply

满足升级条件时**必须使用当前平台可用的用户输入/确认机制暂停并等待用户明确确认**升级为完整 `/comet` 流程。不得直接进入 `/comet-design`,不得自动补充 Design Doc。若当前平台没有结构化提问工具,则在对话中提出升级确认问题并停止流程,等待用户回复后才能继续。
满足升级条件时**必须按 `comet/reference/decision-point.md` 的协议暂停并等待用户明确确认**升级为完整 `/comet` 流程。不得直接进入 `/comet-design`,不得自动补充 Design Doc。

@@ -166,6 +170,4 @@ 用户确认升级后,**必须先更新 workflow 和 phase 字段**再进入完整流程:

> **术语区分**:阶段守卫 `--apply` 推进 `.comet.yaml` 的 `phase` 字段——这一步**始终发生**,与 `auto_transition` 无关。本节的「自动衔接」只决定**是否自动调用下一个 skill**。
按 `comet/reference/auto-transition.md` 执行。关键命令:
每次阶段守卫或状态转换推进 phase 后,运行:
```bash

@@ -175,5 +177,4 @@ "$COMET_BASH" "$COMET_STATE" next <name>

脚本根据 `phase`、`workflow`、`auto_transition` 输出确定性的下一步:
- `NEXT: auto` → 调用 `SKILL` 指向的 skill 继续 tweak 流程(`phase: build` 返回 `comet-tweak`,`verify` 返回 `comet-verify`,`archive` 返回 `comet-archive`)
- `NEXT: manual` → 不要调用下一 skill,按 `HINT` 提示用户手动运行 `/<SKILL>`
- `NEXT: done` → 流程已完成,无需继续

@@ -80,7 +80,7 @@ ---

验证不通过时**必须使用当前平台可用的用户输入/确认机制暂停并等待用户决定修复或接受偏差**。不得自动运行 `"$COMET_BASH" "$COMET_STATE" transition <change-name> verify-fail`,也不得自动调用 `/comet-build`。若当前平台没有结构化提问工具,则在对话中提出修复/接受偏差选项并停止流程,等待用户回复后才能继续。
验证不通过时**必须按 `comet/reference/decision-point.md` 的协议暂停并等待用户决定修复或接受偏差**。不得自动运行 `"$COMET_BASH" "$COMET_STATE" transition <change-name> verify-fail`,也不得自动调用 `/comet-build`。
暂停时必须列出:
- 失败项
- 是否属于 CRITICAL(构建失败、测试失败、安全问题、核心验收场景失败)
- 是否属于 CRITICAL 或 IMPORTANT(构建失败、测试失败、安全问题、核心验收场景失败、简化代码审查发现的正确性/安全/边界问题)
- 推荐处理方式

@@ -92,3 +92,3 @@

- **全部修复**:运行 `"$COMET_BASH" "$COMET_STATE" transition <change-name> verify-fail`,然后调用 `/comet-build` 修复
- **逐项处理**:CRITICAL 失败项必须修复;非 CRITICAL 失败项可选择接受偏差,但必须在验证报告中记录接受原因和影响范围。若存在任何 CRITICAL 失败项,不允许跳过修复直接全部接受
- **逐项处理**:CRITICAL 或 IMPORTANT 失败项必须修复;WARNING/SUGGESTION 失败项可选择接受偏差,但必须在验证报告中记录接受原因和影响范围。若存在任何 CRITICAL 或 IMPORTANT 失败项,不允许跳过修复直接全部接受

@@ -115,3 +115,3 @@ ### 2. 产物上下文加载(Hash 按需读)

按以下 5 项进行检查:
按以下 6 项进行检查:

@@ -123,5 +123,8 @@ 1. tasks.md 全部任务已完成 `[x]`

5. 无明显安全问题(无硬编码密钥、无新增 unsafe 操作)
6. 简化代码审查通过:必须使用 Skill 工具加载 Superpowers `requesting-code-review` 技能,请求只检查正确性、安全、边界条件的轻量代码审查
**通过标准**:5 项全部 OK,无 CRITICAL 问题。
简化代码审查的输入应限定为本次改动 diff、tasks.md 和必要的测试结果;审查范围只覆盖实现正确性、安全风险和边界条件,不执行 spec 覆盖率、Design Doc 一致性或漂移检查。若审查发现 CRITICAL 或 IMPORTANT 问题,按验证失败处理并进入 Step 1b。
**通过标准**:6 项全部 OK,无 CRITICAL 或 IMPORTANT 问题。
**不通过时**:报告失败项,进入 Step 1b 的验证失败决策阻塞点。用户选择修复后,才执行以下命令记录失败并回退到 build 阶段,然后调用 `/comet-build` 修复:

@@ -134,3 +137,3 @@

**报告格式**:简表列出 5 项检查结果 + PASS/FAIL。
**报告格式**:简表列出 6 项检查结果 + PASS/FAIL。

@@ -140,3 +143,3 @@ **跳过项**(不在轻量验证中检查):

- design doc 一致性深度比对
- code pattern consistency 建议
- 不影响正确性、安全、边界条件的 code pattern consistency 建议
- delta spec 与 design doc 漂移检测

@@ -184,3 +187,3 @@

这是用户决策点。**必须使用当前平台可用的用户输入/确认机制暂停并等待用户选择分支处理方式**,不得根据推荐、默认值或当前分支状态自行选择。若当前平台没有结构化提问工具,则在对话中提出分支处理选项并停止流程,等待用户回复后才能继续。只有在用户完成选择且对应操作完成后,才允许写入 `branch_status: handled`。
这是用户决策点。**必须按 `comet/reference/decision-point.md` 的协议暂停并等待用户选择分支处理方式**,不得根据推荐、默认值或当前分支状态自行选择。只有在用户完成选择且对应操作完成后,才允许写入 `branch_status: handled`。

@@ -222,16 +225,8 @@ **确认项**:

Verify 阶段可能触发上下文压缩。恢复时先运行:
按 `comet/reference/context-recovery.md` 执行,phase 参数为 `verify`。
```bash
"$COMET_BASH" "$COMET_STATE" check <change-name> verify --recover
```
脚本输出结构化恢复上下文(phase、验证状态、分支状态、恢复动作),根据输出的 Recovery action 决定下一步。
## 自动衔接下一阶段
> **术语区分**:上面的「阶段守卫推进」由 guard `--apply` 完成,更新 `.comet.yaml` 的 `phase` 字段——这一步**始终发生**,与 `auto_transition` 无关。本节的「自动衔接」只决定**是否自动调用下一个 skill**,由 `auto_transition` 控制。
按 `comet/reference/auto-transition.md` 执行。关键命令:
验证、分支处理完成且阶段守卫推进 phase 后,运行:
```bash

@@ -241,3 +236,2 @@ "$COMET_BASH" "$COMET_STATE" next <change-name>

脚本根据 `phase`、`workflow`、`auto_transition` 输出确定性的下一步:
- `NEXT: auto` → 调用 `SKILL` 指向的 skill 进入下一阶段

@@ -244,0 +238,0 @@ - `NEXT: manual` → 不要调用下一 skill,按 `HINT` 提示用户手动运行 `/<SKILL>`

@@ -123,3 +123,3 @@ ---

**决策点是阻塞点**:只要到达下列任一节点,当前 `/comet` 调用必须停住,**使用当前平台可用的用户输入/确认机制等待用户选择**。若当前平台没有结构化提问工具,则必须在对话中提出明确选项并停止流程,等待用户回复后才能继续。用户明确选择后才能写入对应状态字段、执行对应操作,随后再继续自动流转。
**决策点是阻塞点**:只要到达下列任一节点,当前 `/comet` 调用必须停住,并按 `comet/reference/decision-point.md` 的协议获取用户明确选择。用户明确选择后才能写入对应状态字段、执行对应操作,随后再继续自动流转。

@@ -183,54 +183,12 @@ 需要用户参与的节点(仅在这些节点暂停):

### .comet.yaml 字段说明
> 字段说明、文件结构和自动衔接协议已提取为渐进式加载参考文档,按需查阅:
> - **`.comet.yaml` 完整字段表**:按 `comet/reference/comet-yaml-fields.md` 查阅(含必需字段、可选字段和完整示例)
> - **文件结构**:按 `comet/reference/file-structure.md` 查阅
> - **自动衔接协议**:按 `comet/reference/auto-transition.md` 查阅
> - **上下文压缩恢复**:按 `comet/reference/context-recovery.md` 查阅
> - **用户决策点协议**:按 `comet/reference/decision-point.md` 查阅
> - **调试门协议**:按 `comet/reference/debug-gate.md` 查阅
```yaml
workflow: full
phase: build
design_doc: docs/superpowers/specs/YYYY-MM-DD-topic-design.md
plan: docs/superpowers/plans/YYYY-MM-DD-feature.md
base_ref: a1b2c3d4e5f6...
build_mode: subagent-driven-development
build_pause: null
subagent_dispatch: confirmed
tdd_mode: tdd
isolation: branch
verify_mode: light
verify_result: pending
verification_report: null
branch_status: pending
created_at: 2026-05-26
verified_at: null
archived: false
```
### 状态机硬约束
| 字段 | 含义 |
|------|------|
| `workflow` | `full`、`hotfix` 或 `tweak` |
| `phase` | 当前阶段:`open`、`design`、`build`、`verify`、`archive`(init 统一设为 `open`,guard 负责过渡) |
| `design_doc` | 关联的 Superpowers Design Doc 路径,可为空 |
| `plan` | 关联的 Superpowers Plan 路径,可为空 |
| `base_ref` | init 时记录的 git commit SHA,用于 scale 评估。无 plan 时作为改动文件数统计基准 |
| `build_mode` | 已选择的执行方式,可为空 |
| `build_pause` | build 阶段内部暂停点。`null` 表示无暂停,`plan-ready` 表示 plan 已生成,用户选择切换模型后暂停 |
| `subagent_dispatch` | `null` 或 `confirmed`。仅当已确认当前平台存在真实后台 subagent / Task / multi-agent 调度能力时,`build_mode: subagent-driven-development` 才能写入并用于离开 build 阶段 |
| `tdd_mode` | `tdd` 或 `direct`。full workflow 离开 build 阶段前必须已选择。`tdd` 强制每个任务先写失败测试再实现;`direct` 不强制 TDD。hotfix/tweak 默认 `direct` |
| `isolation` | `branch` 或 `worktree`,工作区隔离方式。full 初始化可为 `null`,但只允许持续到 `/comet-build` Step 3 前;hotfix/tweak 默认 `branch` |
| `verify_mode` | `light` 或 `full`,可为空 |
| `auto_transition` | `true` 或 `false`。只控制阶段守卫推进 phase 后是否自动调用下一个 skill;`false` 时由 `comet-state next` 输出 `manual`,暂停下一 skill 调用,但不阻止 phase 字段更新 |
| `verify_result` | `pending`、`pass` 或 `fail` |
| `verification_report` | 验证报告文件路径,verify 通过前必须指向已存在文件 |
| `branch_status` | `pending` 或 `handled`,分支处理完成后设为 `handled` |
| `created_at` | change 创建日期(init 时自动写入),格式 `YYYY-MM-DD` |
| `verified_at` | 验证通过时间,可为空 |
| `archived` | change 是否已归档 |
可选字段:
| 字段 | 含义 |
|------|------|
| `direct_override` | `true`/`false`。full workflow 如需使用 `build_mode: direct`,必须显式设为 `true` |
| `build_command` | 项目构建命令。guard 优先运行该命令,失败时打印命令输出 |
| `verify_command` | 项目验证命令。verify guard 优先运行该命令,未配置时回退到构建命令 |
状态机硬约束:
- `build → verify` 前,`isolation` 必须是 `branch` 或 `worktree`

@@ -299,25 +257,4 @@ - `build → verify` 前,`build_mode` 必须已选择

```
openspec/ # OpenSpec — WHAT
├── config.yaml
├── changes/
│ ├── <name>/ # 活跃 change
│ │ ├── .openspec.yaml
│ │ ├── .comet.yaml
│ │ ├── proposal.md # Why + What
│ │ ├── design.md # 高层架构决策
│ │ ├── specs/<capability>/spec.md # Delta 能力规格
│ │ ├── .comet/handoff/ # 脚本生成的阶段交接包
│ │ └── tasks.md # 任务清单
│ └── archive/YYYY-MM-DD-<name>/ # 已归档
└── specs/<capability>/spec.md # 主 specs(归档时按 OpenSpec delta 语义合并)
按 `comet/reference/file-structure.md` 查阅完整目录结构。
docs/superpowers/ # Superpowers — HOW
├── specs/YYYY-MM-DD-<topic>-design.md # 设计文档(技术 RFC,归档时标注状态)
└── plans/YYYY-MM-DD-<feature>.md # 实施计划(文件头含 change 关联元数据)
.comet/
└── config.yaml # Comet 项目配置(context_compression 默认 off,可设 beta)
```
### 最佳实践

@@ -324,0 +261,0 @@

@@ -38,3 +38,3 @@ ---

After entry verification passes, **must use the current platform's available user input/confirmation mechanism to pause and wait for the user to confirm whether to archive immediately**. Must not run `"$COMET_BASH" "$COMET_ARCHIVE" "<change-name>"` before user confirmation. If the current platform has no structured question tool, ask an equivalent single-select question in the conversation, stop the workflow, and wait for the user's reply before continuing.
After entry verification passes, **must follow the `comet/reference/decision-point.md` protocol to pause and wait for the user to confirm whether to archive immediately**. Must not run `"$COMET_BASH" "$COMET_ARCHIVE" "<change-name>"` before user confirmation.

@@ -99,10 +99,4 @@ Before confirmation, show the user a brief summary:

## Context Compaction Recovery
## Context Compression Recovery
The archive phase may trigger context compaction during execution. On resume, first run:
```bash
"$COMET_BASH" "$COMET_STATE" check <change-name> archive --recover
```
The script outputs structured recovery context (archive status, completed steps). Follow the Recovery action to determine next steps. If `archived: true` and the archive directory exists, archiving is already complete — no need to run the archive operation again.
Follow `comet/reference/context-recovery.md` with phase set to `archive`. If `archived: true` and archive directory exists, archival is complete — do not re-execute archive operations.

@@ -90,3 +90,3 @@ ---

This is a user decision point. **Must use the current platform's available user input/confirmation mechanism to pause and wait for the user to explicitly choose**. Must not auto-continue and must not write the pause into `build_mode`. If the current platform has no structured question tool, ask equivalent options in the conversation, stop the workflow, and wait for the user's reply before continuing.
This is a user decision point. **Must follow the `comet/reference/decision-point.md` protocol to pause and wait for the user to explicitly choose**. Must not auto-continue and must not write the pause into `build_mode`.

@@ -142,3 +142,3 @@ When the user chooses to continue:

This is a user decision point. **Must use the current platform's available user input/confirmation mechanism to pause and wait for the user to explicitly choose isolation method, execution method, and TDD mode**. Must not choose `branch` or `worktree` based on recommendation rules, and must not choose the execution method or TDD mode based on recommendation rules. Recommendation rules are for suggestion only, not a substitute for user confirmation. If the current platform has no structured question tool, ask equivalent options in the conversation, stop the workflow, and wait for the user's reply before continuing.
This is a user decision point. **Must follow the `comet/reference/decision-point.md` protocol to pause and wait for the user to explicitly choose isolation method, execution method, and TDD mode**. Must not choose `branch` or `worktree` based on recommendation rules, and must not choose the execution method or TDD mode based on recommendation rules. Recommendation rules are for suggestion only, not a substitute for user confirmation.

@@ -206,10 +206,5 @@ After user selection, update `isolation`, execution method, and TDD mode fields:

- `build_mode: executing-plans`: **Immediately execute:** Use the Skill tool to load the Superpowers `executing-plans` skill. Skipping this step is prohibited. If the skill is unavailable, stop the process and prompt to install or enable the corresponding skill; do not substitute with normal conversation. After the skill loads, ARGUMENTS must include the same Language constraint as Step 1: `Language: Use the language of the user request that triggered this workflow`. Execute according to plan.
- `build_mode: subagent-driven-development`: The main window only coordinates; must not run `subagent-driven-development` as the main window execution skill directly. Must use the confirmed real background subagent / Task / multi-agent dispatch capability to dispatch the next unchecked task to a background subagent. When dispatching each subagent, the prompt must explicitly require: after the skill loads, ARGUMENTS must include the same Language constraint as Step 1: `Language: Use the language of the user request that triggered this workflow`; after the task is complete and validated, immediately check off the corresponding plan task in `docs/superpowers/plans/<plan-file>.md`; if that plan task maps to an item in `openspec/changes/<name>/tasks.md`, also change that OpenSpec task from `- [ ]` to `- [x]`; if the plan added a step that does not exist in OpenSpec, only the corresponding plan task needs to be checked off. Do not only update the built-in Todo or an in-chat checklist. The background subagent loads the Superpowers `subagent-driven-development` execution flow on its own and follows its guidance for implementation, review, and commit.
- If the current platform has no real background subagent / Task / multi-agent dispatch capability, must pause and wait for the user to choose main window execution instead. After the user chooses, must run `"$COMET_BASH" "$COMET_STATE" set <name> build_mode executing-plans`, then follow the `build_mode: executing-plans` branch to load the Superpowers `executing-plans` skill. Must not continue executing tasks before the user explicitly chooses.
- `build_mode: subagent-driven-development`: The main session only coordinates and must not write implementation code directly. **Immediately execute:** Use the Skill tool to load the Superpowers `subagent-driven-development` skill. After the skill loads, read `comet/reference/subagent-dispatch.md` for Comet-specific extensions (real background dispatch, task isolation, checkoff verification, TDD constraints, continuous execution, context recovery) and apply them alongside the skill's workflow. If they conflict, the more specific Comet extensions take precedence.
- If the current platform has no real background agent dispatch capability, must pause and wait for the user to choose main window execution instead. After the user chooses, must run `"$COMET_BASH" "$COMET_STATE" set <name> build_mode executing-plans`, then follow the `build_mode: executing-plans` branch to load the Superpowers `executing-plans` skill. Must not continue executing tasks before the user explicitly chooses.
After execution begins, follow the chosen branch to completion:
- Execute tasks according to plan
- Check off the corresponding Superpowers plan task; if the task maps to OpenSpec tasks.md, also check off the corresponding OpenSpec task (`- [ ]` → `- [x]`)
- Commit code after each task completion
**TDD Mode Execution Constraints**:

@@ -219,3 +214,3 @@

- `build_mode: executing-plans`: After loading the execution skill and before executing the first task, **Immediately execute:** Use the Skill tool to load the Superpowers `test-driven-development` skill once. Skipping this step is prohibited. After the skill loads, start from the first unchecked task and follow the loaded TDD Red-Green-Refactor cycle for each task. Must not skip the failing test verification phase. Do not reload this skill for subsequent tasks; follow the already-loaded flow. If resuming after context compaction, re-run this step to load the TDD skill once, then continue from the first unchecked task.
- `build_mode: subagent-driven-development`: When dispatching each subagent, must inject the TDD hard constraint into the prompt: **"You MUST follow TDD: for each task, write a failing test first, watch it fail, then write minimal code to pass. No production code without a failing test first."**. The same prompt must also include the OpenSpec tasks.md and Superpowers plan persistent check-off requirement above. Must not rely on implementer-prompt.md's conditional trigger; must explicitly write it in the dispatch prompt.
- `build_mode: subagent-driven-development`: The main session does not load the TDD skill. TDD constraints and evidence thresholds are defined in `comet/reference/subagent-dispatch.md`; every background implementer and fix agent must use the Skill tool to load the Superpowers `test-driven-development` skill and follow the Comet-injected TDD hard constraint.

@@ -238,7 +233,3 @@ If `tdd_mode: direct`: Follow normal flow, no enforced TDD.

Handle it using the four-phase `systematic-debugging` flow:
- First reproduce and locate the root cause, read full errors, check recent changes, and trace data flow
- If root cause points to a source bug, first add a minimal failing test that reproduces the crash or unexpected behavior, then modify source code
- After the fix, run that failing test, related tests, and project build/verification commands to confirm all pass
- Keep the test, source fix, and tasks.md checkoff inside the current change; Must not replace the current change verification loop by starting a separate "write test cases" change
For specific investigation, minimal failing test, fix verification, and keeping the current change verification loop, follow `comet/reference/debug-gate.md`.

@@ -255,3 +246,3 @@ ### 4. Spec Incremental Updates

**50% Threshold Determination**: Using initial task count in tasks.md as baseline, if new tasks exceed half of that total, it's considered outside original plan scope, **must use the current platform's available user input/confirmation mechanism to pause and wait for the user to decide whether to split into a new change**. If the current platform has no structured question tool, ask split options in the conversation, stop the workflow, and wait for the user's reply before continuing.
**50% Threshold Determination**: Using initial task count in tasks.md as baseline, if new tasks exceed half of that total, it's considered outside original plan scope, **must follow the `comet/reference/decision-point.md` protocol to pause and wait for the user to decide whether to split into a new change**.

@@ -274,4 +265,4 @@ When creating an independent change, must invoke `/comet-open`, not `/opsx:new` directly. `/comet-open` creates both OpenSpec artifacts and `.comet.yaml`, preventing the new change from leaving the Comet state machine.

- **After each task**: immediately check off the corresponding task in the Superpowers plan; if the task maps to OpenSpec tasks.md, also check off the corresponding OpenSpec task; then commit code so `.comet.yaml` and file state are durable. Use `grep -c '\- \[ \]' tasks.md` to check remaining unchecked count; no need to re-read the entire file
- **After context compaction**: first run `"$COMET_BASH" "$COMET_STATE" check <change-name> build --recover` — the script outputs structured recovery context (isolation/build_mode status, plan path, task progress, recovery action). Follow the Recovery action to determine next step.
- **After each task**: complete acceptance per the current execution branch before checking off and committing. `subagent-driven-development` must wait for both reviews to pass and perform targeted verification by unique task text. Use `grep -c '\- \[ \]' tasks.md` to check remaining unchecked count; no need to re-read the entire file
- **Context compression recovery**: Follow `comet/reference/context-recovery.md` with phase set to `build`.
- **User manual-change resume**: handle uncommitted changes through `comet/reference/dirty-worktree.md`. That protocol defines checks, attribution, and prohibitions. Build-specific handling:

@@ -312,6 +303,4 @@ 1. After attribution, if the diff implies plan or spec changes, handle it through Step 4 "Spec Incremental Updates"

> **Terminology distinction**: the "phase advancement" above is performed by guard `--apply`, which updates the `.comet.yaml` `phase` field. This step **always happens** and is not controlled by `auto_transition`. This section's "automatic handoff" only controls whether to automatically invoke the next skill.
Follow `comet/reference/auto-transition.md`. Key command:
After exit conditions are met and guard-based phase advancement has completed, run:
```bash

@@ -321,5 +310,4 @@ "$COMET_BASH" "$COMET_STATE" next <change-name>

The script determines the next action from `phase`, `workflow`, and `auto_transition`:
- `NEXT: auto` -> invoke the `SKILL` target to continue to the next phase
- `NEXT: manual` -> do not invoke the next skill; follow `HINT` and ask the user to run `/<SKILL>` manually
- `NEXT: done` -> workflow is complete; no further action needed
- `NEXT: auto` → invoke the skill pointed to by `SKILL` to enter the next phase
- `NEXT: manual` → do not invoke the next skill; prompt user to run `/<SKILL>` manually
- `NEXT: done` → workflow is complete, no further action needed

@@ -138,3 +138,3 @@ ---

After brainstorming produces a design proposal, **must use the current platform's available user input/confirmation mechanism to pause and wait for the user to explicitly confirm the design proposal**. Must not create the final Design Doc, write `design_doc`, run design guard, or enter `/comet-build` before user confirmation. If the current platform has no structured question tool, ask a confirmation question in the conversation, stop the workflow, and wait for the user's reply before continuing.
After brainstorming produces a design proposal, **must follow the `comet/reference/decision-point.md` protocol to pause and wait for the user to explicitly confirm the design proposal**. Must not create the final Design Doc, write `design_doc`, run design guard, or enter `/comet-build` before user confirmation.

@@ -250,18 +250,10 @@ When pausing, only present essential summary:

## Context Compaction Recovery
## Context Compression Recovery
The design phase may trigger context compaction during brainstorming. To recover, first run:
Follow `comet/reference/context-recovery.md` with phase set to `design`.
```bash
"$COMET_BASH" "$COMET_STATE" check <change-name> design --recover
```
The script outputs structured recovery context (phase, completed fields, pending fields, recovery action). Follow the Recovery action to determine next step.
## Automatic Handoff to Next Phase
> **Terminology distinction**: the "phase advancement" above is performed by guard `--apply`, which updates the `.comet.yaml` `phase` field. This step **always happens** and is not controlled by `auto_transition`. This section's "automatic handoff" only controls whether to automatically invoke the next skill.
Follow `comet/reference/auto-transition.md`. Key command:
After guard-based phase advancement, run:
```bash

@@ -271,5 +263,4 @@ "$COMET_BASH" "$COMET_STATE" next <change-name>

The script determines the next action from `phase`, `workflow`, and `auto_transition`:
- `NEXT: auto` -> invoke the `SKILL` target to continue to the next phase
- `NEXT: manual` -> do not invoke the next skill; follow `HINT` and ask the user to run `/<SKILL>` manually
- `NEXT: done` -> workflow is complete; no further action needed
- `NEXT: auto` → invoke the skill pointed to by `SKILL` to enter the next phase
- `NEXT: manual` → do not invoke the next skill; prompt user to run `/<SKILL>` manually
- `NEXT: done` → workflow is complete, no further action needed

@@ -100,7 +100,3 @@ ---

Handle it using the four-phase `systematic-debugging` flow:
- First reproduce and locate the root cause, read full errors, check recent changes, and trace data flow
- If root cause points to a source bug, first add a minimal failing test that reproduces the crash or unexpected behavior, then modify source code
- After the fix, run that failing test, related tests, and project build/verification commands to confirm all pass
- Keep the test, source fix, and tasks.md checkoff inside the current change; must not replace the current change verification loop by starting a separate "write test cases" change
For specific investigation, minimal failing test, fix verification, and keeping the current change verification loop, follow `comet/reference/debug-gate.md`.

@@ -133,3 +129,3 @@ ### 3. Root Cause Elimination Check

Small-scale hotfixes without delta spec usually meet lightweight verification conditions (≤ 3 tasks, ≤ 2 files), comet-verify's scale assessment will select lightweight verification path (5 quick checks). If hotfix created delta spec, enter full verification path according to comet-verify's scale assessment rules.
Small-scale hotfixes without delta spec usually meet lightweight verification conditions (≤ 3 tasks, ≤ 2 files), comet-verify's scale assessment will select the lightweight verification path (6 quick checks, including lightweight code review). If hotfix created delta spec, enter full verification path according to comet-verify's scale assessment rules.

@@ -180,3 +176,3 @@ After verification passes, record `.comet.yaml` `verify_result` as `pass` according to `/comet-verify` rules, must not skip this status before archiving. After verification passes, still enter `/comet-archive`'s final archive confirmation; do not automatically run the archive script.

When upgrade conditions are met, **must use the current platform's available user input/confirmation mechanism to pause and wait for the user to explicitly confirm** upgrading to the full `/comet` workflow. Do not directly enter `/comet-design`, and do not automatically supplement Design Doc. If the current platform has no structured question tool, ask an upgrade confirmation question in the conversation, stop the workflow, and wait for the user's reply before continuing.
When upgrade conditions are met, **must follow the `comet/reference/decision-point.md` protocol to pause and wait for the user to explicitly confirm** upgrading to the full `/comet` workflow. Do not directly enter `/comet-design`, and do not automatically supplement Design Doc.

@@ -203,6 +199,4 @@ After user confirms upgrade, **must first update the workflow and phase fields** before entering full flow:

> **Terminology distinction**: phase guard `--apply` advances the `.comet.yaml` `phase` field. This step **always happens** and is not controlled by `auto_transition`. This section's "automatic handoff" only controls whether to automatically invoke the next skill.
Follow `comet/reference/auto-transition.md`. Key command:
After each phase guard or state transition advances phase, run:
```bash

@@ -212,5 +206,4 @@ "$COMET_BASH" "$COMET_STATE" next <name>

The script determines the next action from `phase`, `workflow`, and `auto_transition`:
- `NEXT: auto` -> invoke the `SKILL` target to continue the hotfix flow (`phase: build` returns `comet-hotfix`, `verify` returns `comet-verify`, `archive` returns `comet-archive`)
- `NEXT: manual` -> do not invoke the next skill; follow `HINT` and ask the user to run `/<SKILL>` manually
- `NEXT: done` -> workflow is complete; no further action needed
- `NEXT: auto` → invoke the skill pointed to by `SKILL` to continue hotfix workflow (`phase: build` returns `comet-hotfix`, `verify` returns `comet-verify`, `archive` returns `comet-archive`)
- `NEXT: manual` → do not invoke the next skill; prompt user to manually run `/<SKILL>` per `HINT`
- `NEXT: done` → workflow is complete, no further action needed

@@ -49,3 +49,3 @@ ---

When splitting is recommended, must use the current platform's available user input/confirmation mechanism to pause and wait for the user's choice. If the current platform has no structured question tool, ask an equivalent single-select question in the conversation, stop the workflow, and wait for the user's reply before continuing.
When splitting is recommended, must follow the `comet/reference/decision-point.md` protocol to pause and wait for the user's choice.

@@ -69,3 +69,3 @@ The user choices must include:

Before creating OpenSpec artifacts, must use the current platform's available user input/confirmation mechanism to pause and wait for the user to confirm requirements clarification is complete. If the current platform has no structured question tool, present the clarification summary in the conversation, ask a confirmation question, stop the workflow, and wait for the user's reply before continuing.
Before creating OpenSpec artifacts, must follow the `comet/reference/decision-point.md` protocol to pause and wait for the user to confirm requirements clarification is complete.

@@ -82,10 +82,30 @@ When pausing, present the clarification summary: goals, non-goals, scope boundaries, key unknowns, and draft acceptance scenarios.

After the skill loads, follow its guidance to create the change skeleton, but override its "STOP and wait for user direction" behavior when a confirmed clarification summary from Step 1b is already available in the conversation context. Specifically:
After the skill loads, follow its guidance to create the change skeleton, but override its "STOP and wait for user direction" behavior when a confirmed clarification summary from Step 1b is already available in the conversation context.
1. Run `openspec new change`, `openspec status`, and `openspec instructions` as the skill directs
2. If the user has already confirmed a clarification summary (Step 1b), use that summary directly to draft proposal.md — do NOT ask the user to describe the change again
3. If no clarification summary exists (edge case), fall back to the skill's default behavior of asking the user
If the user has already confirmed a clarification summary (Step 1b), use that summary directly to populate artifact content. If no clarification summary exists (edge case), fall back to the skill's default behavior of asking the user.
Then fill in design.md and tasks.md one by one; every document must be based on the confirmed clarification summary.
After the change skeleton is created, generate `proposal`, `design`, and `tasks` one by one using the standard artifact loop:
**Standard Artifact Loop** (for each `artifact-id`: `proposal` → `design` → `tasks`):
1. Refresh status: `openspec status --change "<name>" --json`
2. Fetch artifact instructions:
```bash
openspec instructions proposal --change "<name>" --json
openspec instructions design --change "<name>" --json
openspec instructions tasks --change "<name>" --json
```
3. For the returned JSON instruction payload, you must:
- Read every completed dependency artifact listed in `dependencies`
- Use `template` as the artifact structure
- Follow `instruction` guidance
- Apply `context` and `rules` as constraints — **must not copy them into the artifact content**
- Write to `resolvedOutputPath`
- Verify the output file exists and is non-empty
4. After creating each artifact, re-run `openspec status --change "<name>" --json` to confirm status before continuing to the next artifact
**Failure handling**: If `openspec instructions` fails, returns invalid JSON, reports unmet `dependencies`, or does not provide a usable `resolvedOutputPath`, must immediately stop artifact creation and report the OpenSpec error. Must not fall back to hard-coded artifact prose because that would silently bypass project rules.
**Naming and scope guard**: Change name must use a user-specified name or a name confirmed through the current platform's available user input/confirmation mechanism — must not auto-generate or infer. Change scope must match the user's description — must not expand or narrow it independently.

@@ -145,3 +165,3 @@

After the three documents are created and content completeness check passes, **must use the current platform's available user input/confirmation mechanism to pause and wait for user confirmation**. Must not execute phase guard or auto-transition before user confirmation. If the current platform has no structured question tool, ask an equivalent single-select question in the conversation, stop the workflow, and wait for the user's reply before continuing.
After the three documents are created and content completeness check passes, **must follow the `comet/reference/decision-point.md` protocol to pause and wait for user confirmation**. Must not execute phase guard or auto-transition before user confirmation.

@@ -177,6 +197,4 @@ The user confirmation question must be presented as a single-select question with the following summary and options:

> **Terminology distinction**: the "phase advancement" above is performed by guard `--apply`, which updates the `.comet.yaml` `phase` field. This step **always happens** and is not controlled by `auto_transition`. This section's "automatic handoff" only controls whether to automatically invoke the next skill.
Follow `comet/reference/auto-transition.md`. Key command:
After user confirmation and guard-based phase advancement, run:
```bash

@@ -186,7 +204,6 @@ "$COMET_BASH" "$COMET_STATE" next <change-name>

The script determines the next action from `phase`, `workflow`, and `auto_transition`:
- `NEXT: auto` -> invoke the `SKILL` target to continue to the next phase
- `NEXT: manual` -> do not invoke the next skill; follow `HINT` and ask the user to run `/<SKILL>` manually
- `NEXT: done` -> workflow is complete; no further action needed
- `NEXT: auto` → invoke the skill pointed to by `SKILL` to enter the next phase
- `NEXT: manual` → do not invoke the next skill; prompt user to run `/<SKILL>` manually
- `NEXT: done` → workflow is complete, no further action needed
Hotfix/tweak presets are controlled by their preset skills (phase goes directly to build), and their `next` output points to the preset path.
hotfix/tweak presets are controlled by their corresponding preset skill (phase goes directly to build); their `next` returns the corresponding preset skill.

@@ -95,2 +95,6 @@ ---

During tweak execution, whenever running programs, tests, builds, or manual verification results in crashes, abnormal behavior, test failures, or build failures, you must use the Skill tool to load the Superpowers `systematic-debugging` skill. Do not propose or implement source code fixes before completing root cause investigation.
For specific investigation, minimal failing test, fix verification, and keeping the current change verification loop, follow `comet/reference/debug-gate.md`.
### 3. Lightweight Verification (preset verify)

@@ -147,3 +151,3 @@

When upgrade conditions are met, **must use the current platform's available user input/confirmation mechanism to pause and wait for the user to explicitly confirm** upgrading to the full `/comet` workflow. Do not directly enter `/comet-design`, and do not automatically supplement Design Doc. If the current platform has no structured question tool, ask an upgrade confirmation question in the conversation, stop the workflow, and wait for the user's reply before continuing.
When upgrade conditions are met, **must follow the `comet/reference/decision-point.md` protocol to pause and wait for the user to explicitly confirm** upgrading to the full `/comet` workflow. Do not directly enter `/comet-design`, and do not automatically supplement Design Doc.

@@ -170,6 +174,4 @@ After user confirms upgrade, **must first update the workflow and phase fields** before entering full flow:

> **Terminology distinction**: phase guard `--apply` advances the `.comet.yaml` `phase` field. This step **always happens** and is not controlled by `auto_transition`. This section's "automatic handoff" only controls whether to automatically invoke the next skill.
Follow `comet/reference/auto-transition.md`. Key command:
After each phase guard or state transition advances phase, run:
```bash

@@ -179,5 +181,4 @@ "$COMET_BASH" "$COMET_STATE" next <name>

The script determines the next action from `phase`, `workflow`, and `auto_transition`:
- `NEXT: auto` -> invoke the `SKILL` target to continue the tweak flow (`phase: build` returns `comet-tweak`, `verify` returns `comet-verify`, `archive` returns `comet-archive`)
- `NEXT: manual` -> do not invoke the next skill; follow `HINT` and ask the user to run `/<SKILL>` manually
- `NEXT: done` -> workflow is complete; no further action needed
- `NEXT: auto` → invoke the skill pointed to by `SKILL` to continue tweak workflow (`phase: build` returns `comet-tweak`, `verify` returns `comet-verify`, `archive` returns `comet-archive`)
- `NEXT: manual` → do not invoke the next skill; prompt user to manually run `/<SKILL>` per `HINT`
- `NEXT: done` → workflow is complete, no further action needed

@@ -80,7 +80,7 @@ ---

When verification does not pass, **must use the current platform's available user input/confirmation mechanism to pause and wait for the user to decide whether to fix or accept the deviation**. Must not automatically run `"$COMET_BASH" "$COMET_STATE" transition <change-name> verify-fail`, nor automatically invoke `/comet-build`. If the current platform has no structured question tool, ask fix/accept-deviation options in the conversation, stop the workflow, and wait for the user's reply before continuing.
When verification does not pass, **must follow the `comet/reference/decision-point.md` protocol to pause and wait for the user to decide whether to fix or accept the deviation**. Must not automatically run `"$COMET_BASH" "$COMET_STATE" transition <change-name> verify-fail`, nor automatically invoke `/comet-build`.
When pausing, must list:
- Failed items
- Whether CRITICAL (build failure, test failure, security issues, core acceptance scenario failure)
- Whether CRITICAL or IMPORTANT (build failure, test failure, security issues, core acceptance scenario failure, lightweight code review correctness/security/edge-case issue)
- Recommended handling approach

@@ -92,3 +92,3 @@

- **Fix all**: Run `"$COMET_BASH" "$COMET_STATE" transition <change-name> verify-fail`, then invoke `/comet-build` to fix
- **Handle item by item**: CRITICAL failures must be fixed; non-CRITICAL failures may choose to accept deviation, but must record acceptance reason and impact scope in verification report. If any CRITICAL failure exists, skipping fix to accept all is not allowed
- **Handle item by item**: CRITICAL or IMPORTANT failures must be fixed; WARNING/SUGGESTION failures may choose to accept deviation, but must record acceptance reason and impact scope in verification report. If any CRITICAL or IMPORTANT failure exists, skipping fix to accept all is not allowed

@@ -117,3 +117,3 @@ **Retry limit**: After 3 consecutive verify-fail cycles, on the 4th failure the agent must not automatically choose to continue fixing; **must use the current platform's available user input/confirmation mechanism to pause** with only two options: "Accept all deviations and record" or "Continue fixing", for the user to explicitly decide.

Run these 5 checks:
Run these 6 checks:

@@ -125,5 +125,8 @@ 1. All tasks.md tasks completed `[x]`

5. No obvious security issues (no hardcoded keys, no new unsafe operations)
6. Lightweight code review passes: use the Skill tool to load the Superpowers `requesting-code-review` skill and request a lightweight review that checks only correctness, security, and edge cases
**Pass criteria**: All 5 items OK, no CRITICAL issues.
The lightweight code review input should be limited to this change's diff, tasks.md, and necessary test results; the review scope covers implementation correctness, security risk, and edge cases only, and does not perform spec coverage, Design Doc consistency, or drift checks. If the review finds CRITICAL or IMPORTANT issues, treat verification as failed and enter Step 1b.
**Pass criteria**: All 6 items OK, no CRITICAL or IMPORTANT issues.
**When not passing**: Report failures, enter Step 1b verification failure decision blocking point. Only after user confirms fix, execute the following command to record failure and roll back to build phase, then invoke `/comet-build` to fix:

@@ -136,3 +139,3 @@

**Report format**: Brief table listing 5 check results + PASS/FAIL.
**Report format**: Brief table listing 6 check results + PASS/FAIL.

@@ -142,3 +145,3 @@ **Skipped items** (not checked in lightweight verification):

- design doc consistency deep comparison
- code pattern consistency suggestions
- code pattern consistency suggestions that do not affect correctness, security, or edge cases
- delta spec and design doc drift detection

@@ -186,3 +189,3 @@

This is a user decision point. **Must use the current platform's available user input/confirmation mechanism to pause and wait for the user to choose branch handling method**. Must not select based on recommendations, defaults, or current branch status. If the current platform has no structured question tool, ask branch-handling options in the conversation, stop the workflow, and wait for the user's reply before continuing. Only after the user completes selection and the corresponding operation finishes, may `branch_status: handled` be written.
This is a user decision point. **Must follow the `comet/reference/decision-point.md` protocol to pause and wait for the user to choose branch handling method**. Must not select based on recommendations, defaults, or current branch status. Only after the user completes selection and the corresponding operation finishes, may `branch_status: handled` be written.

@@ -224,6 +227,4 @@ **Confirmation items**:

> **Terminology distinction**: the "phase advancement" above is performed by guard `--apply`, which updates the `.comet.yaml` `phase` field. This step **always happens** and is not controlled by `auto_transition`. This section's "automatic handoff" only controls whether to automatically invoke the next skill.
Follow `comet/reference/auto-transition.md`. Key command:
After verification and branch handling are complete, and guard-based phase advancement has completed, run:
```bash

@@ -233,17 +234,10 @@ "$COMET_BASH" "$COMET_STATE" next <change-name>

The script determines the next action from `phase`, `workflow`, and `auto_transition`:
- `NEXT: auto` -> invoke the `SKILL` target to continue to the next phase
- `NEXT: manual` -> do not invoke the next skill; follow `HINT` and ask the user to run `/<SKILL>` manually
- `NEXT: done` -> workflow is complete; no further action needed
- `NEXT: auto` → invoke the skill pointed to by `SKILL` to enter the next phase
- `NEXT: manual` → do not invoke the next skill; prompt user to run `/<SKILL>` manually
- `NEXT: done` → workflow is complete, no further action needed
Note: after `comet-archive` starts, it must first execute the final archive confirmation blocking point and wait for the user to explicitly choose "Confirm archive" before running the archive script. Must not automatically archive just because verification passed.
## Context Compaction Recovery
## Context Compression Recovery
The verify phase may trigger context compaction. To recover, first run:
```bash
"$COMET_BASH" "$COMET_STATE" check <change-name> verify --recover
```
The script outputs structured recovery context (phase, verification status, branch status, recovery action). Follow the Recovery action to determine next step.
Follow `comet/reference/context-recovery.md` with phase set to `verify`.

@@ -30,3 +30,3 @@ # Comet 阶段感知(防漂移规则)

- **executing-plans** / **subagent-driven-development** — build 阶段执行
- **test-driven-development** — build 阶段 `tdd_mode: tdd` 时,第一个 task 前
- **test-driven-development** — `executing-plans` 由主会话在第一个 task 前加载;`subagent-driven-development` 由每个后台 implementer 和修复 agent 加载
- **systematic-debugging** — 遇到崩溃/测试失败/构建失败时

@@ -64,3 +64,3 @@ - **verification-before-completion** — verify 阶段

1. plan 创建后必须询问用户选择继续或暂停(`build_pause` 机制)
2. 每个 task 完成后必须: tasks.md 打勾 → git commit(不得积攒)
2. 每个 task 验收后必须: tasks.md 打勾 → git commit(不得积攒)。`subagent-driven-development` 必须等 spec compliance 与 code quality 两个审查都通过,再由协调者按任务唯一文本定向勾选和验证;不得用未完成任务总表代替当前任务验证
3. 遇到失败必须加载 **systematic-debugging** skill,根因未定位前不得提出源码修复

@@ -85,2 +85,11 @@ 4. spec 变更分级: 小改直接编辑 | 中改加载 brainstorming | 大改暂停等用户确认拆分

**特别注意 `build_mode`**:若恢复脚本输出 `build_mode: subagent-driven-development`,你是协调者,不是执行者。必须:
1. 使用 Skill 工具重新加载 Superpowers `subagent-driven-development` 技能 (Use the Skill tool to reload the Superpowers `subagent-driven-development` skill)
2. 读取 `comet/reference/subagent-dispatch.md` 获取 Comet 专属扩展 (re-read `comet/reference/subagent-dispatch.md` for Comet-specific extensions)
3. 读取 `openspec/changes/<name>/.comet/subagent-progress.md` 恢复精确阶段、证据和审查-修复轮次 (Read `openspec/changes/<name>/.comet/subagent-progress.md` to recover the exact stage, evidence, and review-fix round)
4. 禁止在主会话中直接执行 task (Do not execute the pending task directly in the main window)
5. 按检查点恢复;缺失或不匹配时才从第一个未勾选 task 开始
6. 已提交但未通过双审查的 task 保持未勾选,继续审查/修复循环
7. task 通过双审查和定向勾选验证后立即继续下一个 task,不得总结或询问是否继续
## 阶段退出后自动过渡

@@ -87,0 +96,0 @@

@@ -13,2 +13,3 @@ #!/bin/bash

# scale <change-name> — Assess and set verification mode based on metrics
# task-checkoff <file> <task-text> — Verify one unique task is checked
#

@@ -1028,2 +1029,55 @@ # Workflows: full, hotfix, tweak

cmd_task_checkoff() {
local task_file="$1"
local task_text="$2"
validate_path_field "$task_file" "task file"
if [ -z "$task_text" ]; then
red "ERROR: Task text cannot be empty" >&2
exit 1
fi
if [ ! -f "$task_file" ]; then
red "ERROR: Task file not found: $task_file" >&2
exit 1
fi
local counts
counts=$(TASK_TEXT="$task_text" awk '
BEGIN {
task = ENVIRON["TASK_TEXT"]
}
{
sub(/\r$/, "")
if ($0 == "- [ ] " task || $0 == "- [x] " task || $0 == "- [X] " task) {
total++
}
if ($0 == "- [x] " task || $0 == "- [X] " task) {
checked++
}
}
END {
printf "%d %d\n", total + 0, checked + 0
}
' "$task_file")
local total="${counts%% *}"
local checked="${counts##* }"
if [ "$total" -ne 1 ]; then
red "ERROR: task text must appear exactly once in $task_file (found $total): $task_text" >&2
exit 1
fi
if [ "$checked" -ne 1 ]; then
red "ERROR: task is not checked in $task_file: $task_text" >&2
exit 1
fi
echo "TASK_CHECKOFF: PASS"
echo "FILE: $task_file"
echo "TASK: $task_text"
}
# Resolve the next workflow step after a guard --apply phase advance.

@@ -1160,2 +1214,9 @@ # Reads the (already advanced) phase, workflow, and auto_transition, then emits

;;
task-checkoff)
if [ $# -lt 2 ]; then
red "Usage: comet-state.sh task-checkoff <file> <task-text>" >&2
exit 1
fi
cmd_task_checkoff "$@"
;;
next)

@@ -1180,2 +1241,3 @@ if [ $# -lt 1 ]; then

echo " scale <change-name> — Assess and set verification mode based on metrics" >&2
echo " task-checkoff <file> <task-text> — Verify one unique task is checked" >&2
echo " next <change-name> — Resolve the next workflow step (auto/manual/done)" >&2

@@ -1182,0 +1244,0 @@ echo "" >&2

@@ -123,3 +123,3 @@ ---

**Decision points are blocking points**: whenever reaching any of the following nodes, the current `/comet` invocation must stop, **using the current platform's available user input/confirmation mechanism to wait for the user's choice**. If the current platform has no structured question tool, ask clear options in the conversation and stop the workflow, waiting for the user's reply before continuing. Only after the user explicitly chooses can the corresponding state fields be written and operations executed, then auto-advance resumes.
**Decision points are blocking points**: whenever reaching any of the following nodes, the current `/comet` invocation must stop, and follow the `comet/reference/decision-point.md` protocol to obtain the user's explicit choice. Only after the user explicitly chooses can the corresponding state fields be written and operations executed, then auto-advance resumes.

@@ -183,54 +183,4 @@ Nodes requiring user participation (pause only at these nodes):

### .comet.yaml Field Reference
### State Machine Hard Constraints
```yaml
workflow: full
phase: build
design_doc: docs/superpowers/specs/YYYY-MM-DD-topic-design.md
plan: docs/superpowers/plans/YYYY-MM-DD-feature.md
base_ref: a1b2c3d4e5f6...
build_mode: subagent-driven-development
build_pause: null
subagent_dispatch: confirmed
tdd_mode: tdd
isolation: branch
verify_mode: light
verify_result: pending
verification_report: null
branch_status: pending
created_at: 2026-05-26
verified_at: null
archived: false
```
| Field | Meaning |
|-------|---------|
| `workflow` | `full`, `hotfix`, or `tweak` |
| `phase` | Current phase: `open`, `design`, `build`, `verify`, `archive` (init sets to `open` uniformly, guard handles transitions) |
| `design_doc` | Associated Superpowers Design Doc path, can be empty |
| `plan` | Associated Superpowers Plan path, can be empty |
| `base_ref` | Git commit SHA recorded at init, used for scale assessment. Serves as fallback when no plan exists |
| `build_mode` | Selected execution method, can be empty |
| `build_pause` | Internal build-phase pause point. `null` means no pause; `plan-ready` means the plan has been generated and the user chose to pause for switching models |
| `subagent_dispatch` | `null` or `confirmed`. Only when the current platform has confirmed real background subagent / Task / multi-agent dispatch capability can `build_mode: subagent-driven-development` be written and used to leave the build phase |
| `tdd_mode` | `tdd` or `direct`. Must be selected before full workflow leaves build phase. `tdd` enforces writing a failing test first for each task; `direct` does not enforce TDD. hotfix/tweak default to `direct` |
| `isolation` | `branch` or `worktree`, workspace isolation method. Full workflow init may leave this as `null`, but only until `/comet-build` Step 3; hotfix/tweak default to `branch` |
| `verify_mode` | `light` or `full`, can be empty |
| `auto_transition` | `true` or `false`. `false` pauses only the next skill invocation; it does not block phase updates |
| `verify_result` | `pending`, `pass`, or `fail` |
| `verification_report` | Verification report file path; must point to an existing file before verify can pass |
| `branch_status` | `pending` or `handled`; set to `handled` after branch handling completes |
| `created_at` | Change creation date (auto-set at init), format `YYYY-MM-DD` |
| `verified_at` | Verification pass time, can be empty |
| `archived` | Whether change is archived |
Optional fields:
| Field | Meaning |
|-------|---------|
| `direct_override` | `true`/`false`. Full workflow may use `build_mode: direct` only when this is explicitly `true` |
| `build_command` | Project build command. Guard runs this first and prints failure output |
| `verify_command` | Project verification command. Verify guard runs this first; if absent, it falls back to the build command |
State-machine hard constraints:
- Before `build → verify`, `isolation` must be `branch` or `worktree`

@@ -244,2 +194,26 @@ - Before `build → verify`, `build_mode` must be selected

### .comet.yaml Field Reference
See `comet/reference/comet-yaml-fields.md` for complete field reference with examples and descriptions.
### File Structure
See `comet/reference/file-structure.md` for the complete directory layout and artifact organization.
### Auto-Transition Protocol
See `comet/reference/auto-transition.md` for the complete automatic handoff workflow.
### Context Recovery
See `comet/reference/context-recovery.md` for structured recovery after context compression.
### Decision Point Protocol
See `comet/reference/decision-point.md` for the complete user decision point protocol.
### Debug Gate Protocol
See `comet/reference/debug-gate.md` for the complete debug gate protocol.
### Script Location

@@ -288,3 +262,3 @@

Output format: `NEXT: auto|manual|done` + `SKILL: <skill-name>` (omitted for `done`) + `HINT` (for `manual` only). With `auto_transition: false`, output is `manual`, which pauses only the next skill invocation and does not affect the already-applied phase advancement.
Output format: `NEXT: auto|manual|done` + `SKILL: <skill-name>` (omitted for `done`) + `HINT` (for `manual` only). With `auto_transition: false`, output is `manual`, which pauses only the next skill invocation and does not block phase updates.

@@ -299,24 +273,3 @@ **Archive script**: Complete all archive steps in one command:

### File Structure
```
openspec/ # OpenSpec — WHAT
├── config.yaml
├── changes/
│ ├── <name>/ # Active change
│ │ ├── .openspec.yaml
│ │ ├── .comet.yaml
│ │ ├── proposal.md # Why + What
│ │ ├── design.md # High-level architecture decisions
│ │ ├── specs/<capability>/spec.md # Delta capability spec
│ │ ├── .comet/handoff/ # Script-generated phase handoff packages
│ │ └── tasks.md # Task checklist
│ └── archive/YYYY-MM-DD-<name>/ # Archived
└── specs/<capability>/spec.md # Main specs (merged from delta semantics at archive)
docs/superpowers/ # Superpowers — HOW
├── specs/YYYY-MM-DD-<topic>-design.md # Design doc (technical RFC, mark status at archive)
└── plans/YYYY-MM-DD-<feature>.md # Implementation plan (file header contains change association metadata)
```
### Best Practices

@@ -323,0 +276,0 @@

@@ -7,2 +7,3 @@ import { Command, Option } from 'commander';

import { updateCommand } from '../commands/update.js';
import { uninstallCommand } from '../commands/uninstall.js';
const require = createRequire(import.meta.url);

@@ -64,3 +65,21 @@ const { version } = require('../../package.json');

});
program
.command('uninstall [path]')
.description('Remove Comet skills, rules, and hooks from your project or global scope')
.option('--json', 'Output as JSON')
.addOption(new Option('--scope <scope>', 'Uninstall scope').choices(['global', 'project']))
.option('--force', 'Skip confirmation prompts')
.action(async (targetPath = '.', options) => {
try {
await uninstallCommand(targetPath, options);
}
catch (error) {
if (error instanceof Error && error.name === 'ExitPromptError') {
console.log('\n Cancelled.\n');
process.exit(0);
}
throw error;
}
});
program.parse();
//# sourceMappingURL=index.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}

@@ -1,1 +0,1 @@

{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAIA,OAAO,EAA0C,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAY9F,KAAK,WAAW,GAAG;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,YAAY,CAAC;CACtB,CAAC;AAGF,KAAK,eAAe,GAAG,WAAW,GAAG,MAAM,GAAG,SAAS,CAAC;AACxD,KAAK,mBAAmB,GAAG,eAAe,GAAG,UAAU,GAAG,QAAQ,CAAC;AAUnE,KAAK,aAAa,GAAG;IACnB,QAAQ,EAAE,eAAe,CAAC;IAC1B,QAAQ,EAAE,eAAe,CAAC;IAC1B,QAAQ,EAAE,eAAe,CAAC;CAC3B,CAAC;AAmFF,iBAAS,wBAAwB,CAAC,CAAC,SAAS,aAAa,EACvD,IAAI,EAAE,CAAC,EACP,MAAM,EAAE,OAAO,CAAC,mBAAmB,EAAE,QAAQ,CAAC,EAC9C,WAAW,CAAC,EAAE;IAAE,EAAE,CAAC,EAAE,OAAO,CAAC;IAAC,EAAE,CAAC,EAAE,OAAO,CAAC;IAAC,EAAE,CAAC,EAAE,OAAO,CAAA;CAAE,GACzD,CAAC,CAUH;AA+DD,wBAAsB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA8N9F;AAED,OAAO,EAAE,wBAAwB,EAAE,CAAC"}
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAIA,OAAO,EAA0C,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAa9F,KAAK,WAAW,GAAG;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,YAAY,CAAC;CACtB,CAAC;AAGF,KAAK,eAAe,GAAG,WAAW,GAAG,MAAM,GAAG,SAAS,CAAC;AACxD,KAAK,mBAAmB,GAAG,eAAe,GAAG,UAAU,GAAG,QAAQ,CAAC;AAUnE,KAAK,aAAa,GAAG;IACnB,QAAQ,EAAE,eAAe,CAAC;IAC1B,QAAQ,EAAE,eAAe,CAAC;IAC1B,QAAQ,EAAE,eAAe,CAAC;CAC3B,CAAC;AAmFF,iBAAS,wBAAwB,CAAC,CAAC,SAAS,aAAa,EACvD,IAAI,EAAE,CAAC,EACP,MAAM,EAAE,OAAO,CAAC,mBAAmB,EAAE,QAAQ,CAAC,EAC9C,WAAW,CAAC,EAAE;IAAE,EAAE,CAAC,EAAE,OAAO,CAAC;IAAC,EAAE,CAAC,EAAE,OAAO,CAAC;IAAC,EAAE,CAAC,EAAE,OAAO,CAAA;CAAE,GACzD,CAAC,CAUH;AA+DD,wBAAsB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6N9F;AAED,OAAO,EAAE,wBAAwB,EAAE,CAAC"}

@@ -9,3 +9,4 @@ import path from 'path';

import { installSuperpowersForPlatforms } from '../core/superpowers.js';
import { installCodegraph, filterSupportedPlatforms } from '../core/codegraph.js';
import { installCodegraph } from '../core/codegraph.js';
import { printVersionInfo } from '../core/version.js';
const LANGUAGES = [

@@ -137,2 +138,5 @@ { id: 'en', name: 'English', skillsDir: 'skills' },

log(`\n${COMET_BANNER}\n`);
if (!options.json) {
await printVersionInfo(log);
}
log(` Setting up Comet in ${projectPath}\n`);

@@ -254,5 +258,3 @@ const detected = await detectPlatforms(projectPath);

let cgGlobalStatus;
const { supported: cgSupported } = filterSupportedPlatforms(selectedPlatformIds);
const shouldInstallCodegraph = cgSupported.length > 0 &&
!options.json &&
const shouldInstallCodegraph = !options.json &&
(options.yes ||

@@ -268,8 +270,6 @@ (await select({

log('\n Installing CodeGraph...');
cgGlobalStatus = await installCodegraph(projectPath, selectedPlatformIds, scope);
cgGlobalStatus = await installCodegraph(projectPath, scope);
log(` CodeGraph: ${cgGlobalStatus}`);
for (const r of results) {
if (filterSupportedPlatforms([r.platform.id]).supported.length > 0) {
r.codegraph = cgGlobalStatus;
}
r.codegraph = cgGlobalStatus;
}

@@ -276,0 +276,0 @@ }

@@ -1,1 +0,1 @@

{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}

@@ -19,3 +19,3 @@ import { type Platform } from '../core/platforms.js';

}
declare function detectInstalledCometLanguage(baseDir: string, platform: Platform, scope: InstallScope): Promise<SkillLanguage>;
declare function detectInstalledCometLanguage(baseDir: string, platform: Platform, scope?: InstallScope): Promise<SkillLanguage>;
declare function detectInstalledCometTargets(projectPath: string, options?: DetectTargetsOptions): Promise<InstalledCometTarget[]>;

@@ -22,0 +22,0 @@ declare function detectCometPackageScope(projectPath: string, packageRoot?: string): Promise<InstallScope>;

@@ -1,1 +0,1 @@

{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAeA,OAAO,EAAmC,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEtF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAMrD,UAAU,aAAa;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,KAAK,aAAa,GAAG,IAAI,GAAG,IAAI,CAAC;AAEjC,UAAU,oBAAoB;IAC5B,KAAK,EAAE,YAAY,CAAC;IACpB,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,aAAa,CAAC;CACzB;AAED,UAAU,oBAAoB;IAC5B,MAAM,CAAC,EAAE,YAAY,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AA0BD,iBAAe,4BAA4B,CACzC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,aAAa,CAAC,CAmBxB;AAED,iBAAe,2BAA2B,CACxC,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAmBjC;AAOD,iBAAe,uBAAuB,CACpC,WAAW,EAAE,MAAM,EACnB,WAAW,SAAyE,GACnF,OAAO,CAAC,YAAY,CAAC,CAsBvB;AAED,iBAAS,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,EAAE,CAIzD;AAED,iBAAS,sBAAsB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAE3D;AAED,iBAAS,wBAAwB,CAC/B,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,QAAQ,EAClB,iBAAiB,EAAE,MAAM,GACxB,MAAM,CAGR;AAiBD,wBAAsB,aAAa,CACjC,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAuLf;AAED,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,4BAA4B,EAC5B,2BAA2B,EAC3B,sBAAsB,EACtB,wBAAwB,GACzB,CAAC;AACF,YAAY,EAAE,oBAAoB,EAAE,aAAa,EAAE,CAAC"}
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAcA,OAAO,EAAmC,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEtF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAMrD,UAAU,aAAa;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,KAAK,aAAa,GAAG,IAAI,GAAG,IAAI,CAAC;AAEjC,UAAU,oBAAoB;IAC5B,KAAK,EAAE,YAAY,CAAC;IACpB,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,aAAa,CAAC;CACzB;AAED,UAAU,oBAAoB;IAC5B,MAAM,CAAC,EAAE,YAAY,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAuCD,iBAAe,4BAA4B,CACzC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,QAAQ,EAClB,KAAK,GAAE,YAAwB,GAC9B,OAAO,CAAC,aAAa,CAAC,CAmBxB;AAED,iBAAe,2BAA2B,CACxC,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAmBjC;AAOD,iBAAe,uBAAuB,CACpC,WAAW,EAAE,MAAM,EACnB,WAAW,SAAyE,GACnF,OAAO,CAAC,YAAY,CAAC,CAsBvB;AAED,iBAAS,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,EAAE,CAIzD;AAED,iBAAS,sBAAsB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAE3D;AAED,iBAAS,wBAAwB,CAC/B,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,QAAQ,EAClB,iBAAiB,EAAE,MAAM,GACxB,MAAM,CAGR;AAwCD,wBAAsB,aAAa,CACjC,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,IAAI,CAAC,CA+Lf;AAED,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,4BAA4B,EAC5B,2BAA2B,EAC3B,sBAAsB,EACtB,wBAAwB,GACzB,CAAC;AACF,YAAY,EAAE,oBAAoB,EAAE,aAAa,EAAE,CAAC"}
import path from 'path';
import os from 'os';
import { createRequire } from 'module';
import { promises as fs } from 'fs';

@@ -12,6 +11,6 @@ import { fileURLToPath } from 'url';

import { PLATFORMS, getPlatformSkillsDir } from '../core/platforms.js';
import { installCodegraph, filterSupportedPlatforms } from '../core/codegraph.js';
const require = createRequire(import.meta.url);
const { version } = require('../../package.json');
import { installCodegraph } from '../core/codegraph.js';
import { printVersionInfo } from '../core/version.js';
const PACKAGE_NAME = '@rpamis/comet';
const OFFICIAL_REGISTRY = 'https://registry.npmjs.org';
function languageToSkillsDir(language, fallback) {

@@ -23,26 +22,37 @@ return (language ?? fallback) === 'zh' ? 'skills-zh' : 'skills';

}
function getInstalledCometSkillsDirs(baseDir, platform, scope = 'project') {
const dirs = [path.join(baseDir, getPlatformSkillsDir(platform, scope), 'skills')];
if (scope === 'global' && platform.id === 'pi') {
dirs.push(path.join(baseDir, platform.skillsDir, 'skills'));
}
return [...new Set(dirs)];
}
async function hasLocalCometSkills(baseDir, platform, scope) {
const skillsDir = path.join(baseDir, getPlatformSkillsDir(platform, scope), 'skills');
if (!(await fileExists(skillsDir)))
return false;
const entries = await readDir(skillsDir);
return entries.some((entry) => entry.startsWith('comet'));
for (const skillsDir of getInstalledCometSkillsDirs(baseDir, platform, scope)) {
if (!(await fileExists(skillsDir)))
continue;
const entries = await readDir(skillsDir);
if (entries.some((entry) => entry.startsWith('comet')))
return true;
}
return false;
}
async function detectInstalledCometLanguage(baseDir, platform, scope) {
const skillsDir = path.join(baseDir, getPlatformSkillsDir(platform, scope), 'skills');
if (!(await fileExists(skillsDir)))
return 'en';
const entries = (await readDir(skillsDir)).filter((entry) => entry.startsWith('comet'));
for (const entry of entries) {
const skillPath = path.join(skillsDir, entry, 'SKILL.md');
if (!(await fileExists(skillPath)))
async function detectInstalledCometLanguage(baseDir, platform, scope = 'project') {
for (const skillsDir of getInstalledCometSkillsDirs(baseDir, platform, scope)) {
if (!(await fileExists(skillsDir)))
continue;
try {
const content = await fs.readFile(skillPath, 'utf-8');
if (/[\u3400-\u9fff]/u.test(content))
return 'zh';
const entries = (await readDir(skillsDir)).filter((entry) => entry.startsWith('comet'));
for (const entry of entries) {
const skillPath = path.join(skillsDir, entry, 'SKILL.md');
if (!(await fileExists(skillPath)))
continue;
try {
const content = await fs.readFile(skillPath, 'utf-8');
if (/[\u3400-\u9fff]/u.test(content))
return 'zh';
}
catch {
// Fall through to the default English asset set if the file cannot be read.
}
}
catch {
// Fall through to the default English asset set if the file cannot be read.
}
}

@@ -89,4 +99,4 @@ return 'en';

return scope === 'global'
? ['install', '-g', `${PACKAGE_NAME}@latest`]
: ['install', `${PACKAGE_NAME}@latest`];
? ['install', '-g', `${PACKAGE_NAME}@latest`, '--registry', OFFICIAL_REGISTRY]
: ['install', `${PACKAGE_NAME}@latest`, '--registry', OFFICIAL_REGISTRY];
}

@@ -103,9 +113,25 @@ function formatNpmUpdateCommand(scope) {

}
async function updateCometNpmPackage(scope, projectPath) {
async function updateCometNpmPackage(scope, projectPath, log, jsonMode = false) {
const args = buildNpmUpdateArgs(scope);
const cwd = scope === 'global' ? process.cwd() : projectPath;
return new Promise((resolve) => {
const child = spawn(getNpmExecutable(), args, { cwd, stdio: 'inherit', shell: true });
child.on('error', () => resolve(false));
child.on('exit', (code) => resolve(code === 0));
// In JSON mode, discard npm's stdout/stderr so it cannot corrupt the JSON
// document emitted on stdout. 'ignore' avoids the pipe backpressure a
// verbose npm install could otherwise cause.
const child = spawn(getNpmExecutable(), args, {
cwd,
stdio: jsonMode ? 'ignore' : 'inherit',
shell: true,
});
child.on('error', (err) => {
log(` npm package: failed to launch npm — ${err.message}`);
resolve(false);
});
child.on('exit', (code) => {
if (code !== 0) {
log(` npm package: update failed (exit code ${code}). Unable to reach the official npm registry at ${OFFICIAL_REGISTRY}.`);
log(` Check your network connection or firewall settings and try again.`);
}
resolve(code === 0);
});
});

@@ -116,3 +142,7 @@ }

const log = options.json ? () => undefined : console.log;
log(`\n Comet Update v${version}\n`);
log(`\n Comet Update`);
if (!options.json) {
await printVersionInfo(log);
}
log('');
const packageScope = options.scope ?? (await detectCometPackageScope(projectPath));

@@ -123,3 +153,3 @@ let npmStatus = 'skipped';

log(` $ ${formatNpmUpdateCommand(packageScope)}`);
const npmUpdated = await updateCometNpmPackage(packageScope, projectPath);
const npmUpdated = await updateCometNpmPackage(packageScope, projectPath, log, options.json === true);
if (npmUpdated) {

@@ -148,2 +178,3 @@ npmStatus = 'updated';

hooks: { totalInstalled: 0 },
codegraph: 'skipped',
}, null, 2));

@@ -215,6 +246,4 @@ return;

let codegraphStatus = 'skipped';
const detectedPlatformIds = [...new Set(targets.map((t) => t.platform.id))];
const { supported: cgSupported } = filterSupportedPlatforms(detectedPlatformIds);
const primaryScope = targets[0]?.scope ?? 'project';
if (cgSupported.length > 0 && !options.json) {
if (!options.json) {
const shouldInstallCodegraph = await select({

@@ -229,3 +258,3 @@ message: 'Install/update CodeGraph for semantic code intelligence?',

log('\n Installing CodeGraph...');
codegraphStatus = await installCodegraph(projectPath, detectedPlatformIds, primaryScope);
codegraphStatus = await installCodegraph(projectPath, primaryScope);
log(` CodeGraph: ${codegraphStatus}`);

@@ -232,0 +261,0 @@ }

@@ -1,1 +0,1 @@

{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,EACzB,4BAA4B,EAC5B,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAiB,MAAM,sBAAsB,CAAC;AACtF,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAGlF,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAClD,MAAM,YAAY,GAAG,eAAe,CAAC;AAsBrC,SAAS,mBAAmB,CAAC,QAA4B,EAAE,QAAuB;IAChF,OAAO,CAAC,QAAQ,IAAI,QAAQ,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;AAClE,CAAC;AAED,SAAS,gBAAgB,CACvB,KAAmB,EACnB,WAAmB,EACnB,aAAa,GAAG,EAAE,CAAC,OAAO,EAAE;IAE5B,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC;AAC1D,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,OAAe,EACf,QAAkB,EAClB,KAAmB;IAEnB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,oBAAoB,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC;IACtF,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAEjD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC;IACzC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,KAAK,UAAU,4BAA4B,CACzC,OAAe,EACf,QAAkB,EAClB,KAAmB;IAEnB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,oBAAoB,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC;IACtF,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAEhD,MAAM,OAAO,GAAG,CAAC,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IAExF,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAC1D,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC;YAAE,SAAS;QAE7C,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACtD,IAAI,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,OAAO,IAAI,CAAC;QACpD,CAAC;QAAC,MAAM,CAAC;YACP,4EAA4E;QAC9E,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,2BAA2B,CACxC,WAAmB,EACnB,UAAgC,EAAE;IAElC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAK,CAAC,SAAS,EAAE,QAAQ,CAAoB,CAAC;IAC3E,MAAM,OAAO,GAA2B,EAAE,CAAC;IAE3C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;QAE5E,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,CAAC,MAAM,mBAAmB,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAAE,SAAS;YAErE,OAAO,CAAC,IAAI,CAAC;gBACX,KAAK;gBACL,QAAQ;gBACR,QAAQ,EAAE,MAAM,4BAA4B,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC;aACvE,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,cAAc,CAAC,SAAiB,EAAE,UAAkB;IAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IAClF,OAAO,QAAQ,KAAK,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;AACvF,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,WAAmB,EACnB,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;IAEpF,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACpF,IAAI,cAAc,CAAC,WAAW,EAAE,gBAAgB,CAAC;QAAE,OAAO,SAAS,CAAC;IAEpE,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IAC/D,IAAI,MAAM,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACtC,MAAM,GAAG,GAAG,MAAM,QAAQ,CAIvB,eAAe,CAAC,CAAC;QAEpB,IACE,GAAG,CAAC,YAAY,EAAE,CAAC,YAAY,CAAC;YAChC,GAAG,CAAC,eAAe,EAAE,CAAC,YAAY,CAAC;YACnC,GAAG,CAAC,oBAAoB,EAAE,CAAC,YAAY,CAAC,EACxC,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAmB;IAC7C,OAAO,KAAK,KAAK,QAAQ;QACvB,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG,YAAY,SAAS,CAAC;QAC7C,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,YAAY,SAAS,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAmB;IACjD,OAAO,CAAC,KAAK,EAAE,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,wBAAwB,CAC/B,KAAmB,EACnB,QAAkB,EAClB,iBAAyB;IAEzB,MAAM,UAAU,GAAG,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAClD,OAAO,eAAe,iBAAiB,OAAO,UAAU,GAAG,oBAAoB,CAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,KAAK,GAAG,CAAC;AACxH,CAAC;AAED,SAAS,gBAAgB;IACvB,OAAO,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;AAC1D,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,KAAmB,EAAE,WAAmB;IAC3E,MAAM,IAAI,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,GAAG,GAAG,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;IAE7D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACtF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QACxC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,UAAkB,EAClB,UAAyB,EAAE;IAE3B,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7C,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;IAEzD,GAAG,CAAC,qBAAqB,OAAO,IAAI,CAAC,CAAC;IAEtC,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,MAAM,uBAAuB,CAAC,WAAW,CAAC,CAAC,CAAC;IACnF,IAAI,SAAS,GAAqC,SAAS,CAAC;IAC5D,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACrB,GAAG,CAAC,2BAA2B,YAAY,YAAY,CAAC,CAAC;QACzD,GAAG,CAAC,SAAS,sBAAsB,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACrD,MAAM,UAAU,GAAG,MAAM,qBAAqB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QAC1E,IAAI,UAAU,EAAE,CAAC;YACf,SAAS,GAAG,SAAS,CAAC;YACtB,GAAG,CAAC,oCAAoC,YAAY,EAAE,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,SAAS,GAAG,QAAQ,CAAC;YACrB,GAAG,CAAC,8DAA8D,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,2BAA2B,CAAC,WAAW,EAAE;QAC7D,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;KACpD,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CACZ;gBACE,GAAG,EAAE;oBACH,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY;oBACjD,MAAM,EAAE,SAAS;oBACjB,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,sBAAsB,CAAC,YAAY,CAAC;iBACvE;gBACD,MAAM,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;gBACvC,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE;gBACzB,KAAK,EAAE,EAAE,cAAc,EAAE,CAAC,EAAE;aAC7B,EACD,IAAI,EACJ,CAAC,CACF,CACF,CAAC;YACF,OAAO;QACT,CAAC;QACD,GAAG,CAAC,yEAAyE,CAAC,CAAC;QAC/E,OAAO;IACT,CAAC;IAED,GAAG,CAAC,gCAAgC,OAAO,CAAC,MAAM,uBAAuB,CAAC,CAAC;IAC3E,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC;QACrD,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,WAAW,GAAG,CAAC;QACrF,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QACjF,GAAG,CAAC,SAAS,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,UAAU,KAAK,QAAQ,GAAG,CAAC,CAAC;QAClE,GAAG,CAAC,WAAW,wBAAwB,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE,iBAAiB,CAAC,EAAE,CAAC,CAAC;IAC/F,CAAC;IAED,4CAA4C;IAC5C,GAAG,CAAC,eAAe,CAAC,MAAM,iBAAiB,EAAE,CAAC,CAAC,MAAM,mBAAmB,CAAC,CAAC;IAE1E,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,gBAAgB,GAAG,CAAC,CAAC;IACzB,IAAI,mBAAmB,GAAG,CAAC,CAAC;IAC5B,MAAM,aAAa,GAAG,EAAE,CAAC;IACzB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QACtD,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QACjF,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,0BAA0B,CAC1D,OAAO,EACP,MAAM,CAAC,QAAQ,EACf,IAAI,EACJ,iBAAiB,EACjB,MAAM,CAAC,KAAK,CACb,CAAC;QACF,WAAW,IAAI,MAAM,CAAC;QACtB,aAAa,CAAC,IAAI,CAAC;YACjB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE;YAC5B,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;YAClC,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ;YAC7C,MAAM,EAAE,iBAAiB;YACzB,MAAM;YACN,OAAO;YACP,OAAO,EAAE,wBAAwB,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE,iBAAiB,CAAC;SACpF,CAAC,CAAC;QACH,GAAG,CACD,KAAK,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC,KAAK,KAAK,iBAAiB,MAAM,MAAM,YAAY,OAAO,UAAU,CAC1G,CAAC;QAEF,6DAA6D;QAC7D,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,yBAAyB,CAC5D,OAAO,EACP,MAAM,CAAC,QAAQ,EACf,IAAI,EACJ,MAAM,CAAC,KAAK,CACb,CAAC;YACF,gBAAgB,IAAI,UAAU,CAAC;YAC/B,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;gBACnB,GAAG,CAAC,oBAAoB,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,UAAU,kBAAkB,CAAC,CAAC;YACjF,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,oBAAoB,MAAM,CAAC,QAAQ,CAAC,IAAI,aAAc,GAAa,CAAC,OAAO,GAAG,CAAC,CAAC;QACtF,CAAC;QAED,gDAAgD;QAChD,IAAI,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;YAClC,IAAI,CAAC;gBACH,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,4BAA4B,CAC9D,OAAO,EACP,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,KAAK,CACb,CAAC;gBACF,IAAI,SAAS,EAAE,CAAC;oBACd,mBAAmB,EAAE,CAAC;oBACtB,GAAG,CAAC,oBAAoB,MAAM,CAAC,QAAQ,CAAC,IAAI,4BAA4B,CAAC,CAAC;gBAC5E,CAAC;qBAAM,IAAI,MAAM,EAAE,CAAC;oBAClB,GAAG,CAAC,oBAAoB,MAAM,CAAC,QAAQ,CAAC,IAAI,cAAc,MAAM,GAAG,CAAC,CAAC;gBACvE,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,oBAAoB,MAAM,CAAC,QAAQ,CAAC,IAAI,aAAc,GAAa,CAAC,OAAO,GAAG,CAAC,CAAC;YACtF,CAAC;QACH,CAAC;IACH,CAAC;IAED,0BAA0B;IAC1B,IAAI,eAAe,GAAuC,SAAS,CAAC;IACpE,MAAM,mBAAmB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5E,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,wBAAwB,CAAC,mBAAmB,CAAC,CAAC;IACjF,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,SAAS,CAAC;IAEpD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAC5C,MAAM,sBAAsB,GAAG,MAAM,MAAM,CAAC;YAC1C,OAAO,EAAE,0DAA0D;YACnE,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,4DAA4D,EAAE,KAAK,EAAE,IAAI,EAAE;gBACnF,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE;aAC7B;SACF,CAAC,CAAC;QAEH,IAAI,sBAAsB,EAAE,CAAC;YAC3B,GAAG,CAAC,6BAA6B,CAAC,CAAC;YACnC,eAAe,GAAG,MAAM,gBAAgB,CAAC,WAAW,EAAE,mBAAmB,EAAE,YAAY,CAAC,CAAC;YACzF,GAAG,CAAC,gBAAgB,eAAe,EAAE,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,wBAAwB,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CACZ;YACE,GAAG,EAAE;gBACH,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY;gBACjD,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,sBAAsB,CAAC,YAAY,CAAC;aACvE;YACD,MAAM,EAAE;gBACN,WAAW;gBACX,OAAO,EAAE,aAAa;aACvB;YACD,KAAK,EAAE,EAAE,WAAW,EAAE,gBAAgB,EAAE;YACxC,KAAK,EAAE,EAAE,cAAc,EAAE,mBAAmB,EAAE;YAC9C,SAAS,EAAE,eAAe;SAC3B,EACD,IAAI,EACJ,CAAC,CACF,CACF,CAAC;QACF,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1F,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpF,GAAG,CAAC,cAAc,CAAC,CAAC;IACpB,GAAG,CAAC,YAAY,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,YAAY,GAAG,EAAE,CAAC,CAAC;IAC3E,GAAG,CAAC,eAAe,OAAO,CAAC,MAAM,eAAe,WAAW,gBAAgB,CAAC,CAAC;IAC7E,GAAG,CAAC,kBAAkB,eAAe,EAAE,CAAC,CAAC;IACzC,GAAG,CAAC,cAAc,MAAM,EAAE,CAAC,CAAC;IAC5B,GAAG,CAAC,iBAAiB,SAAS,EAAE,CAAC,CAAC;IAClC,GAAG,CAAC,wBAAwB,CAAC,CAAC;AAChC,CAAC;AAED,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,4BAA4B,EAC5B,2BAA2B,EAC3B,sBAAsB,EACtB,wBAAwB,GACzB,CAAC"}
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"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"}
import type { InstallScope } from './types.js';
declare const CODEGRAPH_SUPPORTED_TARGETS: Record<string, string>;
declare function filterSupportedPlatforms(platformIds: string[]): {
supported: string[];
unsupported: string[];
};
declare function installCodegraph(projectPath: string, platformIds: string[], scope: InstallScope): Promise<'installed' | 'failed' | 'skipped'>;
export { installCodegraph, filterSupportedPlatforms, CODEGRAPH_SUPPORTED_TARGETS };
declare function installCodegraph(projectPath: string, scope: InstallScope): Promise<'installed' | 'failed' | 'skipped'>;
export { installCodegraph };
//# sourceMappingURL=codegraph.d.ts.map

@@ -1,1 +0,1 @@

{"version":3,"file":"codegraph.d.ts","sourceRoot":"","sources":["../../src/core/codegraph.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,QAAA,MAAM,2BAA2B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAQvD,CAAC;AAEF,iBAAS,wBAAwB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG;IACxD,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB,CAaA;AAuBD,iBAAe,gBAAgB,CAC7B,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EAAE,EACrB,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC,CA+D7C;AAED,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,2BAA2B,EAAE,CAAC"}
{"version":3,"file":"codegraph.d.ts","sourceRoot":"","sources":["../../src/core/codegraph.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAuB/C,iBAAe,gBAAgB,CAC7B,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC,CAwC7C;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
import { execFileSync } from 'child_process';
import { isCommandAvailable, getNpmExecutable } from './openspec.js';
import { printCommandErrorDetails } from './command-error.js';
const CODEGRAPH_SUPPORTED_TARGETS = {
claude: 'claude',
cursor: 'cursor',
codex: 'codex',
opencode: 'opencode',
gemini: 'gemini',
kiro: 'kiro',
antigravity: 'antigravity',
};
function filterSupportedPlatforms(platformIds) {
const supported = [];
const unsupported = [];
for (const id of platformIds) {
if (CODEGRAPH_SUPPORTED_TARGETS[id]) {
supported.push(CODEGRAPH_SUPPORTED_TARGETS[id]);
}
else {
unsupported.push(id);
}
}
return { supported, unsupported };
}
async function ensureCodegraphCli(projectPath) {

@@ -46,13 +24,3 @@ if (isCommandAvailable('codegraph')) {

}
async function installCodegraph(projectPath, platformIds, scope) {
const { supported, unsupported } = filterSupportedPlatforms(platformIds);
if (supported.length === 0) {
if (unsupported.length > 0) {
console.log(` CodeGraph: no supported platforms among selected (${unsupported.join(', ')}). Skipping.`);
}
return 'skipped';
}
if (unsupported.length > 0) {
console.log(` CodeGraph: skipping unsupported platforms: ${unsupported.join(', ')}`);
}
async function installCodegraph(projectPath, scope) {
const cliReady = await ensureCodegraphCli(projectPath);

@@ -63,6 +31,5 @@ if (!cliReady) {

}
const location = scope === 'global' ? 'global' : 'local';
try {
console.log(` Running: codegraph install --target=${supported.join(',')} --location=${location} --yes`);
execFileSync('codegraph', ['install', `--target=${supported.join(',')}`, `--location=${location}`, '--yes'], {
console.log(' Running: codegraph install --yes');
execFileSync('codegraph', ['install', '--yes'], {
cwd: projectPath,

@@ -97,3 +64,3 @@ stdio: 'inherit',

}
export { installCodegraph, filterSupportedPlatforms, CODEGRAPH_SUPPORTED_TARGETS };
export { installCodegraph };
//# sourceMappingURL=codegraph.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"codegraph.js","sourceRoot":"","sources":["../../src/core/codegraph.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"codegraph.js","sourceRoot":"","sources":["../../src/core/codegraph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAI9D,KAAK,UAAU,kBAAkB,CAAC,WAAmB;IACnD,IAAI,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IAC/C,IAAI,CAAC;QACH,YAAY,CAAC,gBAAgB,EAAE,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,yBAAyB,CAAC,EAAE;YAC7E,GAAG,EAAE,WAAW;YAChB,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE,OAAO;YAChB,KAAK,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO;SACpC,CAAC,CAAC;QACH,OAAO,kBAAkB,CAAC,WAAW,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,wCAAyC,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAClF,wBAAwB,CAAC,KAAK,CAAC,CAAC;QAChC,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,WAAmB,EACnB,KAAmB;IAEnB,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,WAAW,CAAC,CAAC;IACvD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,CACX,2FAA2F,CAC5F,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;QACpD,YAAY,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE;YAC9C,GAAG,EAAE,WAAW;YAChB,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE,OAAO;YAChB,KAAK,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO;SACpC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,iCAAkC,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3E,wBAAwB,CAAC,KAAK,CAAC,CAAC;QAChC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;YAC9C,YAAY,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;gBACxC,GAAG,EAAE,WAAW;gBAChB,KAAK,EAAE,SAAS;gBAChB,OAAO,EAAE,OAAO;gBAChB,KAAK,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO;aACpC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,8BAA+B,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;YACxE,wBAAwB,CAAC,KAAK,CAAC,CAAC;YAChC,OAAO,QAAQ,CAAC;QAClB,CAAC;IACH,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC"}

@@ -9,6 +9,13 @@ import { type Platform } from './platforms.js';

declare function hasPluginSuperpowers(): Promise<boolean>;
/**
* Check if superpowers are installed via OpenCode plugin system.
* Checks multiple locations:
* 1. ~/.config/opencode/superpowers/skills/ — plugin source directory
* 2. ~/.config/opencode/opencode.json — plugin config with superpowers entry
*/
declare function hasOpenCodePluginSuperpowers(): Promise<boolean>;
declare function detectPlatforms(projectPath: string): Promise<Set<string>>;
declare function hasSkills(baseDir: string, platform: Platform, component: 'openspec' | 'superpowers' | 'comet', _selectedPlatforms?: Platform[], scope?: InstallScope): Promise<boolean>;
export { detectPlatforms, hasSkills, hasPluginSuperpowers, getBaseDir };
export { detectPlatforms, hasSkills, hasPluginSuperpowers, hasOpenCodePluginSuperpowers, getBaseDir, };
export type { InstallScope };
//# sourceMappingURL=detect.d.ts.map

@@ -1,1 +0,1 @@

{"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../../src/core/detect.ts"],"names":[],"mappings":"AAIA,OAAO,EAAoC,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAEjF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAU/C,iBAAS,UAAU,CAAC,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAEpE;AAED;;;GAGG;AACH,iBAAe,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC,CAmBtD;AAWD,iBAAe,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAuBxE;AAED,iBAAe,SAAS,CACtB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,UAAU,GAAG,aAAa,GAAG,OAAO,EAC/C,kBAAkB,GAAE,QAAQ,EAAO,EACnC,KAAK,GAAE,YAAwB,GAC9B,OAAO,CAAC,OAAO,CAAC,CAqElB;AAED,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,oBAAoB,EAAE,UAAU,EAAE,CAAC;AACxE,YAAY,EAAE,YAAY,EAAE,CAAC"}
{"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../../src/core/detect.ts"],"names":[],"mappings":"AAIA,OAAO,EAAoC,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAEjF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAU/C,iBAAS,UAAU,CAAC,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAEpE;AAED;;;GAGG;AACH,iBAAe,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC,CAmBtD;AAED;;;;;GAKG;AACH,iBAAe,4BAA4B,IAAI,OAAO,CAAC,OAAO,CAAC,CA8B9D;AAWD,iBAAe,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAuBxE;AAED,iBAAe,SAAS,CACtB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,UAAU,GAAG,aAAa,GAAG,OAAO,EAC/C,kBAAkB,GAAE,QAAQ,EAAO,EACnC,KAAK,GAAE,YAAwB,GAC9B,OAAO,CAAC,OAAO,CAAC,CA0ElB;AAED,OAAO,EACL,eAAe,EACf,SAAS,EACT,oBAAoB,EACpB,4BAA4B,EAC5B,UAAU,GACX,CAAC;AACF,YAAY,EAAE,YAAY,EAAE,CAAC"}
import path from 'path';
import os from 'os';
import { fileExists, readDir } from '../utils/file-system.js';
import { fileExists, readDir, readJson } from '../utils/file-system.js';
import { PLATFORMS, getPlatformSkillsDirs } from './platforms.js';

@@ -38,2 +38,36 @@ const SUPERPOWERS_SKILLS = [

}
/**
* Check if superpowers are installed via OpenCode plugin system.
* Checks multiple locations:
* 1. ~/.config/opencode/superpowers/skills/ — plugin source directory
* 2. ~/.config/opencode/opencode.json — plugin config with superpowers entry
*/
async function hasOpenCodePluginSuperpowers() {
const opencodeDir = process.env.OPENCODE_CONFIG_DIR || path.join(os.homedir(), '.config', 'opencode');
// Check plugin source directory: ~/.config/opencode/superpowers/skills/
const pluginSkillsDir = path.join(opencodeDir, 'superpowers', 'skills');
if (await fileExists(pluginSkillsDir)) {
const skills = await readDir(pluginSkillsDir);
if (SUPERPOWERS_SKILLS.some((name) => skills.includes(name))) {
return true;
}
}
// Check opencode.json config for superpowers plugin entry
const configPath = path.join(opencodeDir, 'opencode.json');
if (await fileExists(configPath)) {
try {
const config = (await readJson(configPath));
const plugins = config.plugin;
if (Array.isArray(plugins)) {
if (plugins.some((entry) => typeof entry === 'string' && entry.includes('superpowers'))) {
return true;
}
}
}
catch {
// Invalid JSON or unreadable — skip
}
}
return false;
}
async function hasOpenCodeCometCommands(baseDir, skillsDir, entries) {

@@ -137,5 +171,10 @@ const cometEntries = entries.filter((entry) => entry.startsWith('comet'));

}
// Check OpenCode plugin system for plugin-installed superpowers
if (component === 'superpowers' && platform.id === 'opencode') {
if (await hasOpenCodePluginSuperpowers())
return true;
}
return false;
}
export { detectPlatforms, hasSkills, hasPluginSuperpowers, getBaseDir };
export { detectPlatforms, hasSkills, hasPluginSuperpowers, hasOpenCodePluginSuperpowers, getBaseDir, };
//# sourceMappingURL=detect.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"detect.js","sourceRoot":"","sources":["../../src/core/detect.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"detect.js","sourceRoot":"","sources":["../../src/core/detect.ts"],"names":[],"mappings":"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"}
import type { InstallScope } from './types.js';
declare function getNpmExecutable(platform?: NodeJS.Platform): string;
declare function buildOpenSpecInitInvocation(projectPath: string, toolIds: string[], scope: InstallScope, homeDir?: string): {
declare function buildOpenSpecInitInvocation(projectPath: string, toolIds: string[], scope: InstallScope, homeDir?: string, includeProfileFlag?: boolean): {
command: string;

@@ -5,0 +5,0 @@ args: string[];

@@ -1,1 +0,1 @@

{"version":3,"file":"openspec.d.ts","sourceRoot":"","sources":["../../src/core/openspec.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAiB/C,iBAAS,gBAAgB,CAAC,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAAG,MAAM,CAE9E;AAED,iBAAS,2BAA2B,CAClC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EAAE,EACjB,KAAK,EAAE,YAAY,EACnB,OAAO,SAAe,GACrB;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAMrC;AA0GD,iBAAS,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAQpD;AA2BD,iBAAS,4BAA4B,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CA+C3D;AAED,iBAAe,eAAe,CAC5B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EAAE,EACjB,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC,CA8C7C;AAED,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,2BAA2B,EAC3B,gBAAgB,EAChB,4BAA4B,GAC7B,CAAC"}
{"version":3,"file":"openspec.d.ts","sourceRoot":"","sources":["../../src/core/openspec.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAiB/C,iBAAS,gBAAgB,CAAC,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAAG,MAAM,CAE9E;AAED,iBAAS,2BAA2B,CAClC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EAAE,EACjB,KAAK,EAAE,YAAY,EACnB,OAAO,SAAe,EACtB,kBAAkB,UAAO,GACxB;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAOrC;AA0GD,iBAAS,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAQpD;AA+BD,iBAAS,4BAA4B,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CA+C3D;AAED,iBAAe,eAAe,CAC5B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EAAE,EACjB,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC,CAqE7C;AAED,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,2BAA2B,EAC3B,gBAAgB,EAChB,4BAA4B,GAC7B,CAAC"}

@@ -24,8 +24,9 @@ import { execFileSync } from 'child_process';

}
function buildOpenSpecInitInvocation(projectPath, toolIds, scope, homeDir = os.homedir()) {
function buildOpenSpecInitInvocation(projectPath, toolIds, scope, homeDir = os.homedir(), includeProfileFlag = true) {
const targetPath = scope === 'global' ? homeDir : projectPath;
return {
command: 'openspec',
args: ['init', targetPath, '--tools', toolIds.join(','), '--profile', 'custom'],
};
const args = ['init', targetPath, '--tools', toolIds.join(',')];
if (includeProfileFlag) {
args.push('--profile', 'custom');
}
return { command: 'openspec', args };
}

@@ -132,6 +133,5 @@ const ALL_WORKFLOWS_CONFIG = JSON.stringify({

async function ensureOpenSpecCli(scope, projectPath) {
if (isCommandAvailable('openspec')) {
return true;
}
console.log(` Installing OpenSpec CLI...`);
const alreadyInstalled = isCommandAvailable('openspec');
const label = alreadyInstalled ? 'Upgrading' : 'Installing';
console.warn(` ${label} OpenSpec CLI...`);
try {

@@ -150,2 +150,6 @@ const npmArgs = scope === 'global'

catch (error) {
if (alreadyInstalled) {
console.warn(` OpenSpec upgrade failed, using existing version: ${error.message}`);
return true;
}
console.error(` Failed to install OpenSpec CLI: ${error.message}`);

@@ -217,12 +221,31 @@ printCommandErrorDetails(error);

const openspecEnv = createOpenSpecAllWorkflowsEnv();
const invocation = buildOpenSpecInitInvocation(projectPath, toolIds, scope);
configHome = openspecEnv.configHome;
configBackup = writeAllWorkflowsToDefaultConfig();
execFileSync(invocation.command, invocation.args, {
cwd: projectPath,
env: openspecEnv.env,
stdio: 'inherit',
timeout: 120_000,
shell: process.platform === 'win32',
});
const invocation = buildOpenSpecInitInvocation(projectPath, toolIds, scope);
try {
execFileSync(invocation.command, invocation.args, {
cwd: projectPath,
env: openspecEnv.env,
stdio: ['inherit', 'inherit', 'pipe'],
timeout: 120_000,
shell: process.platform === 'win32',
});
}
catch (firstError) {
const stderrText = firstError.stderr?.toString() ?? '';
if (stderrText.includes('unknown option') && stderrText.includes('--profile')) {
console.warn(' OpenSpec does not support --profile flag, retrying without it...');
const fallbackInvocation = buildOpenSpecInitInvocation(projectPath, toolIds, scope, os.homedir(), false);
execFileSync(fallbackInvocation.command, fallbackInvocation.args, {
cwd: projectPath,
env: openspecEnv.env,
stdio: 'inherit',
timeout: 120_000,
shell: process.platform === 'win32',
});
}
else {
throw firstError;
}
}
if (scope === 'global' && toolIds.includes('opencode')) {

@@ -229,0 +252,0 @@ migrateOpenCodeOpenSpecPaths(os.homedir());

@@ -1,1 +0,1 @@

{"version":3,"file":"openspec.js","sourceRoot":"","sources":["../../src/core/openspec.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"openspec.js","sourceRoot":"","sources":["../../src/core/openspec.ts"],"names":[],"mappings":"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"}

@@ -1,1 +0,1 @@

{"version":3,"file":"platforms.d.ts","sourceRoot":"","sources":["../../src/core/platforms.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,sHAAsH;IACtH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8OAA8O;IAC9O,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oIAAoI;IACpI,WAAW,CAAC,EAAE,IAAI,GAAG,KAAK,GAAG,SAAS,CAAC;IACvC,uDAAuD;IACvD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,qGAAqG;IACrG,UAAU,CAAC,EAAE,aAAa,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CAC5F;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,GAAG,MAAM,CAKpF;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,GAAG,MAAM,EAAE,CAEvF;AAED,eAAO,MAAM,SAAS,EAAE,QAAQ,EA8M/B,CAAC"}
{"version":3,"file":"platforms.d.ts","sourceRoot":"","sources":["../../src/core/platforms.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,sHAAsH;IACtH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8OAA8O;IAC9O,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oIAAoI;IACpI,WAAW,CAAC,EAAE,IAAI,GAAG,KAAK,GAAG,SAAS,CAAC;IACvC,uDAAuD;IACvD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,qGAAqG;IACrG,UAAU,CAAC,EAAE,aAAa,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CAC5F;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,GAAG,MAAM,CAKpF;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,GAAG,MAAM,EAAE,CAEvF;AAED,eAAO,MAAM,SAAS,EAAE,QAAQ,EA2N/B,CAAC"}

@@ -178,2 +178,9 @@ /**

{
id: 'kimicode',
name: 'Kimi Code',
skillsDir: '.kimi-code',
globalSkillsDir: '.kimi-code',
openspecToolId: 'kimi',
},
{
id: 'lingma',

@@ -193,4 +200,10 @@ name: 'Lingma',

{ id: 'iflow', name: 'iFlow', skillsDir: '.iflow', openspecToolId: 'iflow' },
{ id: 'pi', name: 'Pi', skillsDir: '.pi', openspecToolId: 'pi' },
{
id: 'pi',
name: 'Pi',
skillsDir: '.pi',
globalSkillsDir: '.pi/agent',
openspecToolId: 'pi',
},
{
id: 'qoder',

@@ -197,0 +210,0 @@ name: 'Qoder',

@@ -1,1 +0,1 @@

{"version":3,"file":"platforms.js","sourceRoot":"","sources":["../../src/core/platforms.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"platforms.js","sourceRoot":"","sources":["../../src/core/platforms.ts"],"names":[],"mappings":"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"}

@@ -38,2 +38,3 @@ import { type Platform } from './platforms.js';

}>;
declare function computeRuleDestPath(rulesDestDir: string, ruleFileName: string, rulesFormat: string): string;
/**

@@ -54,5 +55,6 @@ * Install Comet hooks for platforms that support them.

}>;
declare function isManagedHookCommand(command: unknown, scriptRelPaths: string[]): boolean;
declare function createWorkingDirs(projectPath: string): Promise<void>;
export { copyCometSkillsForPlatform, copyCometRulesForPlatform, installCometHooksForPlatform, readManifest, getManifestSkills, createWorkingDirs, getAssetsDir, };
export { copyCometSkillsForPlatform, copyCometRulesForPlatform, installCometHooksForPlatform, readManifest, getManifestSkills, createWorkingDirs, getAssetsDir, computeRuleDestPath, isManagedHookCommand, };
export type { Manifest, LanguageConfig };
//# sourceMappingURL=skills.d.ts.map

@@ -1,1 +0,1 @@

{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/core/skills.ts"],"names":[],"mappings":"AAKA,OAAO,EAAwB,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAK/C,KAAK,cAAc,GAAG;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,KAAK,UAAU,GAAG;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,KAAK,QAAQ,GAAG;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACnC,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;CAC9B,CAAC;AAOF,iBAAS,YAAY,IAAI,MAAM,CAE9B;AAED,iBAAe,0BAA0B,CACvC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,OAAO,EAClB,iBAAiB,GAAE,MAAiB,EACpC,KAAK,GAAE,YAAwB,GAC9B,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAiD9C;AAgED,iBAAe,YAAY,IAAI,OAAO,CAAC,QAAQ,CAAC,CAI/C;AAED,iBAAe,iBAAiB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAGpD;AAED;;;;;;;GAOG;AACH,iBAAe,yBAAyB,CACtC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,OAAO,EAClB,KAAK,GAAE,YAAwB,GAC9B,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAmD9C;AAwCD;;;;;;;;;;GAUG;AACH,iBAAe,4BAA4B,CACzC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,QAAQ,EAClB,KAAK,GAAE,YAAwB,GAC9B,OAAO,CAAC;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAoClD;AAyTD,iBAAe,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAenE;AAED,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,EACzB,4BAA4B,EAC5B,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,GACb,CAAC;AACF,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC"}
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/core/skills.ts"],"names":[],"mappings":"AAKA,OAAO,EAAwB,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAK/C,KAAK,cAAc,GAAG;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,KAAK,UAAU,GAAG;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,KAAK,QAAQ,GAAG;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACnC,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;CAC9B,CAAC;AASF,iBAAS,YAAY,IAAI,MAAM,CAE9B;AAED,iBAAe,0BAA0B,CACvC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,OAAO,EAClB,iBAAiB,GAAE,MAAiB,EACpC,KAAK,GAAE,YAAwB,GAC9B,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CA6D9C;AA6ID,iBAAe,YAAY,IAAI,OAAO,CAAC,QAAQ,CAAC,CAI/C;AAED,iBAAe,iBAAiB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAGpD;AAED;;;;;;;GAOG;AACH,iBAAe,yBAAyB,CACtC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,OAAO,EAClB,KAAK,GAAE,YAAwB,GAC9B,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAmD9C;AAED,iBAAS,mBAAmB,CAC1B,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,GAClB,MAAM,CASR;AAyBD;;;;;;;;;;GAUG;AACH,iBAAe,4BAA4B,CACzC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,QAAQ,EAClB,KAAK,GAAE,YAAwB,GAC9B,OAAO,CAAC;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAoClD;AAOD,iBAAS,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,OAAO,CAYjF;AA8SD,iBAAe,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAenE;AAED,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,EACzB,4BAA4B,EAC5B,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,EACnB,oBAAoB,GACrB,CAAC;AACF,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC"}

@@ -12,2 +12,3 @@ import path from 'path';

`;
const PI_COMMAND_EXTENSION_FILE = 'comet-commands.ts';
function getAssetsDir() {

@@ -50,4 +51,68 @@ return path.resolve(__dirname, '..', '..', 'assets');

}
if (platform.id === 'pi') {
const result = await createPiCommandExtension(baseDir, platform, manifest.skills, overwrite, scope);
copied += result.copied;
skippedCount += result.skipped;
}
return { copied, skipped: skippedCount };
}
function getTopLevelSkillNames(skillPaths) {
return skillPaths.flatMap((skillPath) => {
const parts = skillPath.split('/');
return parts.length === 2 && parts[1] === 'SKILL.md' ? [parts[0]] : [];
});
}
function renderPiCommandExtension(skillNames) {
return `import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
const commands = ${JSON.stringify(skillNames, null, 2)} as const;
export default function registerCometCommands(pi: ExtensionAPI) {
for (const name of commands) {
pi.registerCommand(name, {
description: \`Comet: /\${name}\`,
handler: async (args) => {
pi.sendUserMessage(args ? \`/skill:\${name} \${args}\` : \`/skill:\${name}\`);
},
});
}
}
`;
}
async function createPiCommandExtension(baseDir, platform, skillPaths, overwrite, scope) {
const platformBase = path.join(baseDir, getPlatformSkillsDir(platform, scope));
const settingsPath = path.join(platformBase, 'settings.json');
const extensionPath = path.join(platformBase, 'extensions', PI_COMMAND_EXTENSION_FILE);
let settings = {};
if (await fileExists(settingsPath)) {
try {
const parsed = JSON.parse(await readFile(settingsPath, 'utf-8'));
if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) {
throw new Error('expected a JSON object');
}
settings = parsed;
}
catch (err) {
throw new Error(`Invalid Pi settings at ${settingsPath}: ${err.message}`, {
cause: err,
});
}
}
let copied = 0;
let skipped = 0;
if (settings.enableSkillCommands !== true) {
settings.enableSkillCommands = true;
await ensureDir(path.dirname(settingsPath));
await writeFile(settingsPath, JSON.stringify(settings, null, 2) + '\n', 'utf-8');
copied++;
}
if (!overwrite && (await fileExists(extensionPath))) {
skipped++;
return { copied, skipped };
}
await ensureDir(path.dirname(extensionPath));
await writeFile(extensionPath, renderPiCommandExtension(getTopLevelSkillNames(skillPaths)), 'utf-8');
copied++;
return { copied, skipped };
}
function stripFrontmatter(content) {

@@ -245,3 +310,42 @@ if (!content.startsWith('---\n') && !content.startsWith('---\r\n')) {

}
function isManagedHookCommand(command, scriptRelPaths) {
if (typeof command !== 'string')
return false;
const commandPath = command
.trim()
.match(/^bash\s+["']?([^"'\s]+)["']?(?:\s|$)/)?.[1]
?.replace(/\\/g, '/');
if (!commandPath)
return false;
return scriptRelPaths.some((scriptRelPath) => commandPath.endsWith(`/skills/${scriptRelPath.replace(/\\/g, '/')}`));
}
function mergeHookGroups(existingGroups, newGroups, scriptRelPaths) {
const mergedGroups = existingGroups.flatMap((group) => {
if (!Array.isArray(group.hooks))
return [group];
const hooks = group.hooks.filter((hook) => !isManagedHookCommand(hook.command, scriptRelPaths));
if (hooks.length === 0 && group.hooks.length > 0)
return [];
return [{ ...group, hooks }];
});
for (const newGroup of newGroups) {
const existingGroup = mergedGroups.find((group) => group.matcher === newGroup.matcher && Array.isArray(group.hooks));
if (existingGroup) {
existingGroup.hooks = [...existingGroup.hooks, ...newGroup.hooks];
}
else {
mergedGroups.push(newGroup);
}
}
return mergedGroups;
}
/**
* Coerce a parsed hooks group into an array. Hand-edited settings files may
* store a group as an object or scalar; treat anything non-array as empty so
* downstream merge/filter logic cannot throw on malformed input.
*/
function asHookGroup(value) {
return Array.isArray(value) ? value : [];
}
/**
* Claude Code, Codex, Amazon Q format:

@@ -272,12 +376,4 @@ * Writes to settings.local.json with { hooks: { PreToolUse: [...] } }

const existingHooks = settings.hooks ?? {};
const existingPreToolUse = existingHooks.PreToolUse ?? [];
// Deduplicate by matcher — replace existing entries with the same matcher
const matchersSeen = new Set();
const merged = [];
for (const entry of [...newEntries, ...existingPreToolUse]) {
if (!matchersSeen.has(entry.matcher)) {
matchersSeen.add(entry.matcher);
merged.push(entry);
}
}
const existingPreToolUse = asHookGroup(existingHooks.PreToolUse);
const merged = mergeHookGroups(existingPreToolUse, newEntries, Object.keys(hooksConfig));
settings.hooks = { ...existingHooks, PreToolUse: merged };

@@ -320,12 +416,5 @@ await ensureDir(path.dirname(settingsPath));

const existingHooks = settings.hooks ?? {};
const existingPreToolUse = existingHooks.PreToolUse ?? [];
// Add entries that don't already exist (match by description in nested hooks)
const existingDescs = new Set(existingPreToolUse.flatMap((g) => g.hooks?.map((h) => h.description) ?? []));
for (const entry of preToolUseEntries) {
const hasNew = entry.hooks.some((h) => !existingDescs.has(h.description));
if (hasNew) {
existingPreToolUse.push(entry);
}
}
settings.hooks = { ...existingHooks, PreToolUse: existingPreToolUse };
const existingPreToolUse = asHookGroup(existingHooks.PreToolUse);
const merged = mergeHookGroups(existingPreToolUse, preToolUseEntries, Object.keys(hooksConfig));
settings.hooks = { ...existingHooks, PreToolUse: merged };
await ensureDir(path.dirname(settingsPath));

@@ -364,11 +453,5 @@ await writeFile(settingsPath, JSON.stringify(settings, null, 2) + '\n', 'utf-8');

const existingHooks = settings.hooks ?? {};
const existingBeforeTool = existingHooks.BeforeTool ?? [];
const existingNames = new Set(existingBeforeTool.flatMap((g) => g.hooks?.map((h) => h.name) ?? []));
for (const entry of entries) {
const hasNew = entry.hooks.some((h) => !existingNames.has(h.name));
if (hasNew) {
existingBeforeTool.push(entry);
}
}
settings.hooks = { ...existingHooks, BeforeTool: existingBeforeTool };
const existingBeforeTool = asHookGroup(existingHooks.BeforeTool);
const merged = mergeHookGroups(existingBeforeTool, entries, Object.keys(hooksConfig));
settings.hooks = { ...existingHooks, BeforeTool: merged };
await ensureDir(path.dirname(settingsPath));

@@ -385,3 +468,3 @@ await writeFile(settingsPath, JSON.stringify(settings, null, 2) + '\n', 'utf-8');

const entries = [];
for (const [scriptRelPath, config] of Object.entries(hooksConfig)) {
for (const [scriptRelPath] of Object.entries(hooksConfig)) {
entries.push({

@@ -402,11 +485,6 @@ command: buildHookCommand(skillsDir, scriptRelPath),

const existingHooks = hooksFile.hooks ?? {};
const existingPreWrite = existingHooks.pre_write_code ?? [];
// Add entries that don't already exist (match by command substring)
const existingCmds = new Set(existingPreWrite.map((e) => e.command ?? ''));
for (const entry of entries) {
if (!existingCmds.has(entry.command)) {
existingPreWrite.push(entry);
}
}
hooksFile.hooks = { ...existingHooks, pre_write_code: existingPreWrite };
const existingPreWrite = asHookGroup(existingHooks.pre_write_code);
const merged = existingPreWrite.filter((entry) => !isManagedHookCommand(entry.command, Object.keys(hooksConfig)));
merged.push(...entries);
hooksFile.hooks = { ...existingHooks, pre_write_code: merged };
await ensureDir(path.dirname(hooksPath));

@@ -449,3 +527,2 @@ await writeFile(hooksPath, JSON.stringify(hooksFile, null, 2) + '\n', 'utf-8');

// Map Write|Edit matcher to Kiro's write tool category
const kiroEvent = config.matcher === 'Write|Edit' ? 'Pre Tool Use' : 'Pre Tool Use';
const toolName = config.matcher === 'Write|Edit' ? 'write' : '*';

@@ -485,3 +562,3 @@ const hookConfig = {

}
export { copyCometSkillsForPlatform, copyCometRulesForPlatform, installCometHooksForPlatform, readManifest, getManifestSkills, createWorkingDirs, getAssetsDir, };
export { copyCometSkillsForPlatform, copyCometRulesForPlatform, installCometHooksForPlatform, readManifest, getManifestSkills, createWorkingDirs, getAssetsDir, computeRuleDestPath, isManagedHookCommand, };
//# sourceMappingURL=skills.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/core/skills.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/core/skills.ts"],"names":[],"mappings":"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"}

@@ -1,1 +0,1 @@

{"version":3,"file":"superpowers.d.ts","sourceRoot":"","sources":["../../src/core/superpowers.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,QAAA,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CA6BnD,CAAC;AAOF,iBAAS,8BAA8B,CACrC,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,YAAY,EACnB,WAAW,EAAE,MAAM,EAAE,GACpB;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAwBrC;AAED,iBAAS,kCAAkC,IAAI;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAKjF;AAwDD,iBAAe,8BAA8B,CAC3C,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,YAAY,EACnB,WAAW,EAAE,MAAM,EAAE,GACpB,OAAO,CAAC,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC,CAiC7C;AAED,OAAO,EACL,8BAA8B,EAC9B,8BAA8B,EAC9B,kCAAkC,EAClC,gBAAgB,GACjB,CAAC"}
{"version":3,"file":"superpowers.d.ts","sourceRoot":"","sources":["../../src/core/superpowers.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,QAAA,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CA8BnD,CAAC;AAOF,iBAAS,8BAA8B,CACrC,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,YAAY,EACnB,WAAW,EAAE,MAAM,EAAE,GACpB;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAwBrC;AAED,iBAAS,kCAAkC,IAAI;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAKjF;AAwDD,iBAAe,8BAA8B,CAC3C,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,YAAY,EACnB,WAAW,EAAE,MAAM,EAAE,GACpB,OAAO,CAAC,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC,CAiC7C;AAED,OAAO,EACL,8BAA8B,EAC9B,8BAA8B,EAC9B,kCAAkC,EAClC,gBAAgB,GACjB,CAAC"}

@@ -23,2 +23,3 @@ import { execFileSync } from 'child_process';

kiro: 'kiro-cli',
kimicode: 'kimi-code-cli',
lingma: null,

@@ -25,0 +26,0 @@ junie: 'junie',

@@ -1,1 +0,1 @@

{"version":3,"file":"superpowers.js","sourceRoot":"","sources":["../../src/core/superpowers.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"superpowers.js","sourceRoot":"","sources":["../../src/core/superpowers.ts"],"names":[],"mappings":"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"}
/**
* Ensure a directory exists, creating it recursively if needed.
* Resolves symlinks so that broken symlink targets are created correctly.
*/

@@ -7,2 +8,5 @@ export declare function ensureDir(dir: string): Promise<void>;

* Copy a file from src to dest, creating parent directories if needed.
* Resolves symlinks in the destination path so files are written to the
* actual target location when dest contains symlinks (e.g., skill dirs
* symlinked from ~/.claude/skills/ to ~/.agents/skills/).
*/

@@ -20,2 +24,3 @@ export declare function copyFile(src: string, dest: string): Promise<void>;

* Write content to a file, creating parent directories if needed.
* Resolves symlinks so files are written to the actual target location.
*/

@@ -27,2 +32,20 @@ export declare function writeFile(filePath: string, content: string): Promise<void>;

export declare function readDir(dirPath: string): Promise<string[]>;
/**
* Remove a file. Returns true if the file existed and was removed.
* Operates on the path directly so a symlink entry is removed rather than its
* resolved target (avoids deleting files the symlink merely points at).
*/
export declare function removeFile(filePath: string): Promise<boolean>;
/**
* Remove a directory recursively. Returns true if the directory existed and was removed.
* Symlinked directories are unlinked directly rather than recursed into, so the
* directory a symlink points at is never deleted.
*/
export declare function removeDir(dirPath: string): Promise<boolean>;
/**
* Check if a directory is empty. A missing directory is treated as empty;
* unreadable directories (permissions/IO) return false so callers never delete
* a directory they could not inspect.
*/
export declare function isDirEmpty(dirPath: string): Promise<boolean>;
//# sourceMappingURL=file-system.d.ts.map

@@ -1,1 +0,1 @@

{"version":3,"file":"file-system.d.ts","sourceRoot":"","sources":["../../src/utils/file-system.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,wBAAsB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE1D;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGvE;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOnE;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAAC,CAAC,GAAG,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAGxE;AAED;;GAEG;AACH,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGhF;AAED;;GAEG;AACH,wBAAsB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAWhE"}
{"version":3,"file":"file-system.d.ts","sourceRoot":"","sources":["../../src/utils/file-system.ts"],"names":[],"mappings":"AAiCA;;;GAGG;AACH,wBAAsB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG1D;AAED;;;;;GAKG;AACH,wBAAsB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIvE;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOnE;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAAC,CAAC,GAAG,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAGxE;AAED;;;GAGG;AACH,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIhF;AAED;;GAEG;AACH,wBAAsB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAWhE;AAYD;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQnE;AAED;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAajE;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOlE"}
import { promises as fs } from 'fs';
import path from 'path';
/**
* Resolve symlinks in a path, handling broken symlinks by following their
* readlink target. Falls back to the original path if resolution fails.
*/
async function resolveSymlinkPath(filePath) {
try {
return await fs.realpath(filePath);
}
catch {
// Path doesn't fully exist — walk up to find the deepest existing ancestor
const dir = path.dirname(filePath);
if (dir === filePath)
return filePath; // filesystem root
const resolvedDir = await resolveSymlinkPath(dir);
const base = path.basename(filePath);
// Check if this segment is a broken symlink and follow its target
try {
const stat = await fs.lstat(path.join(resolvedDir, base));
if (stat.isSymbolicLink()) {
const target = await fs.readlink(path.join(resolvedDir, base));
return path.resolve(resolvedDir, target);
}
}
catch {
// Segment doesn't exist — return as-is
}
return path.join(resolvedDir, base);
}
}
/**
* Ensure a directory exists, creating it recursively if needed.
* Resolves symlinks so that broken symlink targets are created correctly.
*/
export async function ensureDir(dir) {
await fs.mkdir(dir, { recursive: true });
const resolved = await resolveSymlinkPath(dir);
await fs.mkdir(resolved, { recursive: true });
}
/**
* Copy a file from src to dest, creating parent directories if needed.
* Resolves symlinks in the destination path so files are written to the
* actual target location when dest contains symlinks (e.g., skill dirs
* symlinked from ~/.claude/skills/ to ~/.agents/skills/).
*/
export async function copyFile(src, dest) {
await ensureDir(path.dirname(dest));
await fs.copyFile(src, dest);
const resolvedDest = await resolveSymlinkPath(dest);
await ensureDir(path.dirname(resolvedDest));
await fs.copyFile(src, resolvedDest);
}

@@ -37,6 +72,8 @@ /**

* Write content to a file, creating parent directories if needed.
* Resolves symlinks so files are written to the actual target location.
*/
export async function writeFile(filePath, content) {
await ensureDir(path.dirname(filePath));
await fs.writeFile(filePath, content, 'utf-8');
const resolved = await resolveSymlinkPath(filePath);
await ensureDir(path.dirname(resolved));
await fs.writeFile(resolved, content, 'utf-8');
}

@@ -58,2 +95,60 @@ /**

}
/**
* Returns true when an error means the path was simply not found. ENOENT is
* the only non-fatal outcome for the removal helpers below; all other errors
* (permissions, IO) are reported as failures instead of being masked as
* "already gone".
*/
function isNotFoundError(error) {
return error?.code === 'ENOENT';
}
/**
* Remove a file. Returns true if the file existed and was removed.
* Operates on the path directly so a symlink entry is removed rather than its
* resolved target (avoids deleting files the symlink merely points at).
*/
export async function removeFile(filePath) {
try {
await fs.unlink(filePath);
return true;
}
catch {
// Not found or failed (permissions/IO): nothing was removed.
return false;
}
}
/**
* Remove a directory recursively. Returns true if the directory existed and was removed.
* Symlinked directories are unlinked directly rather than recursed into, so the
* directory a symlink points at is never deleted.
*/
export async function removeDir(dirPath) {
try {
// lstat does not follow symlinks; unlink a symlinked dir instead of rm-ing its target.
const stat = await fs.lstat(dirPath);
if (stat.isSymbolicLink()) {
await fs.unlink(dirPath);
return true;
}
await fs.rm(dirPath, { recursive: true, force: true });
return true;
}
catch (error) {
return isNotFoundError(error);
}
}
/**
* Check if a directory is empty. A missing directory is treated as empty;
* unreadable directories (permissions/IO) return false so callers never delete
* a directory they could not inspect.
*/
export async function isDirEmpty(dirPath) {
try {
const entries = await fs.readdir(dirPath);
return entries.length === 0;
}
catch (error) {
return isNotFoundError(error);
}
}
//# sourceMappingURL=file-system.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"file-system.js","sourceRoot":"","sources":["../../src/utils/file-system.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,GAAW;IACzC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAC3C,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,GAAW,EAAE,IAAY;IACtD,MAAM,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACpC,MAAM,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,QAAgB;IAC/C,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAc,QAAgB;IAC1D,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACrD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAM,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,QAAgB,EAAE,OAAe;IAC/D,MAAM,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxC,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,OAAe;IAC3C,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,GAAI,KAA+B,EAAE,IAAI,CAAC;QACpD,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YAC5C,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
{"version":3,"file":"file-system.js","sourceRoot":"","sources":["../../src/utils/file-system.ts"],"names":[],"mappings":"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"}
{
"name": "@rpamis/comet",
"version": "0.3.7",
"version": "0.3.8",
"description": "OpenSpec + Superpowers dual-star development workflow",

@@ -42,6 +42,9 @@ "keywords": [

"benchmark:execution": "node scripts/context-execution-benchmark.mjs",
"prepare": "pnpm run build",
"prepare": "husky && pnpm run build",
"prepublishOnly": "node scripts/prepublish-check.js && pnpm run build",
"postinstall": "node scripts/postinstall.js"
},
"lint-staged": {
"src/**/*.{ts,tsx,js,mjs,cjs,json,md,yaml,yml}": "prettier --write"
},
"packageManager": "pnpm@10.18.3",

@@ -56,2 +59,4 @@ "engines": {

"eslint": "^10.4.0",
"husky": "^9.1.7",
"lint-staged": "^17.0.7",
"prettier": "^3.8.3",

@@ -58,0 +63,0 @@ "typescript": "^5.9.3",

@@ -220,2 +220,21 @@ <p align="center">

<details>
<summary><code>comet uninstall [path]</code> — Remove Comet skills, rules, and hooks</summary>
Safely removes Comet-distributed skills, rules, and hooks from all detected platforms. Preserves user-defined hooks and non-Comet configuration.
| Option | Description |
|-------------------|------------------------------------------------|
| `--force` | Skip confirmation prompt |
| `--scope <scope>` | Uninstall only `global` or `project` scope |
| `--json` | Output removal results as JSON |
```bash
comet uninstall # Interactive — shows targets, asks for confirmation
comet uninstall --force # Non-interactive — removes everything immediately
comet uninstall --scope project # Only remove project-level installations
```
</details>
| Command | Description |

@@ -228,3 +247,3 @@ |-------------------|--------------|

`comet init` supports 28 AI coding platforms:
`comet init` supports 29 AI coding platforms:

@@ -243,9 +262,10 @@ <details>

| Kilo Code | `.kilocode/` | Auggie | `.augment/` |
| Kiro | `.kiro/` | Lingma | `.lingma/` |
| Junie | `.junie/` | CodeBuddy | `.codebuddy/` |
| CoStrict | `.cospec/` | Crush | `.crush/` |
| Factory Droid | `.factory/` | iFlow | `.iflow/` |
| Pi | `.pi/` | Qoder | `.qoder/` |
| Antigravity | `.agents/` | Bob Shell | `.bob/` |
| ForgeCode | `.forge/` | Trae | `.trae/` |
| Kimi Code | `.kimi-code/`| Kiro | `.kiro/` |
| Lingma | `.lingma/` | Junie | `.junie/` |
| CodeBuddy | `.codebuddy/`| CoStrict | `.cospec/` |
| Crush | `.crush/` | Factory Droid | `.factory/` |
| iFlow | `.iflow/` | Pi | `.pi/` |
| Qoder | `.qoder/` | Antigravity | `.agents/` |
| Bob Shell | `.bob/` | ForgeCode | `.forge/` |
| Trae | `.trae/` | | |

@@ -252,0 +272,0 @@ </details>