Skip to content
Merged
Show file tree
Hide file tree
Changes from 24 commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
409ddee
fix(skills): resolve symlinks before copying skill files
benym Jun 11, 2026
34a061d
fix(openspec): always upgrade to latest and retry without --profile
benym Jun 11, 2026
cedf527
Merge branch 'worktree-fix+symlink-skill-copy' into hotfix
benym Jun 11, 2026
8faead7
fix: force LF line endings for JS/TS files to fix npm shebang issue o…
benym Jun 11, 2026
021ea4b
docs: add changelog for v0.3.8 and bump version
benym Jun 11, 2026
68ef6f3
feat(skills): extract subagent dispatch protocol and sync English skills
benym Jun 11, 2026
a958c2e
refactor(skills): extract shared protocol docs for progressive loading
benym Jun 11, 2026
85013e4
fix(codegraph): use auto-detect install instead of platform filtering
benym Jun 11, 2026
a4063ab
refactor(subagent): enhance subagent-driven development with strict C…
benym Jun 11, 2026
2c045bd
feat: update documentation to reference decision point and debug gate…
benym Jun 12, 2026
b021445
fix(hooks): preserve user-defined hooks during Comet hook configurati…
benym Jun 12, 2026
c777c08
docs: design OpenSpec artifact rules compliance
benym Jun 12, 2026
5ea16cf
fix(SKILL): enforce explicit user confirmation and standard artifact …
benym Jun 12, 2026
57651df
feat(cli): add command to remove Comet skills, rules, and hooks
benym Jun 12, 2026
f614d97
feat(cli): add version info and update check to init and update commands
benym Jun 12, 2026
d05b5a5
feat(cli): enforce official npm registry for comet package updates
benym Jun 12, 2026
d39174a
fix(core): detect OpenCode plugin-installed Superpowers correctly
benym Jun 12, 2026
cf05f80
docs: design Pi slash command extension
benym Jun 13, 2026
088977d
fix(pi): register Comet slash commands
benym Jun 13, 2026
e9e109f
chore(docs): remove outdated docs
benym Jun 13, 2026
1777b9d
merge: integrate master before v0.3.8 release
benym Jun 13, 2026
ac60be5
fix(ci): correct Windows path escaping in init-e2e verification
benym Jun 13, 2026
4397805
chore(ci): add husky pre-commit formatting hook
benym Jun 13, 2026
b6f3248
fix: address PR #106 review findings
benym Jun 13, 2026
3857023
test(skills): handle malformed hook groups without throwing
benym Jun 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .claude/settings.local.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"hooks": [
{
"type": "command",
"command": "bash assets/skills/comet/scripts/comet-hook-guard.sh"
"command": "bash .claude/skills/comet/scripts/comet-hook-guard.sh"
}
]
}
Expand Down
12 changes: 12 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,5 +1,17 @@
* text=auto

*.js text eol=lf
*.mjs text eol=lf
*.ts text eol=lf
*.json text eol=lf
*.md text eol=lf
*.yaml text eol=lf
*.yml text eol=lf
*.sh text eol=lf
*.bash text eol=lf
*.bats text eol=lf
.husky/* text eol=lf

*.png binary
*.jpg binary
*.jpeg binary
6 changes: 5 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,8 @@ jobs:
check_file "$PROJ/$sd/comet/scripts/comet-yaml-validate.sh"
check_file "$PROJ/$sd/comet/scripts/comet-archive.sh"
done
check_file "$PROJ/.pi/extensions/comet-commands.ts"
PROJ="$PROJ" node -e "const s=require(process.env.PROJ+'/.pi/settings.json'); if(s.enableSkillCommands!==true) process.exit(1)"
echo "All 29 platforms project Comet skills: OK"
shell: bash

Expand Down Expand Up @@ -217,7 +219,7 @@ jobs:
.gemini/skills .amazonq/skills .qwen/skills .kilocode/skills \
.augment/skills .kiro/skills .kimi-code/skills .lingma/skills .junie/skills \
.codebuddy/skills .cospec/skills .crush/skills .factory/skills \
.iflow/skills .pi/skills .qoder/skills .gemini/antigravity/skills \
.iflow/skills .pi/agent/skills .qoder/skills .gemini/antigravity/skills \
.bob/skills .forge/skills .trae/skills .github/skills; do
check_file "$HOME_DIR/$sd/comet/SKILL.md"
check_file "$HOME_DIR/$sd/comet/scripts/comet-guard.sh"
Expand All @@ -226,6 +228,8 @@ jobs:
check_file "$HOME_DIR/$sd/comet/scripts/comet-yaml-validate.sh"
check_file "$HOME_DIR/$sd/comet/scripts/comet-archive.sh"
done
check_file "$HOME_DIR/.pi/agent/extensions/comet-commands.ts"
HOME_DIR="$HOME_DIR" node -e "const s=require(process.env.HOME_DIR+'/.pi/agent/settings.json'); if(s.enableSkillCommands!==true) process.exit(1)"
echo "All 29 platforms global Comet skills: OK"
shell: bash

Expand Down
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -85,4 +85,6 @@ skills-lock.json
# Superpowers docs (local only)
docs/superpowers/

.codegraph/
.codegraph/

.comet/
1 change: 1 addition & 0 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
pnpm exec lint-staged
29 changes: 29 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,21 @@ npx vitest run test/ts/comet-scripts.test.ts # shell 脚本测试
npx vitest run # 全量测试
```

## 提交前检查

仓库已配置 Git pre-commit 钩子(husky + lint-staged),每次 `git commit` 会自动对 `src/` 下的暂存源文件运行 `prettier --write`(与 CI `format:check` 范围一致),编辑器无关,所有贡献者生效。

提交前建议手动确认(CI 会强制检查):

```bash
pnpm format:check # Prettier 格式检查
pnpm lint # ESLint
pnpm build # TypeScript 构建
pnpm test # 单元测试
```

注:本地 Windows 若 `core.autocrlf=true`,未改动的旧文件可能因 CRLF 被 `prettier --check` 误报;钩子只处理暂存文件,不受影响,旧文件下次编辑时会自动转为 LF。

## Shell 脚本规范

脚本位于 `assets/skills/comet/scripts/`,必须跨平台兼容(macOS / Linux / Windows Git Bash):
Expand Down Expand Up @@ -37,6 +52,12 @@ skill 优化时先写中文版本(`assets/skills-zh/`),用户确认后再

## Changelog 规范

每次代码产生变更你都应该在完成后写Changelog,并确定是否需要升级版本号,版本号只会比master分支的版本号大一个版本,你需要确定一下当前master的版本号后做决定

如果当前已经有了一个比master大的版本Changelog,则应该追加到同一个版本的Changelog条目下

如果修改的是Skill内容,则需要等中英文完全同步之后再写Changelog

文件:`CHANGELOG.md`,新版本条目置顶。

```
Expand All @@ -53,3 +74,11 @@ skill 优化时先写中文版本(`assets/skills-zh/`),用户确认后再
- 按类型分组:Added → Changed → Fixed → Tests → Removed → Security
- 描述侧重 **行为变更**(what + why),不是实现细节
- `### Tests` 条目汇总新增测试覆盖的场景,不逐条列出测试用例

## 修改Skill规范

不能够直接修改Superpowers和OpenSpec的原始Skill

## github规范

不能未经过同意直接在github上评论或者提交PR
59 changes: 55 additions & 4 deletions CHANGELOG.md

Large diffs are not rendered by default.

29 changes: 29 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,21 @@ npx vitest run test/ts/comet-scripts.test.ts # shell 脚本测试
npx vitest run # 全量测试
```

## 提交前检查

仓库已配置 Git pre-commit 钩子(husky + lint-staged),每次 `git commit` 会自动对 `src/` 下的暂存源文件运行 `prettier --write`(与 CI `format:check` 范围一致),编辑器无关,所有贡献者生效。

提交前建议手动确认(CI 会强制检查):

```bash
pnpm format:check # Prettier 格式检查
pnpm lint # ESLint
pnpm build # TypeScript 构建
pnpm test # 单元测试
```

注:本地 Windows 若 `core.autocrlf=true`,未改动的旧文件可能因 CRLF 被 `prettier --check` 误报;钩子只处理暂存文件,不受影响,旧文件下次编辑时会自动转为 LF。

## Shell 脚本规范

脚本位于 `assets/skills/comet/scripts/`,必须跨平台兼容(macOS / Linux / Windows Git Bash):
Expand Down Expand Up @@ -46,6 +61,12 @@ skill 优化时先写中文版本(`assets/skills-zh/`),用户确认后再

## Changelog 规范

每次代码产生变更你都应该在完成后写Changelog,并确定是否需要升级版本号,版本号只会比master分支的版本号大一个版本,你需要确定一下当前master的版本号后做决定

如果当前已经有了一个比master大的版本Changelog,则应该追加到同一个版本的Changelog条目下

如果修改的是Skill内容,则需要等中英文完全同步之后再写Changelog

文件:`CHANGELOG.md`,新版本条目置顶。

```
Expand All @@ -62,3 +83,11 @@ skill 优化时先写中文版本(`assets/skills-zh/`),用户确认后再
- 按类型分组:Added → Changed → Fixed → Tests → Removed → Security
- 描述侧重 **行为变更**(what + why),不是实现细节
- `### Tests` 条目汇总新增测试覆盖的场景,不逐条列出测试用例

## 修改Skill规范

不能够直接修改Superpowers和OpenSpec的原始Skill

## github规范

不能未经过同意直接在github上评论或者提交PR
21 changes: 20 additions & 1 deletion README-zh.md
Original file line number Diff line number Diff line change
Expand Up @@ -198,14 +198,33 @@ npx skills add rpamis/comet

</details>

<details>
<summary><code>comet uninstall [path]</code> — 卸载 Comet 技能、规则和钩子</summary>

安全移除 Comet 分发的技能、规则和钩子,保留用户自定义的钩子和非 Comet 配置。

| 选项 | 描述 |
|-------------------|---------------------------------|
| `--force` | 跳过确认提示 |
| `--scope <scope>` | 仅卸载 `global` 或 `project` 范围 |
| `--json` | 以 JSON 输出卸载结果 |

```bash
comet uninstall # 交互式 — 显示已安装目标,确认后卸载
comet uninstall --force # 非交互式 — 直接移除所有内容
comet uninstall --scope project # 仅移除项目级安装
```

</details>

| 命令 | 描述 |
|-------------------|------|
| `comet --help` | 显示帮助 |
| `comet --version` | 显示版本 |

## 支持平台

`comet init` 支持 28 个 AI 编码平台:
`comet init` 支持 29 个 AI 编码平台:

<details>
<summary>查看完整平台列表</summary>
Expand Down
19 changes: 19 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -217,6 +217,25 @@ Updates the npm package and refreshes installed Comet skills in detected project

</details>

<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 |
|-------------------|--------------|
| `comet --help` | Show help |
Expand Down
9 changes: 8 additions & 1 deletion assets/manifest.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,15 @@
{
"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",
"comet/scripts/comet-guard.sh",
"comet/scripts/comet-state.sh",
Expand Down
10 changes: 2 additions & 8 deletions assets/skills-zh/comet-archive/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ fi

### 1. 归档前最终确认(阻塞点)

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

确认前必须向用户展示简短摘要:
- change 名称
Expand Down Expand Up @@ -97,10 +97,4 @@ Comet 流程全部完成。如需开始新工作,调用 `/comet` 或 `/comet-o

## 上下文压缩恢复

归档阶段在执行过程中可能触发上下文压缩。恢复时先运行:

```bash
"$COMET_BASH" "$COMET_STATE" check <change-name> archive --recover
```

脚本输出结构化恢复上下文(归档状态、已完成步骤)。按 Recovery action 判断下一步。若 `archived: true` 且归档目录存在,归档已完成,无需再次执行归档操作。
按 `comet/reference/context-recovery.md` 执行,phase 参数为 `archive`。若 `archived: true` 且归档目录存在,归档已完成,无需再次执行归档操作。
Loading
Loading