跳转到主要内容

What’s Changed [0.3.8] - 2026-06-13

Added

  • Kimi Code CLI support: Added Kimi Code as the 29th supported platform, including project/global skill installation under .kimi-code/, OpenSpec kimi tool integration, Superpowers kimi-code-cli mapping, detection, documentation, and cross-platform regression coverage (#90).
  • Version info and update check: comet init and comet update now display the current installed Comet version at the start of command output and check the npm registry for newer versions. If an update is available, users see a prompt to upgrade; if already on the latest version, a confirmation message is shown; if the registry is unreachable, the check is skipped silently without error (#99).
  • Official registry enforcement for update: comet update now passes --registry https://registry.npmjs.org to npm when updating the @rpamis/comet package, ensuring it always fetches from the official npm registry regardless of the user’s local .npmrc or mirror configuration. Other packages continue using the user’s normal registry settings. If the official registry is unreachable, a clear error message indicates the registry issue (#100).
  • Subagent dispatch Comet extensions: Rewrote the inline subagent dispatch protocol from comet-build/SKILL.md into comet/reference/subagent-dispatch.md (Chinese and English) as Comet-specific extensions layered on top of the Superpowers subagent-driven-development skill. The skill provides the core dispatch loop; the Comet extensions add real background dispatch, durable per-task checkpoints (subagent-progress.md), coordinator-only source execution, TDD ownership by background agents, bounded review-fix rounds (3 max), continuous task execution without pauses, and precise context recovery from checkpoint stages.
  • task-checkoff subcommand: Added comet-state task-checkoff <file> <task-text> to verify a specific task is uniquely checked in a markdown file. Used by the subagent dispatch protocol for targeted completion verification after dual review passes. Includes path traversal prevention, CRLF handling, and exact-match validation.
  • comet uninstall command: Added comet uninstall [path] CLI command to safely remove Comet-distributed skills, rules, and hooks across all 29 supported AI coding platforms. Supports --scope (project/global), --force (skip confirmation), and --json output. Auto-detects installed targets, removes only Comet-managed artifacts while preserving user-defined hooks and non-Comet configuration, cleans up empty directories and working directories (.comet/, docs/superpowers/), and handles all 7 hook formats (Claude Code, Qwen, Qoder, Gemini, Windsurf, GitHub Copilot, Kiro) and all 3 rule formats (md, mdc, copilot instructions) (#95).
  • Progressive loading reference docs: Extracted four reference documents from inline skill content to enable on-demand loading and reduce per-invocation token cost (both Chinese and English): auto-transition.md (auto-transition protocol, replacing 7 × ~10 lines of repeated content across sub-skills), context-recovery.md (context compression recovery, replacing 4 × ~8 lines), comet-yaml-fields.md (.comet.yaml field table, ~40 lines), and file-structure.md (directory structure, ~20 lines). Main comet/SKILL.md retains critical state machine hard constraints inline while pointing to reference docs for detailed field descriptions. Estimated per-invocation savings: 600–1,500 tokens depending on skill; cumulative ~4,100 tokens across a full workflow.
  • Pre-commit formatting hook: Added a husky + lint-staged pre-commit hook that automatically runs prettier --write on staged source files under src/ at every git commit (scope aligned with CI format:check). Editor-agnostic — enforced for all contributors regardless of IDE or agent — preventing Prettier formatting issues from reaching CI. The prepare script installs the hook on pnpm install, and .husky/ is excluded from the published package via the files whitelist.

Changed

  • Skills progressive loading refactor: All 7 sub-skills (comet-open, comet-design, comet-build, comet-verify, comet-archive, comet-hotfix, comet-tweak) in both Chinese and English now reference shared protocol documents for auto-transition and context recovery instead of embedding full content inline, while retaining critical inline commands (next command and output interpretation) for safe standalone loading.
  • Phase guard recovery with durable checkpoints: Updated recovery steps in comet-phase-guard.md (Chinese and English) to reload the Superpowers subagent-driven-development skill, read subagent-progress.md for exact stage recovery (implementation commit, RED/GREEN evidence, passed reviews, unresolved feedback, review-fix round), and resume from the checkpoint’s precise phase instead of always starting from the first unchecked task. Both .claude/rules/ and assets/skills/comet/rules/ copies include consistent references with bilingual identifiers for cross-language test compatibility.
  • Decision point protocol extraction: Extracted inline user-decision-point text from all 7 sub-skills (comet-open, comet-design, comet-build, comet-verify, comet-archive, comet-hotfix, comet-tweak) and main comet/SKILL.md into shared comet/reference/decision-point.md (both Chinese and English). Sub-skills now reference the protocol by path instead of repeating the full blocking-point rules, reducing per-invocation token cost and ensuring consistency across skills.
  • Debug gate protocol extraction: Extracted the inline systematic-debugging four-stage flow from comet-build, comet-hotfix, and comet-tweak into shared comet/reference/debug-gate.md (both Chinese and English). Sub-skills now reference the debug gate protocol by path, centralizing the investigation, minimal failing test, fix verification, and verification-loop rules.
  • Lightweight verification review: Lightweight verification now requires a scoped Superpowers requesting-code-review review focused on correctness, security, and edge cases, adding review coverage without running full spec or design drift checks (#86).

Fixed

  • Pi slash command discovery: comet init and comet update now generate a Pi extension that registers all shipped /comet* workflows as native slash commands forwarding to /skill:*. Pi settings are merged non-destructively with skill commands enabled, global resources now use Pi’s documented ~/.pi/agent/ directory, legacy ~/.pi/skills/ installs are detected for update and cleanup, and comet uninstall removes only Comet-managed assets while preserving shared settings and unrelated extensions (#89).
  • OpenCode plugin-installed Superpowers detection: comet init now correctly detects Superpowers already installed via the OpenCode plugin system (configured in opencode.json), preventing duplicate re-installation. Previously, only skills placed directly under ~/.config/opencode/skills/ were detected, missing the plugin source directory at ~/.config/opencode/superpowers/skills/ and the plugin array in opencode.json. Added hasOpenCodePluginSuperpowers() fallback detection similar to the existing Claude Code plugin cache check (#105).
  • Lightweight verification consistency: Hotfix documentation now describes the 6-item lightweight verification path, and verification failure handling treats CRITICAL and IMPORTANT findings as blocking so review pass criteria and failure decisions remain consistent.
  • Hook configuration merging during init and update: Shared hook configuration files for Claude Code, Codex, Amazon Q, Qwen, Qoder, Gemini, and Windsurf now preserve user-defined hooks when Comet installs or updates a hook for the same matcher or event. Existing Comet commands are identified by their manifest script path and replaced in place, preventing stale install paths, duplicate matcher groups, and repeated hook accumulation while leaving unrelated settings untouched.
  • Subagent-driven task isolation and continuity: comet-build now loads the mature Superpowers subagent-driven-development loop and applies a stricter Comet extension that requires one fresh background implementer per task, fresh background reviewers and fix agents, coordinator-only source execution, and automatic continuation between tasks without progress summaries or “continue?” prompts. TDD mode requires each implementer/fix agent to load the TDD skill and return auditable RED/GREEN evidence before review. A durable per-task checkpoint preserves implementation commits, review stages, feedback, and the three-round retry budget across context compression; task checkoff remains blocked until both reviews pass (#94, #96, #97).
  • npm shebang line ending issue on macOS: When npm packed the project on Windows, bin/comet.js shebang line got CRLF line endings, causing macOS to interpret #!/usr/bin/env node\r instead of #!/usr/bin/env node, resulting in “command not found” after npm install -g @rpamis/comet. Added explicit eol=lf rules for all text file extensions (.js, .mjs, .ts, .json, .md, .yaml, .yml) and binary markers for image files in .gitattributes (#82).
  • CodeGraph Codex CLI skip on project scope: comet init with project scope passed --target and --location=local to codegraph install, which caused Codex CLI (no project-local config) to be skipped with a confusing message. Simplified to codegraph install --yes without --target or --location flags, letting CodeGraph auto-detect and configure all installed agents. Removed filterSupportedPlatforms and CODEGRAPH_SUPPORTED_TARGETS (#98).
  • OpenSpec CLI upgrade and —profile fallback: ensureOpenSpecCli now always installs/upgrades openspec to the latest version, even if an older version is already present, ensuring users get --profile support and other improvements. Added fallback logic: if openspec init fails with “unknown option —profile” in stderr, retries without the flag for edge cases where the upgrade fails but an older openspec remains (#84).
  • Symlink resolution for skill file copies: When skill directories are symlinks (e.g. ~/.claude/skills/comet -> ~/.agents/skills/comet), copyFile and ensureDir wrote to the literal path instead of following the symlink target. Broken symlinks caused silent copy failures. Added resolveSymlinkPath() to file-system.ts that walks up the path tree and follows readlink targets for broken symlinks. Applied to ensureDir, copyFile, and writeFile (#85).
  • comet-tweak missing debug handling: comet-tweak/SKILL.md was missing the systematic-debugging requirement that comet-hotfix already had — when tests or builds fail during tweak execution, the skill now explicitly requires loading the systematic-debugging skill before proposing source fixes, matching hotfix behavior.
  • OpenSpec per-artifact instructions compliance: Chinese and English comet-open now apply OpenSpec per-artifact instructions (openspec instructions proposal/design/tasks --change "<name>" --json) for each standard artifact, loading context, rules, template, instruction, resolvedOutputPath, and dependencies from the JSON payload instead of hard-coded artifact prose. Stops artifact generation on instruction failure rather than silently bypassing project rules (#66).
  • CI Windows path escaping in skill verification: The init-e2e workflow’s Pi settings verification step interpolated a Windows $RUNNER_TEMP path (containing backslashes) directly into a node -e "require('...')" JS string literal, where \a/\_ were parsed as escape characters and mangled the path (D:\a\_tempD:a_temp), failing the init-e2e (windows-latest) runners on Node 20 and 22. The path is now passed via an environment variable (process.env) so it never enters a JS string literal; Linux/macOS were unaffected.
  • OpenSpec source formatting: Re-formatted src/core/openspec.ts (long-line wrapping) to satisfy prettier --check, unblocking the format:check CI step.
  • Symlink-safe removal during uninstall: removeFile/removeDir no longer resolve symlinks before deleting. A symlinked skill, rules, or hooks directory previously had its resolved target recursively deleted by comet uninstall; symlinked directories are now unlinked directly. isDirEmpty also no longer reports unreadable directories as empty, so cleanup never deletes a directory it could not inspect.
  • comet update --json output corruption: npm’s inherited stdio previously interleaved into the JSON document; npm stdout/stderr are now discarded in JSON mode so machine-readable output stays parseable.
  • comet update --json no-targets shape: the early-return JSON emitted when no installed targets exist now includes codegraph: 'skipped', matching the normal output shape so consumers need not special-case the empty path.
  • JSON-mode version-check latency: comet init and comet update now skip the npm-registry version check in JSON mode, emitting output without a network round-trip.
  • Malformed hook settings resilience: hand-edited settings files storing a hook group as a non-array value no longer throw during init/update hook merging; malformed groups are coerced to empty.
  • Markdown code-fence language tags: added text language tags to fenced code blocks in file-structure.md and subagent-dispatch.md (Chinese and English) to satisfy MD040 linting, consistent with the existing OpenSpec formatting CI fix.
  • Skills manifest version drift: bumped assets/manifest.json version 0.3.30.3.8 to match package.json.

Tests

  • Kimi Code platform coverage: Added detection, project/global installation, OpenSpec tool mapping, Superpowers agent mapping, CI platform-count, and documentation regression coverage for Kimi Code.
  • Lightweight verification review regression: Added bilingual workflow safeguards for the lightweight code-review requirement, blocking severities, scoped review criteria, and hotfix documentation consistency.
  • Pi command extension lifecycle coverage: Added project/global init, manifest-driven command generation, argument forwarding, settings preservation, invalid-settings protection, deterministic overwrite, and selective uninstall regression coverage, plus CI assertions for Pi’s project and global extension locations.
  • Hook merge regression coverage: Added real-file tests for Claude-style, Qwen/Qoder, Gemini, and Windsurf hook formats covering same-matcher user hook preservation, stale Comet command replacement, unrelated configuration retention, and idempotent repeated installation.
  • Subagent dispatch contract coverage: Added Chinese and English skill-content regression coverage for Superpowers/Comet composition, coordinator-only source execution with tracking-file exceptions, one fresh background agent per task and role, prompt/status/reviewer evidence contracts, durable recovery checkpoints, TDD ownership, dual-review checkoff, bounded stop conditions, continuous task execution, Comet-specific final handoff, and the absence of a Stop hook.
  • Reference doc assertions: Added assertions verifying all skill files that reference decision-point.md and debug-gate.md include the correct protocol path, and that the shipped reference docs contain the expected core rules and fallback behavior.
  • OpenSpec artifact contract coverage: Added bilingual contract assertions verifying comet-open skills contain explicit JSON instruction commands for proposal, design, and tasks; require applying context, rules, template, instruction, resolvedOutputPath, and dependencies; prohibit copying context/rules into artifacts; refresh status between artifacts; and stop instead of falling back when OpenSpec instructions fail.