@rpamis/comet 0.3.8 → 0.4.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/README.md +381 -234
- package/assets/manifest.json +33 -12
- package/assets/skills/comet/SKILL.md +87 -102
- package/assets/skills/comet/reference/auto-transition.md +1 -1
- package/assets/skills/comet/reference/comet-yaml-fields.md +11 -4
- package/assets/skills/comet/reference/context-recovery.md +12 -2
- package/assets/skills/comet/reference/debug-gate.md +17 -1
- package/assets/skills/comet/reference/decision-point.md +13 -2
- package/assets/skills/comet/reference/dirty-worktree.md +59 -59
- package/assets/skills/comet/reference/intent-frame.md +74 -0
- package/assets/skills/comet/reference/scripts.md +69 -0
- package/assets/skills/comet/reference/subagent-dispatch.md +79 -23
- package/assets/skills/comet/rules/comet-phase-guard.en.md +43 -11
- package/assets/skills/comet/rules/comet-phase-guard.md +44 -11
- package/assets/skills/comet/runtime/classic/checks.yaml +6 -0
- package/assets/skills/comet/runtime/classic/guardrails.yaml +13 -0
- package/assets/skills/comet/runtime/classic/skill.yaml +122 -0
- package/assets/skills/comet/scripts/comet-archive.mjs +3 -0
- package/assets/skills/comet/scripts/comet-env.mjs +15 -0
- package/assets/skills/comet/scripts/comet-guard.mjs +3 -0
- package/assets/skills/comet/scripts/comet-handoff.mjs +3 -0
- package/assets/skills/comet/scripts/comet-hook-guard.mjs +3 -0
- package/assets/skills/comet/scripts/comet-intent.mjs +3 -0
- package/assets/skills/comet/scripts/comet-runtime.mjs +12857 -0
- package/assets/skills/comet/scripts/comet-state.mjs +3 -0
- package/assets/skills/comet/scripts/comet-yaml-validate.mjs +3 -0
- package/assets/skills/comet-any/SKILL.md +118 -0
- package/assets/skills/comet-any/reference/authored-zone-example.md +100 -0
- package/assets/skills/comet-any/reference/authoring-protocol.json +91 -0
- package/assets/skills/comet-any/reference/authoring-subagents.md +102 -0
- package/assets/skills/comet-any/reference/bundle-authoring.md +166 -0
- package/assets/skills/comet-any/reference/eval-provider.md +83 -0
- package/assets/skills/comet-any/reference/subagents/pause-points-author.md +75 -0
- package/assets/skills/comet-any/reference/subagents/reference-author.md +77 -0
- package/assets/skills/comet-any/reference/subagents/script-author.md +81 -0
- package/assets/skills/comet-any/reference/subagents/skill-core-author.md +129 -0
- package/assets/skills/comet-any/reference/subagents/skill-reviewer.md +124 -0
- package/assets/skills/comet-any/reference/subagents/workflow-entry-author.md +100 -0
- package/assets/skills/comet-archive/SKILL.md +25 -15
- package/assets/skills/comet-build/SKILL.md +51 -40
- package/assets/skills/comet-design/SKILL.md +14 -18
- package/assets/skills/comet-hotfix/SKILL.md +33 -43
- package/assets/skills/comet-open/SKILL.md +28 -21
- package/assets/skills/comet-tweak/SKILL.md +71 -65
- package/assets/skills/comet-verify/SKILL.md +31 -35
- package/assets/skills-zh/comet/SKILL.md +88 -102
- package/assets/skills-zh/comet/reference/auto-transition.md +3 -3
- package/assets/skills-zh/comet/reference/comet-yaml-fields.md +11 -4
- package/assets/skills-zh/comet/reference/context-recovery.md +12 -2
- package/assets/skills-zh/comet/reference/debug-gate.md +19 -3
- package/assets/skills-zh/comet/reference/decision-point.md +13 -2
- package/assets/skills-zh/comet/reference/dirty-worktree.md +59 -59
- package/assets/skills-zh/comet/reference/intent-frame.md +74 -0
- package/assets/skills-zh/comet/reference/scripts.md +69 -0
- package/assets/skills-zh/comet/reference/subagent-dispatch.md +79 -23
- package/assets/skills-zh/comet/runtime/classic/checks.yaml +6 -0
- package/assets/skills-zh/comet/runtime/classic/guardrails.yaml +13 -0
- package/assets/skills-zh/comet/runtime/classic/skill.yaml +122 -0
- package/assets/skills-zh/comet-any/SKILL.md +118 -0
- package/assets/skills-zh/comet-any/reference/authored-zone-example.md +100 -0
- package/assets/skills-zh/comet-any/reference/authoring-protocol.json +91 -0
- package/assets/skills-zh/comet-any/reference/authoring-subagents.md +107 -0
- package/assets/skills-zh/comet-any/reference/bundle-authoring.md +166 -0
- package/assets/skills-zh/comet-any/reference/eval-provider.md +66 -0
- package/assets/skills-zh/comet-any/reference/subagents/pause-points-author.md +79 -0
- package/assets/skills-zh/comet-any/reference/subagents/reference-author.md +81 -0
- package/assets/skills-zh/comet-any/reference/subagents/script-author.md +84 -0
- package/assets/skills-zh/comet-any/reference/subagents/skill-core-author.md +129 -0
- package/assets/skills-zh/comet-any/reference/subagents/skill-reviewer.md +124 -0
- package/assets/skills-zh/comet-any/reference/subagents/workflow-entry-author.md +98 -0
- package/assets/skills-zh/comet-archive/SKILL.md +25 -15
- package/assets/skills-zh/comet-build/SKILL.md +54 -43
- package/assets/skills-zh/comet-design/SKILL.md +16 -20
- package/assets/skills-zh/comet-hotfix/SKILL.md +37 -47
- package/assets/skills-zh/comet-open/SKILL.md +30 -23
- package/assets/skills-zh/comet-tweak/SKILL.md +70 -63
- package/assets/skills-zh/comet-verify/SKILL.md +30 -32
- package/bin/comet.js +1 -1
- package/dist/{cli → app/cli}/index.d.ts.map +1 -1
- package/dist/app/cli/index.js +430 -0
- package/dist/app/cli/index.js.map +1 -0
- package/dist/app/commands/bundle.d.ts +51 -0
- package/dist/app/commands/bundle.d.ts.map +1 -0
- package/dist/app/commands/bundle.js +387 -0
- package/dist/app/commands/bundle.js.map +1 -0
- package/dist/app/commands/creator.d.ts +14 -0
- package/dist/app/commands/creator.d.ts.map +1 -0
- package/dist/app/commands/creator.js +82 -0
- package/dist/app/commands/creator.js.map +1 -0
- package/dist/app/commands/dashboard.d.ts +16 -0
- package/dist/app/commands/dashboard.d.ts.map +1 -0
- package/dist/app/commands/dashboard.js +53 -0
- package/dist/app/commands/dashboard.js.map +1 -0
- package/dist/{commands → app/commands}/doctor.d.ts +1 -1
- package/dist/app/commands/doctor.d.ts.map +1 -0
- package/dist/{commands → app/commands}/doctor.js +114 -60
- package/dist/app/commands/doctor.js.map +1 -0
- package/dist/app/commands/eval.d.ts +17 -0
- package/dist/app/commands/eval.d.ts.map +1 -0
- package/dist/app/commands/eval.js +169 -0
- package/dist/app/commands/eval.js.map +1 -0
- package/dist/app/commands/i18n.d.ts +4 -0
- package/dist/app/commands/i18n.d.ts.map +1 -0
- package/dist/app/commands/i18n.js +174 -0
- package/dist/app/commands/i18n.js.map +1 -0
- package/dist/{commands → app/commands}/init.d.ts +6 -1
- package/dist/app/commands/init.d.ts.map +1 -0
- package/dist/app/commands/init.js +402 -0
- package/dist/app/commands/init.js.map +1 -0
- package/dist/app/commands/platform-select-prompt.d.ts +38 -0
- package/dist/app/commands/platform-select-prompt.d.ts.map +1 -0
- package/dist/app/commands/platform-select-prompt.js +141 -0
- package/dist/app/commands/platform-select-prompt.js.map +1 -0
- package/dist/app/commands/publish.d.ts +7 -0
- package/dist/app/commands/publish.d.ts.map +1 -0
- package/dist/app/commands/publish.js +14 -0
- package/dist/app/commands/publish.js.map +1 -0
- package/dist/app/commands/skill.d.ts +23 -0
- package/dist/app/commands/skill.d.ts.map +1 -0
- package/dist/app/commands/skill.js +208 -0
- package/dist/app/commands/skill.js.map +1 -0
- package/dist/app/commands/status.d.ts.map +1 -0
- package/dist/app/commands/status.js +159 -0
- package/dist/app/commands/status.js.map +1 -0
- package/dist/{commands → app/commands}/uninstall.d.ts +1 -1
- package/dist/app/commands/uninstall.d.ts.map +1 -0
- package/dist/{commands → app/commands}/uninstall.js +37 -18
- package/dist/app/commands/uninstall.js.map +1 -0
- package/dist/{commands → app/commands}/update.d.ts +6 -4
- package/dist/app/commands/update.d.ts.map +1 -0
- package/dist/{commands → app/commands}/update.js +77 -46
- package/dist/app/commands/update.js.map +1 -0
- package/dist/config/repository-layout.json +98 -0
- package/dist/domains/bundle/authoring.d.ts +82 -0
- package/dist/domains/bundle/authoring.d.ts.map +1 -0
- package/dist/domains/bundle/authoring.js +185 -0
- package/dist/domains/bundle/authoring.js.map +1 -0
- package/dist/domains/bundle/bundle-platform.d.ts +39 -0
- package/dist/domains/bundle/bundle-platform.d.ts.map +1 -0
- package/dist/domains/bundle/bundle-platform.js +287 -0
- package/dist/domains/bundle/bundle-platform.js.map +1 -0
- package/dist/domains/bundle/candidates.d.ts +29 -0
- package/dist/domains/bundle/candidates.d.ts.map +1 -0
- package/dist/domains/bundle/candidates.js +37 -0
- package/dist/domains/bundle/candidates.js.map +1 -0
- package/dist/domains/bundle/compatibility-benchmark.d.ts +12 -0
- package/dist/domains/bundle/compatibility-benchmark.d.ts.map +1 -0
- package/dist/domains/bundle/compatibility-benchmark.js +224 -0
- package/dist/domains/bundle/compatibility-benchmark.js.map +1 -0
- package/dist/domains/bundle/compiler.d.ts +5 -0
- package/dist/domains/bundle/compiler.d.ts.map +1 -0
- package/dist/domains/bundle/compiler.js +106 -0
- package/dist/domains/bundle/compiler.js.map +1 -0
- package/dist/domains/bundle/distribute.d.ts +33 -0
- package/dist/domains/bundle/distribute.d.ts.map +1 -0
- package/dist/domains/bundle/distribute.js +166 -0
- package/dist/domains/bundle/distribute.js.map +1 -0
- package/dist/domains/bundle/draft.d.ts +19 -0
- package/dist/domains/bundle/draft.d.ts.map +1 -0
- package/dist/domains/bundle/draft.js +82 -0
- package/dist/domains/bundle/draft.js.map +1 -0
- package/dist/domains/bundle/eval.d.ts +36 -0
- package/dist/domains/bundle/eval.d.ts.map +1 -0
- package/dist/domains/bundle/eval.js +501 -0
- package/dist/domains/bundle/eval.js.map +1 -0
- package/dist/domains/bundle/factory-compose.d.ts +12 -0
- package/dist/domains/bundle/factory-compose.d.ts.map +1 -0
- package/dist/domains/bundle/factory-compose.js +309 -0
- package/dist/domains/bundle/factory-compose.js.map +1 -0
- package/dist/domains/bundle/factory-guide.d.ts +37 -0
- package/dist/domains/bundle/factory-guide.d.ts.map +1 -0
- package/dist/domains/bundle/factory-guide.js +96 -0
- package/dist/domains/bundle/factory-guide.js.map +1 -0
- package/dist/domains/bundle/factory-plan.d.ts +48 -0
- package/dist/domains/bundle/factory-plan.d.ts.map +1 -0
- package/dist/domains/bundle/factory-plan.js +172 -0
- package/dist/domains/bundle/factory-plan.js.map +1 -0
- package/dist/domains/bundle/factory-proposal.d.ts +31 -0
- package/dist/domains/bundle/factory-proposal.d.ts.map +1 -0
- package/dist/domains/bundle/factory-proposal.js +225 -0
- package/dist/domains/bundle/factory-proposal.js.map +1 -0
- package/dist/domains/bundle/factory-resolve.d.ts +11 -0
- package/dist/domains/bundle/factory-resolve.d.ts.map +1 -0
- package/dist/domains/bundle/factory-resolve.js +121 -0
- package/dist/domains/bundle/factory-resolve.js.map +1 -0
- package/dist/domains/bundle/factory.d.ts +17 -0
- package/dist/domains/bundle/factory.d.ts.map +1 -0
- package/dist/domains/bundle/factory.js +511 -0
- package/dist/domains/bundle/factory.js.map +1 -0
- package/dist/domains/bundle/hash.d.ts +3 -0
- package/dist/domains/bundle/hash.d.ts.map +1 -0
- package/dist/domains/bundle/hash.js +72 -0
- package/dist/domains/bundle/hash.js.map +1 -0
- package/dist/domains/bundle/load.d.ts +4 -0
- package/dist/domains/bundle/load.d.ts.map +1 -0
- package/dist/domains/bundle/load.js +355 -0
- package/dist/domains/bundle/load.js.map +1 -0
- package/dist/domains/bundle/next-action.d.ts +37 -0
- package/dist/domains/bundle/next-action.d.ts.map +1 -0
- package/dist/domains/bundle/next-action.js +185 -0
- package/dist/domains/bundle/next-action.js.map +1 -0
- package/dist/domains/bundle/platform.d.ts +21 -0
- package/dist/domains/bundle/platform.d.ts.map +1 -0
- package/dist/domains/bundle/platform.js +170 -0
- package/dist/domains/bundle/platform.js.map +1 -0
- package/dist/domains/bundle/preferences.d.ts +11 -0
- package/dist/domains/bundle/preferences.d.ts.map +1 -0
- package/dist/domains/bundle/preferences.js +17 -0
- package/dist/domains/bundle/preferences.js.map +1 -0
- package/dist/domains/bundle/publish.d.ts +14 -0
- package/dist/domains/bundle/publish.d.ts.map +1 -0
- package/dist/domains/bundle/publish.js +159 -0
- package/dist/domains/bundle/publish.js.map +1 -0
- package/dist/domains/bundle/readiness-user-summary.d.ts +25 -0
- package/dist/domains/bundle/readiness-user-summary.d.ts.map +1 -0
- package/dist/domains/bundle/readiness-user-summary.js +186 -0
- package/dist/domains/bundle/readiness-user-summary.js.map +1 -0
- package/dist/domains/bundle/review-summary.d.ts +36 -0
- package/dist/domains/bundle/review-summary.d.ts.map +1 -0
- package/dist/domains/bundle/review-summary.js +348 -0
- package/dist/domains/bundle/review-summary.js.map +1 -0
- package/dist/domains/bundle/state.d.ts +7 -0
- package/dist/domains/bundle/state.d.ts.map +1 -0
- package/dist/domains/bundle/state.js +132 -0
- package/dist/domains/bundle/state.js.map +1 -0
- package/dist/domains/bundle/types.d.ts +347 -0
- package/dist/domains/bundle/types.d.ts.map +1 -0
- package/dist/domains/bundle/types.js.map +1 -0
- package/dist/domains/bundle/user-facing.d.ts +48 -0
- package/dist/domains/bundle/user-facing.d.ts.map +1 -0
- package/dist/domains/bundle/user-facing.js +73 -0
- package/dist/domains/bundle/user-facing.js.map +1 -0
- package/dist/domains/bundle/validate.d.ts +5 -0
- package/dist/domains/bundle/validate.d.ts.map +1 -0
- package/dist/domains/bundle/validate.js +292 -0
- package/dist/domains/bundle/validate.js.map +1 -0
- package/dist/domains/comet-classic/classic-archive-entry.d.ts +2 -0
- package/dist/domains/comet-classic/classic-archive-entry.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-archive-entry.js +4 -0
- package/dist/domains/comet-classic/classic-archive-entry.js.map +1 -0
- package/dist/domains/comet-classic/classic-archive.d.ts +3 -0
- package/dist/domains/comet-classic/classic-archive.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-archive.js +392 -0
- package/dist/domains/comet-classic/classic-archive.js.map +1 -0
- package/dist/domains/comet-classic/classic-cli.d.ts +15 -0
- package/dist/domains/comet-classic/classic-cli.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-cli.js +94 -0
- package/dist/domains/comet-classic/classic-cli.js.map +1 -0
- package/dist/domains/comet-classic/classic-diagnostics.d.ts +16 -0
- package/dist/domains/comet-classic/classic-diagnostics.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-diagnostics.js +57 -0
- package/dist/domains/comet-classic/classic-diagnostics.js.map +1 -0
- package/dist/domains/comet-classic/classic-evidence.d.ts +10 -0
- package/dist/domains/comet-classic/classic-evidence.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-evidence.js +114 -0
- package/dist/domains/comet-classic/classic-evidence.js.map +1 -0
- package/dist/domains/comet-classic/classic-guard-entry.d.ts +2 -0
- package/dist/domains/comet-classic/classic-guard-entry.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-guard-entry.js +4 -0
- package/dist/domains/comet-classic/classic-guard-entry.js.map +1 -0
- package/dist/domains/comet-classic/classic-guard.d.ts +3 -0
- package/dist/domains/comet-classic/classic-guard.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-guard.js +833 -0
- package/dist/domains/comet-classic/classic-guard.js.map +1 -0
- package/dist/domains/comet-classic/classic-handoff-entry.d.ts +2 -0
- package/dist/domains/comet-classic/classic-handoff-entry.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-handoff-entry.js +4 -0
- package/dist/domains/comet-classic/classic-handoff-entry.js.map +1 -0
- package/dist/domains/comet-classic/classic-handoff.d.ts +3 -0
- package/dist/domains/comet-classic/classic-handoff.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-handoff.js +478 -0
- package/dist/domains/comet-classic/classic-handoff.js.map +1 -0
- package/dist/domains/comet-classic/classic-hook-guard-entry.d.ts +2 -0
- package/dist/domains/comet-classic/classic-hook-guard-entry.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-hook-guard-entry.js +4 -0
- package/dist/domains/comet-classic/classic-hook-guard-entry.js.map +1 -0
- package/dist/domains/comet-classic/classic-hook-guard.d.ts +3 -0
- package/dist/domains/comet-classic/classic-hook-guard.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-hook-guard.js +302 -0
- package/dist/domains/comet-classic/classic-hook-guard.js.map +1 -0
- package/dist/domains/comet-classic/classic-intent-command.d.ts +3 -0
- package/dist/domains/comet-classic/classic-intent-command.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-intent-command.js +40 -0
- package/dist/domains/comet-classic/classic-intent-command.js.map +1 -0
- package/dist/domains/comet-classic/classic-intent-entry.d.ts +2 -0
- package/dist/domains/comet-classic/classic-intent-entry.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-intent-entry.js +4 -0
- package/dist/domains/comet-classic/classic-intent-entry.js.map +1 -0
- package/dist/domains/comet-classic/classic-intent.d.ts +79 -0
- package/dist/domains/comet-classic/classic-intent.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-intent.js +307 -0
- package/dist/domains/comet-classic/classic-intent.js.map +1 -0
- package/dist/domains/comet-classic/classic-migrate.d.ts +18 -0
- package/dist/domains/comet-classic/classic-migrate.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-migrate.js +184 -0
- package/dist/domains/comet-classic/classic-migrate.js.map +1 -0
- package/dist/domains/comet-classic/classic-paths.d.ts +8 -0
- package/dist/domains/comet-classic/classic-paths.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-paths.js +61 -0
- package/dist/domains/comet-classic/classic-paths.js.map +1 -0
- package/dist/domains/comet-classic/classic-resolver.d.ts +10 -0
- package/dist/domains/comet-classic/classic-resolver.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-resolver.js +89 -0
- package/dist/domains/comet-classic/classic-resolver.js.map +1 -0
- package/dist/domains/comet-classic/classic-runtime-evals.d.ts +9 -0
- package/dist/domains/comet-classic/classic-runtime-evals.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-runtime-evals.js +45 -0
- package/dist/domains/comet-classic/classic-runtime-evals.js.map +1 -0
- package/dist/domains/comet-classic/classic-runtime-run.d.ts +7 -0
- package/dist/domains/comet-classic/classic-runtime-run.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-runtime-run.js +105 -0
- package/dist/domains/comet-classic/classic-runtime-run.js.map +1 -0
- package/dist/domains/comet-classic/classic-script-entry.d.ts +3 -0
- package/dist/domains/comet-classic/classic-script-entry.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-script-entry.js +31 -0
- package/dist/domains/comet-classic/classic-script-entry.js.map +1 -0
- package/dist/domains/comet-classic/classic-state-command.d.ts +3 -0
- package/dist/domains/comet-classic/classic-state-command.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-state-command.js +984 -0
- package/dist/domains/comet-classic/classic-state-command.js.map +1 -0
- package/dist/domains/comet-classic/classic-state-entry.d.ts +2 -0
- package/dist/domains/comet-classic/classic-state-entry.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-state-entry.js +4 -0
- package/dist/domains/comet-classic/classic-state-entry.js.map +1 -0
- package/dist/domains/comet-classic/classic-state-events.d.ts +18 -0
- package/dist/domains/comet-classic/classic-state-events.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-state-events.js +15 -0
- package/dist/domains/comet-classic/classic-state-events.js.map +1 -0
- package/dist/domains/comet-classic/classic-state.d.ts +69 -0
- package/dist/domains/comet-classic/classic-state.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-state.js +238 -0
- package/dist/domains/comet-classic/classic-state.js.map +1 -0
- package/dist/domains/comet-classic/classic-store.d.ts +7 -0
- package/dist/domains/comet-classic/classic-store.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-store.js +127 -0
- package/dist/domains/comet-classic/classic-store.js.map +1 -0
- package/dist/domains/comet-classic/classic-transitions.d.ts +24 -0
- package/dist/domains/comet-classic/classic-transitions.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-transitions.js +124 -0
- package/dist/domains/comet-classic/classic-transitions.js.map +1 -0
- package/dist/domains/comet-classic/classic-validate-command.d.ts +3 -0
- package/dist/domains/comet-classic/classic-validate-command.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-validate-command.js +154 -0
- package/dist/domains/comet-classic/classic-validate-command.js.map +1 -0
- package/dist/domains/comet-classic/classic-validate-entry.d.ts +2 -0
- package/dist/domains/comet-classic/classic-validate-entry.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-validate-entry.js +4 -0
- package/dist/domains/comet-classic/classic-validate-entry.js.map +1 -0
- package/dist/domains/comet-classic/index.d.ts +20 -0
- package/dist/domains/comet-classic/index.d.ts.map +1 -0
- package/dist/domains/comet-classic/index.js +20 -0
- package/dist/domains/comet-classic/index.js.map +1 -0
- package/dist/domains/dashboard/collector.d.ts +12 -0
- package/dist/domains/dashboard/collector.d.ts.map +1 -0
- package/dist/domains/dashboard/collector.js +475 -0
- package/dist/domains/dashboard/collector.js.map +1 -0
- package/dist/domains/dashboard/git.d.ts +8 -0
- package/dist/domains/dashboard/git.d.ts.map +1 -0
- package/dist/domains/dashboard/git.js +69 -0
- package/dist/domains/dashboard/git.js.map +1 -0
- package/dist/domains/dashboard/next-action.d.ts +17 -0
- package/dist/domains/dashboard/next-action.d.ts.map +1 -0
- package/dist/domains/dashboard/next-action.js +83 -0
- package/dist/domains/dashboard/next-action.js.map +1 -0
- package/dist/domains/dashboard/open-browser.d.ts +9 -0
- package/dist/domains/dashboard/open-browser.d.ts.map +1 -0
- package/dist/domains/dashboard/open-browser.js +40 -0
- package/dist/domains/dashboard/open-browser.js.map +1 -0
- package/dist/domains/dashboard/risk.d.ts +24 -0
- package/dist/domains/dashboard/risk.d.ts.map +1 -0
- package/dist/domains/dashboard/risk.js +97 -0
- package/dist/domains/dashboard/risk.js.map +1 -0
- package/dist/domains/dashboard/server.d.ts +21 -0
- package/dist/domains/dashboard/server.d.ts.map +1 -0
- package/dist/domains/dashboard/server.js +149 -0
- package/dist/domains/dashboard/server.js.map +1 -0
- package/dist/domains/dashboard/task-parser.d.ts +13 -0
- package/dist/domains/dashboard/task-parser.d.ts.map +1 -0
- package/dist/domains/dashboard/task-parser.js +82 -0
- package/dist/domains/dashboard/task-parser.js.map +1 -0
- package/dist/domains/dashboard/types.d.ts +122 -0
- package/dist/domains/dashboard/types.d.ts.map +1 -0
- package/dist/domains/dashboard/types.js +10 -0
- package/dist/domains/dashboard/types.js.map +1 -0
- package/dist/domains/dashboard/verify-parser.d.ts +18 -0
- package/dist/domains/dashboard/verify-parser.d.ts.map +1 -0
- package/dist/domains/dashboard/verify-parser.js +94 -0
- package/dist/domains/dashboard/verify-parser.js.map +1 -0
- package/dist/domains/dashboard/web/assets/demo-DQyfozbi.js +1 -0
- package/dist/domains/dashboard/web/assets/index-BcO3_QlT.css +1 -0
- package/dist/domains/dashboard/web/assets/index-CjU3VXVu.js +22 -0
- package/dist/domains/dashboard/web/favicon.png +0 -0
- package/dist/domains/dashboard/web/index.html +16 -0
- package/dist/domains/dashboard/yaml.d.ts +13 -0
- package/dist/domains/dashboard/yaml.d.ts.map +1 -0
- package/dist/domains/dashboard/yaml.js +61 -0
- package/dist/domains/dashboard/yaml.js.map +1 -0
- package/dist/domains/engine/evals.d.ts +4 -0
- package/dist/domains/engine/evals.d.ts.map +1 -0
- package/dist/domains/engine/evals.js +25 -0
- package/dist/domains/engine/evals.js.map +1 -0
- package/dist/domains/engine/guardrails.d.ts +10 -0
- package/dist/domains/engine/guardrails.d.ts.map +1 -0
- package/dist/domains/engine/guardrails.js +25 -0
- package/dist/domains/engine/guardrails.js.map +1 -0
- package/dist/domains/engine/loop.d.ts +15 -0
- package/dist/domains/engine/loop.d.ts.map +1 -0
- package/dist/domains/engine/loop.js +126 -0
- package/dist/domains/engine/loop.js.map +1 -0
- package/dist/domains/engine/manual-run.d.ts +30 -0
- package/dist/domains/engine/manual-run.d.ts.map +1 -0
- package/dist/domains/engine/manual-run.js +184 -0
- package/dist/domains/engine/manual-run.js.map +1 -0
- package/dist/domains/engine/resolver.d.ts +20 -0
- package/dist/domains/engine/resolver.d.ts.map +1 -0
- package/dist/domains/engine/resolver.js +36 -0
- package/dist/domains/engine/resolver.js.map +1 -0
- package/dist/domains/engine/run-store.d.ts +13 -0
- package/dist/domains/engine/run-store.d.ts.map +1 -0
- package/dist/domains/engine/run-store.js +100 -0
- package/dist/domains/engine/run-store.js.map +1 -0
- package/dist/domains/engine/runtime-types.d.ts +11 -0
- package/dist/domains/engine/runtime-types.d.ts.map +1 -0
- package/dist/domains/engine/runtime-types.js +2 -0
- package/dist/domains/engine/runtime-types.js.map +1 -0
- package/dist/domains/engine/standalone-run.d.ts +13 -0
- package/dist/domains/engine/standalone-run.d.ts.map +1 -0
- package/dist/domains/engine/standalone-run.js +27 -0
- package/dist/domains/engine/standalone-run.js.map +1 -0
- package/dist/domains/engine/state.d.ts +10 -0
- package/dist/domains/engine/state.d.ts.map +1 -0
- package/dist/domains/engine/state.js +160 -0
- package/dist/domains/engine/state.js.map +1 -0
- package/dist/domains/engine/types.d.ts +51 -0
- package/dist/domains/engine/types.d.ts.map +1 -0
- package/dist/domains/engine/types.js +2 -0
- package/dist/domains/engine/types.js.map +1 -0
- package/dist/domains/eval/index.d.ts +7 -0
- package/dist/domains/eval/index.d.ts.map +1 -0
- package/dist/domains/eval/index.js +11 -0
- package/dist/domains/eval/index.js.map +1 -0
- package/dist/domains/eval/repository-benchmarks.d.ts +6 -0
- package/dist/domains/eval/repository-benchmarks.d.ts.map +1 -0
- package/dist/domains/eval/repository-benchmarks.js +10 -0
- package/dist/domains/eval/repository-benchmarks.js.map +1 -0
- package/dist/domains/factory/artifacts.d.ts +53 -0
- package/dist/domains/factory/artifacts.d.ts.map +1 -0
- package/dist/domains/factory/artifacts.js +8 -0
- package/dist/domains/factory/artifacts.js.map +1 -0
- package/dist/domains/factory/package.d.ts +7 -0
- package/dist/domains/factory/package.d.ts.map +1 -0
- package/dist/domains/factory/package.js +1511 -0
- package/dist/domains/factory/package.js.map +1 -0
- package/dist/domains/factory/types.d.ts +127 -0
- package/dist/domains/factory/types.d.ts.map +1 -0
- package/dist/domains/factory/types.js +2 -0
- package/dist/domains/factory/types.js.map +1 -0
- package/dist/domains/integrations/codegraph.d.ts +6 -0
- package/dist/domains/integrations/codegraph.d.ts.map +1 -0
- package/dist/domains/integrations/codegraph.js +118 -0
- package/dist/domains/integrations/codegraph.js.map +1 -0
- package/dist/domains/integrations/openspec.d.ts +18 -0
- package/dist/domains/integrations/openspec.d.ts.map +1 -0
- package/dist/{core → domains/integrations}/openspec.js +114 -31
- package/dist/domains/integrations/openspec.js.map +1 -0
- package/dist/domains/integrations/superpowers.d.ts +21 -0
- package/dist/domains/integrations/superpowers.d.ts.map +1 -0
- package/dist/{core → domains/integrations}/superpowers.js +63 -14
- package/dist/domains/integrations/superpowers.js.map +1 -0
- package/dist/domains/skill/discovery.d.ts +17 -0
- package/dist/domains/skill/discovery.d.ts.map +1 -0
- package/dist/domains/skill/discovery.js +80 -0
- package/dist/domains/skill/discovery.js.map +1 -0
- package/dist/domains/skill/find.d.ts +41 -0
- package/dist/domains/skill/find.d.ts.map +1 -0
- package/dist/domains/skill/find.js +251 -0
- package/dist/domains/skill/find.js.map +1 -0
- package/dist/domains/skill/install.d.ts +11 -0
- package/dist/domains/skill/install.d.ts.map +1 -0
- package/dist/domains/skill/install.js +82 -0
- package/dist/domains/skill/install.js.map +1 -0
- package/dist/domains/skill/inventory.d.ts +19 -0
- package/dist/domains/skill/inventory.d.ts.map +1 -0
- package/dist/domains/skill/inventory.js +64 -0
- package/dist/domains/skill/inventory.js.map +1 -0
- package/dist/domains/skill/languages.d.ts +19 -0
- package/dist/domains/skill/languages.d.ts.map +1 -0
- package/dist/domains/skill/languages.js +21 -0
- package/dist/domains/skill/languages.js.map +1 -0
- package/dist/domains/skill/load.d.ts +5 -0
- package/dist/domains/skill/load.d.ts.map +1 -0
- package/dist/domains/skill/load.js +313 -0
- package/dist/domains/skill/load.js.map +1 -0
- package/dist/domains/skill/platform-install.d.ts +87 -0
- package/dist/domains/skill/platform-install.d.ts.map +1 -0
- package/dist/{core/skills.js → domains/skill/platform-install.js} +242 -42
- package/dist/domains/skill/platform-install.js.map +1 -0
- package/dist/domains/skill/preferences.d.ts +42 -0
- package/dist/domains/skill/preferences.d.ts.map +1 -0
- package/dist/domains/skill/preferences.js +118 -0
- package/dist/domains/skill/preferences.js.map +1 -0
- package/dist/domains/skill/snapshot.d.ts +8 -0
- package/dist/domains/skill/snapshot.d.ts.map +1 -0
- package/dist/domains/skill/snapshot.js +184 -0
- package/dist/domains/skill/snapshot.js.map +1 -0
- package/dist/domains/skill/types.d.ts +85 -0
- package/dist/domains/skill/types.d.ts.map +1 -0
- package/dist/domains/skill/types.js +2 -0
- package/dist/{core → domains/skill}/types.js.map +1 -1
- package/dist/{core → domains/skill}/uninstall.d.ts +2 -18
- package/dist/domains/skill/uninstall.d.ts.map +1 -0
- package/dist/{core → domains/skill}/uninstall.js +15 -66
- package/dist/domains/skill/uninstall.js.map +1 -0
- package/dist/domains/skill/validate.d.ts +3 -0
- package/dist/domains/skill/validate.d.ts.map +1 -0
- package/dist/domains/skill/validate.js +81 -0
- package/dist/domains/skill/validate.js.map +1 -0
- package/dist/domains/workflow-contract/builtins.d.ts +8 -0
- package/dist/domains/workflow-contract/builtins.d.ts.map +1 -0
- package/dist/domains/workflow-contract/builtins.js +229 -0
- package/dist/domains/workflow-contract/builtins.js.map +1 -0
- package/dist/domains/workflow-contract/hash.d.ts +3 -0
- package/dist/domains/workflow-contract/hash.d.ts.map +1 -0
- package/dist/domains/workflow-contract/hash.js +16 -0
- package/dist/domains/workflow-contract/hash.js.map +1 -0
- package/dist/domains/workflow-contract/index.d.ts +6 -0
- package/dist/domains/workflow-contract/index.d.ts.map +1 -0
- package/dist/domains/workflow-contract/index.js +5 -0
- package/dist/domains/workflow-contract/index.js.map +1 -0
- package/dist/domains/workflow-contract/normalize.d.ts +3 -0
- package/dist/domains/workflow-contract/normalize.d.ts.map +1 -0
- package/dist/domains/workflow-contract/normalize.js +146 -0
- package/dist/domains/workflow-contract/normalize.js.map +1 -0
- package/dist/domains/workflow-contract/types.d.ts +128 -0
- package/dist/domains/workflow-contract/types.d.ts.map +1 -0
- package/dist/domains/workflow-contract/types.js +2 -0
- package/dist/domains/workflow-contract/types.js.map +1 -0
- package/dist/domains/workflow-contract/validation.d.ts +3 -0
- package/dist/domains/workflow-contract/validation.d.ts.map +1 -0
- package/dist/domains/workflow-contract/validation.js +180 -0
- package/dist/domains/workflow-contract/validation.js.map +1 -0
- package/dist/platform/fs/file-system.d.ts.map +1 -0
- package/dist/platform/fs/file-system.js.map +1 -0
- package/dist/{core → platform/install}/detect.d.ts +6 -1
- package/dist/platform/install/detect.d.ts.map +1 -0
- package/dist/{core → platform/install}/detect.js +32 -14
- package/dist/platform/install/detect.js.map +1 -0
- package/dist/platform/install/platforms.d.ts.map +1 -0
- package/dist/{core → platform/install}/platforms.js +41 -0
- package/dist/platform/install/platforms.js.map +1 -0
- package/dist/platform/install/types.d.ts +3 -0
- package/dist/platform/install/types.d.ts.map +1 -0
- package/dist/platform/install/types.js +2 -0
- package/dist/platform/install/types.js.map +1 -0
- package/dist/platform/paths/repository-layout.d.ts +22 -0
- package/dist/platform/paths/repository-layout.d.ts.map +1 -0
- package/dist/platform/paths/repository-layout.js +11 -0
- package/dist/platform/paths/repository-layout.js.map +1 -0
- package/dist/platform/process/command-error.d.ts.map +1 -0
- package/dist/platform/process/command-error.js.map +1 -0
- package/dist/platform/process/shell-quote.d.ts +22 -0
- package/dist/platform/process/shell-quote.d.ts.map +1 -0
- package/dist/platform/process/shell-quote.js +34 -0
- package/dist/platform/process/shell-quote.js.map +1 -0
- package/dist/platform/version/version.d.ts.map +1 -0
- package/dist/{core → platform/version}/version.js +16 -3
- package/dist/platform/version/version.js.map +1 -0
- package/package.json +40 -14
- package/assets/skills/comet/scripts/comet-archive.sh +0 -311
- package/assets/skills/comet/scripts/comet-env.sh +0 -110
- package/assets/skills/comet/scripts/comet-guard.sh +0 -752
- package/assets/skills/comet/scripts/comet-handoff.sh +0 -390
- package/assets/skills/comet/scripts/comet-hook-guard.sh +0 -260
- package/assets/skills/comet/scripts/comet-state.sh +0 -1245
- package/assets/skills/comet/scripts/comet-yaml-validate.sh +0 -223
- package/dist/cli/index.js +0 -83
- package/dist/cli/index.js.map +0 -1
- package/dist/commands/doctor.d.ts.map +0 -1
- package/dist/commands/doctor.js.map +0 -1
- package/dist/commands/init.d.ts.map +0 -1
- package/dist/commands/init.js +0 -300
- package/dist/commands/init.js.map +0 -1
- package/dist/commands/status.d.ts.map +0 -1
- package/dist/commands/status.js +0 -108
- package/dist/commands/status.js.map +0 -1
- package/dist/commands/uninstall.d.ts.map +0 -1
- package/dist/commands/uninstall.js.map +0 -1
- package/dist/commands/update.d.ts.map +0 -1
- package/dist/commands/update.js.map +0 -1
- package/dist/core/codegraph.d.ts +0 -4
- package/dist/core/codegraph.d.ts.map +0 -1
- package/dist/core/codegraph.js +0 -63
- package/dist/core/codegraph.js.map +0 -1
- package/dist/core/command-error.d.ts.map +0 -1
- package/dist/core/command-error.js.map +0 -1
- package/dist/core/detect.d.ts.map +0 -1
- package/dist/core/detect.js.map +0 -1
- package/dist/core/openspec.d.ts +0 -11
- package/dist/core/openspec.d.ts.map +0 -1
- package/dist/core/openspec.js.map +0 -1
- package/dist/core/platforms.d.ts.map +0 -1
- package/dist/core/platforms.js.map +0 -1
- package/dist/core/skills.d.ts +0 -58
- package/dist/core/skills.d.ts.map +0 -1
- package/dist/core/skills.js.map +0 -1
- package/dist/core/superpowers.d.ts +0 -13
- package/dist/core/superpowers.d.ts.map +0 -1
- package/dist/core/superpowers.js.map +0 -1
- package/dist/core/types.d.ts +0 -2
- package/dist/core/types.d.ts.map +0 -1
- package/dist/core/uninstall.d.ts.map +0 -1
- package/dist/core/uninstall.js.map +0 -1
- package/dist/core/version.d.ts.map +0 -1
- package/dist/core/version.js.map +0 -1
- package/dist/utils/file-system.d.ts.map +0 -1
- package/dist/utils/file-system.js.map +0 -1
- /package/dist/{cli → app/cli}/index.d.ts +0 -0
- /package/dist/{commands → app/commands}/status.d.ts +0 -0
- /package/dist/{core → domains/bundle}/types.js +0 -0
- /package/dist/{utils → platform/fs}/file-system.d.ts +0 -0
- /package/dist/{utils → platform/fs}/file-system.js +0 -0
- /package/dist/{core → platform/install}/platforms.d.ts +0 -0
- /package/dist/{core → platform/process}/command-error.d.ts +0 -0
- /package/dist/{core → platform/process}/command-error.js +0 -0
- /package/dist/{core → platform/version}/version.d.ts +0 -0
- /package/scripts/{postinstall.js → install/postinstall.js} +0 -0
package/README.md
CHANGED
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
<p align="center">
|
|
11
11
|
<a href="https://github.com/rpamis/comet/actions/workflows/ci.yml"><img alt="CI" src="https://img.shields.io/github/actions/workflow/status/rpamis/comet/ci.yml?branch=master&style=flat-square&label=CI" /></a>
|
|
12
|
+
<a href="https://app.codecov.io/gh/rpamis/comet/tree/master"><img alt="codecov" src="https://img.shields.io/codecov/c/github/rpamis/comet/master?style=flat-square&label=coverage&color=%23E61A7A" /></a>
|
|
12
13
|
<a href="https://deepwiki.com/rpamis/comet"><img alt="DeepWiki" src="https://img.shields.io/badge/DeepWiki-rpamis%2Fcomet-blue?style=flat-square" /></a>
|
|
13
14
|
<a href="https://www.npmjs.com/package/@rpamis/comet"><img alt="npm version" src="https://img.shields.io/npm/v/@rpamis/comet?style=flat-square" /></a>
|
|
14
15
|
<a href="https://www.npmjs.com/package/@rpamis/comet"><img alt="npm download count" src="https://img.shields.io/npm/dm/@rpamis/comet?style=flat-square&label=Downloads/mo" /></a>
|
|
@@ -31,83 +32,93 @@
|
|
|
31
32
|
> [Bilibili video](https://www.bilibili.com/video/BV1y4Gi6CEo1/?spm_id_from=333.1387.homepage.video_card.click&vd_source=d22726fe6b108647dbebf1c5d8817377)
|
|
32
33
|
> [DouYin](https://www.douyin.com/search/comet?aid=cd8fcc82-498b-4d59-8860-617deb719412&modal_id=7646429015808936293&type=general)
|
|
33
34
|
|
|
34
|
-
**
|
|
35
|
+
**Comet is a resumable long-running task workflow and Skill platform for coding.**
|
|
35
36
|
|
|
36
|
-
|
|
37
|
+
It uses a unified cross-platform runtime to connect OpenSpec artifacts, Superpowers execution methodology, Skill creation, evaluation, and release into a closed-loop workflow.
|
|
37
38
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
Comet chains both into a five-phase automated pipeline.
|
|
39
|
+
It allows you to use a toolchain to handle everything from requirements to archiving, combine any skill to make it like Comet, evolving your skills based on scientific **Rubric**, **Pass@k**, and **Pass^k** scoring.
|
|
41
40
|
|
|
42
41
|
> [!IMPORTANT]
|
|
43
|
-
> **0.
|
|
42
|
+
> **0.4.0-beta.1** — Comet has been upgraded to a pure Node runtime (no longer dependent on Bash/WSL) and brings three core capabilities: use `/comet-any` to combine **any** skill into a custom workflow, use `comet eval` to evaluate **any** skill and integrate it into the LangSmith system, and use `comet dashboard` to visualize each change in the browser.
|
|
43
|
+
>
|
|
44
|
+
> **0.3.9** — Review mode (`off|standard|thorough`) controls Build/Verify code review with project defaults; init/update now use optional dependency prompts, broader CLI i18n, stronger phase guards, and macOS executable bits.
|
|
44
45
|
>
|
|
45
|
-
>
|
|
46
|
-
>
|
|
47
|
-
>
|
|
48
|
-
> Hook+Rule anti-drift phase guard; Optional TDD mode and subagent dispatch confirmation;
|
|
49
|
-
> Large PRD split into multiple changes; Pre-archive confirmation with reopen, verify retry limit, systematic debugging interception, and verification completion check.
|
|
46
|
+
> **0.3.8** — Adds Kimi Code support, safe multi-platform `comet uninstall`, extended subagent dispatch, shared progressive-loading references, update checks, and pre-commit formatting.
|
|
47
|
+
>
|
|
48
|
+
> **0.3.7** — Adds CodeGraph semantic indexing, Beta context compression, active context compression, token optimizations, `auto_transition`, phase guards, optional TDD, and safer archive/verification flow.
|
|
50
49
|
>
|
|
51
50
|
> See [NEWS.md](NEWS.md) for details.
|
|
52
51
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
OpenSpec excels at managing requirements, creating proposals, managing Spec lifecycles, and archiving, but its proposals
|
|
56
|
-
and tasks lack the detail of Superpowers brainstorming.
|
|
57
|
-
|
|
58
|
-
Superpowers generates Spec documents after brainstorming, but these documents typically lack stateful design — after
|
|
59
|
-
completing requirements, Specs only have tasks checked off in the document, and Agents even forget to check them off.
|
|
60
|
-
This causes the Agent to re-examine documents and project code to verify on resumption, wasting many tokens.
|
|
61
|
-
|
|
62
|
-
**Comet combines the strengths of both**, integrating the core workflow into 5 phases
|
|
52
|
+
> Combining OpenSpec and Superpowers is not Comet's ultimate goal. We hope to track long-running skills like these and find the Harness capabilities that enable stable execution of long-running skills. If you are interested in participating, you are welcome to contribute to our project or learn from our source code.
|
|
63
53
|
|
|
64
|
-
|
|
65
|
-
session midway, just `/comet` and Comet will automatically read the active Spec (lists multiple for selection),
|
|
66
|
-
dynamically identify which phase is currently executing, and continue.
|
|
67
|
-
|
|
68
|
-
At the same time, Comet provides full Spec lifecycle management. During execution, it links OpenSpec change/spec
|
|
69
|
-
artifacts with Superpowers design and planning documents, then automates handoff, state updates, validation, and archive
|
|
70
|
-
sync so users do not have to repeatedly remind the Agent to keep documents synchronized and connected.
|
|
54
|
+
## Why Comet
|
|
71
55
|
|
|
72
|
-
|
|
56
|
+
- **The stable core for long-running tasks** — Comet's Classic Spec mode combines OpenSpec and Superpowers with a state
|
|
57
|
+
machine, phase guards, and scripts that connect the full lifecycle. Agents can only do the work allowed in the current
|
|
58
|
+
phase and can only exit after the phase work is complete. The core flow can advance automatically, with HITL only at
|
|
59
|
+
moments that need your confirmation.
|
|
60
|
+
- **Resumable workflow and intelligent routing** — Comet uses intent recognition to route each task toward the path it
|
|
61
|
+
needs. `/comet` remembers where a change stopped, supports zero-context recovery across devices, and removes the need
|
|
62
|
+
to memorize long Skill command names: use `/comet` to advance or resume your work.
|
|
63
|
+
- **Skill platform** — Comet can author reusable Skill packages and use `/comet-any` to organize them into distributable
|
|
64
|
+
Bundles, so Skills you create can be distributed to coding platforms with one command, much like `comet init`.
|
|
65
|
+
- **Eval platform** — Comet assesses your skills using scientific Rubric, Pass@k, and Pass^k scoring, ensuring skill evolution is based on scientific evidence rather than intuition. It supports integration with LangSmith assessments, bringing evaluation to real-world enterprise production environments. Its dual-agent architecture automates the assessment process in your production environment.
|
|
73
66
|
|
|
74
|
-
|
|
75
|
-
only like some features. For example, when using both OpenSpec and Superpowers, one might only use OpenSpec's Spec
|
|
76
|
-
management capabilities, but prefer Superpowers' TDD-driven approach for coding.
|
|
67
|
+
## Extremely low memory threshold
|
|
77
68
|
|
|
78
|
-
|
|
79
|
-
practice. The Comet project can serve as a reference:
|
|
69
|
+
With Comet, you only need to remember two skills and one command, covering coding, creation, and evaluation with an extremely low barrier to entry:
|
|
80
70
|
|
|
81
|
-
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
written?
|
|
71
|
+
- Use `/comet` for coding tasks
|
|
72
|
+
- Use `/comet-any` to compose any Skills
|
|
73
|
+
- Use `comet eval` to evaluate any Skill
|
|
85
74
|
|
|
86
|
-
|
|
87
|
-
flow can automatically trigger Skills for the core process except for necessary user choices, while the state machine
|
|
88
|
-
also protects state transition reliability.
|
|
75
|
+
## Comet 0.4.0 Baseline Comparison
|
|
89
76
|
|
|
90
|
-
|
|
91
|
-
Superpowers design and planning documents, then records phase, execution mode, verification results, and archive
|
|
92
|
-
status in `.comet.yaml`, so the Agent can resume after interruption instead of rereading documents and guessing
|
|
93
|
-
progress.
|
|
77
|
+
The following charts are from 16 Comet workflow tasks, with 5 samples per treatment, comparing no Comet, Comet 0.3.9, and Comet 0.4.0.
|
|
94
78
|
|
|
95
|
-
|
|
96
|
-
validation, and archive sync into scripted flows, reducing repeated prompts like "remember to update the design
|
|
97
|
-
doc", "remember to sync the spec", and "remember to archive the change".
|
|
79
|
+
The core observations were the differences in Pass@5, Pass^5, and Rubric scores. The baseline without Comet Skills only validated business behavior.
|
|
98
80
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
81
|
+
<p align="center">
|
|
82
|
+
<img src="https://github.com/rpamis/comet/blob/master/img/comet-eval-pass5.png" alt="Comet pass@5 and pass^5 baseline comparison" width="920">
|
|
83
|
+
</p>
|
|
102
84
|
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
structure.
|
|
85
|
+
<p align="center">
|
|
86
|
+
<img src="https://github.com/rpamis/comet/blob/master/img/comet-eval-rubric-core.png" alt="Comet core rubric and LLM-as-judge baseline comparison" width="920">
|
|
87
|
+
</p>
|
|
107
88
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
89
|
+
## From Industry-Frontier Practice
|
|
90
|
+
|
|
91
|
+
Many Comet capabilities have parallels in current industry practice.
|
|
92
|
+
|
|
93
|
+
> To compare Comet with those patterns, see [Comet Docs](https://docs.comet.rpamis.com/zh/tech-blog/comet-vs-industry).
|
|
94
|
+
|
|
95
|
+
## What You Can Learn
|
|
96
|
+
|
|
97
|
+
- **How to reliably trigger nested Skills** — not by making an agent perform something that merely looks like a Skill
|
|
98
|
+
trigger, such as writing files based on a Skill description, but by actually triggering the Skill. Comet invokes many
|
|
99
|
+
OpenSpec and Superpowers capabilities, with trigger prompts refined through broad real-world practice.
|
|
100
|
+
- **How to make composed Skills advance through multiple phases automatically** — not through manual intervention. Aside
|
|
101
|
+
from necessary user choices, Comet's five-phase flow can trigger core Skills automatically while the state machine keeps
|
|
102
|
+
transitions reliable.
|
|
103
|
+
- **How to make a Spec lifecycle resumable** — Comet links OpenSpec change/spec artifacts with Superpowers design and
|
|
104
|
+
plan documents, then records phase, execution mode, verification result, and archive status in `.comet.yaml`, so an
|
|
105
|
+
agent can continue after interruption instead of rereading documents and guessing progress.
|
|
106
|
+
- **How to turn doc synchronization from reminders into automation** — Comet scripts handoff, state updates, validation,
|
|
107
|
+
and archive sync, reducing repeated prompts such as "remember to update the design doc" or "remember to archive the
|
|
108
|
+
change."
|
|
109
|
+
- **How to design guard conditions that agents can execute** — phase exits do not rely on an agent saying "done." Scripts
|
|
110
|
+
such as `comet-guard.mjs`, `comet-yaml-validate.mjs`, and `comet-state.mjs` check tasks, state fields, verification
|
|
111
|
+
evidence, and archive conditions before the workflow advances.
|
|
112
|
+
- **How to distribute and install Skills across platforms** — Comet supports many AI coding platforms, project/global
|
|
113
|
+
install scopes, Chinese/English Skill variants, and platform-specific directories such as Antigravity's different
|
|
114
|
+
project/global paths.
|
|
115
|
+
- **How to turn scripts into agent workflow infrastructure** — Comet scripts handle hashes, YAML fields, state machines,
|
|
116
|
+
and archive flow, showing how workflow control that is easy to scatter across prompts can become testable, reusable
|
|
117
|
+
tooling.
|
|
118
|
+
- **How to evolve Skills through scientific evaluation** — Comet Eval supports structured rubric scoring plus Pass@k and
|
|
119
|
+
Pass^k metrics, with both local and LangSmith evaluation paths for production use.
|
|
120
|
+
- **How to create Comet-like Skills intelligently** — `/comet-any` composes arbitrary Skills. You describe your Skill
|
|
121
|
+
preferences, and the agent handles stability-related hooks, rules, scripts, and referenced Skill files for you.
|
|
111
122
|
|
|
112
123
|
## Install
|
|
113
124
|
|
|
@@ -116,7 +127,6 @@ Requirements:
|
|
|
116
127
|
- Node.js 20+
|
|
117
128
|
- npm/npx
|
|
118
129
|
- Git
|
|
119
|
-
- Bash-compatible shell for workflow scripts (Windows users should use Git Bash or an equivalent bash environment)
|
|
120
130
|
|
|
121
131
|
```bash
|
|
122
132
|
npm install -g @rpamis/comet
|
|
@@ -129,21 +139,6 @@ cd your-project
|
|
|
129
139
|
comet init
|
|
130
140
|
```
|
|
131
141
|
|
|
132
|
-
`comet init` will:
|
|
133
|
-
|
|
134
|
-
1. Prompt you to select AI platforms (auto-detects existing configs)
|
|
135
|
-
2. Choose install scope: project-level (current directory) or global (home directory)
|
|
136
|
-
3. Select language for Comet skills: English or 中文
|
|
137
|
-
4. Install [OpenSpec](https://github.com/Fission-AI/OpenSpec) skills
|
|
138
|
-
5. Install [Superpowers](https://github.com/obra/superpowers) skills
|
|
139
|
-
6. Deploy Comet skills (in your chosen language) to selected platforms
|
|
140
|
-
7. Create `docs/superpowers/specs/` and `docs/superpowers/plans/` working directories for project-scope installs
|
|
141
|
-
|
|
142
|
-
> [!TIP]
|
|
143
|
-
> update version
|
|
144
|
-
>
|
|
145
|
-
> `comet update` or `npm install -g @rpamis/comet@latest` to get the latest features and fixes.
|
|
146
|
-
|
|
147
142
|
## Support for OpenClaw and Hermes, and other AI platforms
|
|
148
143
|
|
|
149
144
|
For platforms that use the generic `skills` CLI directly, you can install the Comet skill package with:
|
|
@@ -154,6 +149,8 @@ npx skills add rpamis/comet
|
|
|
154
149
|
|
|
155
150
|
## Screenshots
|
|
156
151
|
|
|
152
|
+
### Classic Spec Skill
|
|
153
|
+
|
|
157
154
|
<p align="center">
|
|
158
155
|
<img src="https://github.com/rpamis/comet/blob/master/img/runner.png" alt="runner">
|
|
159
156
|
</p>
|
|
@@ -161,6 +158,25 @@ npx skills add rpamis/comet
|
|
|
161
158
|
<p align="center">Auto-install OpenSpec & Superpowers, one-click dev environment setup</p>
|
|
162
159
|
<p align="center">Multi-phase Skill entry, auto-detects current Spec stage, auto-triggers core flow, manual review at key nodes</p>
|
|
163
160
|
|
|
161
|
+
### Integration with LangSmith/LangFuse
|
|
162
|
+
|
|
163
|
+
Comet Eval's automated dual-agent architecture can integrate online with LangSmith/LangFuse environments, making experiments traceable and skills evolvable.
|
|
164
|
+
|
|
165
|
+
<p align="center">
|
|
166
|
+
<img src="https://github.com/rpamis/comet/blob/master/img/langsmith-dataset.png" alt="runner">
|
|
167
|
+
</p>
|
|
168
|
+
<p align="center">Manage your Skill baseline in LangSmith and view detailed performance metrics, latency, and token consumption</p>
|
|
169
|
+
|
|
170
|
+
<p align="center">
|
|
171
|
+
<img src="https://github.com/rpamis/comet/blob/master/img/langsmith-trace.png" alt="runner">
|
|
172
|
+
</p>
|
|
173
|
+
<p align="center">Trace your Claude Code in LangSmith</p>
|
|
174
|
+
|
|
175
|
+
<p align="center">
|
|
176
|
+
<img src="https://github.com/rpamis/comet/blob/master/img/langsmith-baseline-detail.png" alt="runner">
|
|
177
|
+
</p>
|
|
178
|
+
<p align="center">Trace custom Rubric metrics with Pytest in LangSmith</p>
|
|
179
|
+
|
|
164
180
|
## Commands
|
|
165
181
|
|
|
166
182
|
<details>
|
|
@@ -168,13 +184,14 @@ npx skills add rpamis/comet
|
|
|
168
184
|
|
|
169
185
|
Initializes OpenSpec, Superpowers, and Comet skills for selected AI coding platforms.
|
|
170
186
|
|
|
171
|
-
| Option
|
|
172
|
-
|
|
173
|
-
| `--yes`
|
|
174
|
-
| `--scope <scope>`
|
|
175
|
-
| `--
|
|
176
|
-
| `--
|
|
177
|
-
| `--
|
|
187
|
+
| Option | Description |
|
|
188
|
+
| ------------------- | ------------------------------------------------------------------------------ |
|
|
189
|
+
| `--yes` | Non-interactive mode, auto-select detected platforms (or all if none detected) |
|
|
190
|
+
| `--scope <scope>` | Install scope: `project` or `global` |
|
|
191
|
+
| `--language <lang>` | Skill language: `en` or `zh` (skips interactive language prompt) |
|
|
192
|
+
| `--skip-existing` | Skip already installed components |
|
|
193
|
+
| `--overwrite` | Overwrite already installed components |
|
|
194
|
+
| `--json` | Output structured JSON |
|
|
178
195
|
|
|
179
196
|
When multiple existing components are found on the same platform, interactive init offers one bulk choice: overwrite
|
|
180
197
|
all, skip all, or choose per component.
|
|
@@ -184,21 +201,45 @@ all, skip all, or choose per component.
|
|
|
184
201
|
<details>
|
|
185
202
|
<summary><code>comet status [path]</code> — Show active changes and next workflow command</summary>
|
|
186
203
|
|
|
187
|
-
Displays active changes, task progress,
|
|
204
|
+
Displays active changes, task progress, the recommended next Comet workflow command, the current step, runtime mode,
|
|
205
|
+
and diagnostic recovery hints when a change is malformed or missing required evidence.
|
|
188
206
|
|
|
189
|
-
| Option | Description
|
|
190
|
-
|
|
191
|
-
| `--json` | Output active changes with `nextCommand` |
|
|
207
|
+
| Option | Description |
|
|
208
|
+
| -------- | ------------------------------------------------------------------------- |
|
|
209
|
+
| `--json` | Output active changes with `nextCommand`, `currentStep`, and runtime data |
|
|
210
|
+
|
|
211
|
+
</details>
|
|
212
|
+
|
|
213
|
+
<details>
|
|
214
|
+
<summary><code>comet dashboard [path]</code> — Launch local read-only dashboard server</summary>
|
|
215
|
+
|
|
216
|
+
Starts a local HTTP server that displays a visual dashboard with active changes, phase status, task progress, and archive history. Auto-opens in your browser by default.
|
|
217
|
+
|
|
218
|
+
<p align="center">
|
|
219
|
+
<img src="https://github.com/rpamis/comet/blob/master/img/dashboard-light.png" alt="Comet Dashboard Light" width="800">
|
|
220
|
+
</p>
|
|
221
|
+
<p align="center">
|
|
222
|
+
<img src="https://github.com/rpamis/comet/blob/master/img/dashboard-dark.png" alt="Comet Dashboard Dark" width="800">
|
|
223
|
+
</p>
|
|
224
|
+
<p align="center">Active change overview with phase indicators, task progress, and archive history</p>
|
|
225
|
+
|
|
226
|
+
| Option | Description |
|
|
227
|
+
| ----------- | --------------------------------------------------------------------------- |
|
|
228
|
+
| `--port` | Server port (default: auto-selects available port) |
|
|
229
|
+
| `--no-open` | Don't auto-open the dashboard in browser |
|
|
230
|
+
| `--json` | Collect single snapshot and print JSON to stdout (for scripting/inspection) |
|
|
192
231
|
|
|
193
232
|
</details>
|
|
194
233
|
|
|
195
234
|
<details>
|
|
196
235
|
<summary><code>comet doctor [path]</code> — Diagnose Comet installation health</summary>
|
|
197
236
|
|
|
198
|
-
Checks project/global installation health, working directories, installed skills, scripts, and
|
|
237
|
+
Checks project/global installation health, working directories, installed skills, scripts, and active change
|
|
238
|
+
diagnostics. `comet doctor` reports diagnostic status for malformed `.comet.yaml` files, current step / runtime mode
|
|
239
|
+
for valid changes, and runtime evidence gaps that block safe resume.
|
|
199
240
|
|
|
200
241
|
| Option | Description |
|
|
201
|
-
|
|
242
|
+
| ----------------- | --------------------------------------------------------------- |
|
|
202
243
|
| `--json` | Output structured diagnostic results |
|
|
203
244
|
| `--scope <scope>` | Diagnose `auto`, `project`, or `global` scope (default: `auto`) |
|
|
204
245
|
|
|
@@ -210,7 +251,7 @@ Checks project/global installation health, working directories, installed skills
|
|
|
210
251
|
Updates the npm package and refreshes installed Comet skills in detected project/global targets.
|
|
211
252
|
|
|
212
253
|
| Option | Description |
|
|
213
|
-
|
|
254
|
+
| ------------------- | --------------------------------------------- |
|
|
214
255
|
| `--json` | Output npm and skill update results as JSON |
|
|
215
256
|
| `--language <lang>` | Override detected skill language (`en`, `zh`) |
|
|
216
257
|
| `--scope <scope>` | Update only `global` or `project` scope |
|
|
@@ -222,11 +263,11 @@ Updates the npm package and refreshes installed Comet skills in detected project
|
|
|
222
263
|
|
|
223
264
|
Safely removes Comet-distributed skills, rules, and hooks from all detected platforms. Preserves user-defined hooks and non-Comet configuration.
|
|
224
265
|
|
|
225
|
-
| Option | Description
|
|
226
|
-
|
|
227
|
-
| `--force` | Skip confirmation prompt
|
|
228
|
-
| `--scope <scope>` | Uninstall only `global` or `project` scope
|
|
229
|
-
| `--json` | Output removal results as JSON
|
|
266
|
+
| Option | Description |
|
|
267
|
+
| ----------------- | ------------------------------------------ |
|
|
268
|
+
| `--force` | Skip confirmation prompt |
|
|
269
|
+
| `--scope <scope>` | Uninstall only `global` or `project` scope |
|
|
270
|
+
| `--json` | Output removal results as JSON |
|
|
230
271
|
|
|
231
272
|
```bash
|
|
232
273
|
comet uninstall # Interactive — shows targets, asks for confirmation
|
|
@@ -236,41 +277,137 @@ comet uninstall --scope project # Only remove project-level installations
|
|
|
236
277
|
|
|
237
278
|
</details>
|
|
238
279
|
|
|
280
|
+
<details>
|
|
281
|
+
<summary><code>comet eval [target]</code> — Evaluate Skills through the shared eval harness</summary>
|
|
282
|
+
|
|
283
|
+
`comet eval` answers a simple question: does this Skill actually work reliably on standard tasks?
|
|
284
|
+
|
|
285
|
+
The most common case is evaluating a Skill generated by `/comet-any`. Generated packages usually include
|
|
286
|
+
`comet/eval.yaml`; pass that file to `comet eval` first:
|
|
287
|
+
|
|
288
|
+
```bash
|
|
289
|
+
comet eval ./generated-skill/comet/eval.yaml --collect
|
|
290
|
+
comet eval ./generated-skill/comet/eval.yaml --html
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
The first command only performs discovery and preflight checks, confirming that the manifest, tasks, and dependency paths
|
|
294
|
+
can be found before any expensive evaluation work runs. The second command runs local evaluation and writes a browsable
|
|
295
|
+
report suitable for publish-readiness evidence. The report path is printed by the command and is usually under
|
|
296
|
+
`eval/local/logs/experiments/<experiment-id>/summary.html`.
|
|
297
|
+
|
|
298
|
+
If you do not have `comet/eval.yaml` yet and only have a local Skill directory, start with a low-cost smoke run:
|
|
299
|
+
|
|
300
|
+
```bash
|
|
301
|
+
comet eval ./my-skill --quick --html
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
That path is useful early on: it checks that the Skill directory can be read, injected into the eval harness, and run
|
|
305
|
+
against the generic smoke task. For release evidence, prefer generating `comet/eval.yaml` through `/comet-any` and using
|
|
306
|
+
the manifest path.
|
|
307
|
+
|
|
308
|
+
### Reading Local Eval
|
|
309
|
+
|
|
310
|
+
Local eval is the normal path for day-to-day development and pre-release checks. In the HTML report, look first at:
|
|
311
|
+
|
|
312
|
+
- whether pass/fail and rubric scores match expectations
|
|
313
|
+
- whether failures are attributed to the Skill, workflow, task, model, or environment/harness
|
|
314
|
+
- whether expected artifacts are missing
|
|
315
|
+
- whether token use, cost, or duration look unusual
|
|
316
|
+
- whether the result is clean enough, or a specific task/treatment should be rerun
|
|
317
|
+
|
|
318
|
+
If the report says `Insufficient clean data` or `Inconclusive due to data quality`, check auth, rate limits,
|
|
319
|
+
Docker/container setup, network, and other environment issues before treating the run as a Skill-quality verdict.
|
|
320
|
+
|
|
321
|
+
### LangSmith Eval
|
|
322
|
+
|
|
323
|
+
Use the LangSmith suite when you want to sync eval results to LangSmith, or when your team wants to inspect runs, rubric
|
|
324
|
+
feedback, costs, and Claude Code trajectories together. It reuses the same tasks, treatments, rubric, and
|
|
325
|
+
`comet/eval.yaml`; the difference is that results are uploaded to LangSmith.
|
|
326
|
+
|
|
327
|
+
Prepare dependencies and environment variables once:
|
|
328
|
+
|
|
329
|
+
```bash
|
|
330
|
+
cd eval
|
|
331
|
+
uv sync --extra langsmith
|
|
332
|
+
```
|
|
333
|
+
|
|
334
|
+
```bash
|
|
335
|
+
LANGSMITH_API_KEY=lsv2_pt_...
|
|
336
|
+
LANGSMITH_PROJECT=comet-skill-eval
|
|
337
|
+
LANGSMITH_TRACING=true
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
Then run the same manifest:
|
|
341
|
+
|
|
342
|
+
```bash
|
|
343
|
+
cd eval
|
|
344
|
+
uv run pytest langsmith/tests/tasks/test_tasks.py \
|
|
345
|
+
--eval-manifest=/absolute/path/to/generated-skill/comet/eval.yaml -v
|
|
346
|
+
```
|
|
347
|
+
|
|
348
|
+
In PowerShell, set `$env:LANGSMITH_API_KEY`, `$env:LANGSMITH_PROJECT`, and `$env:LANGSMITH_TRACING`, or place them in
|
|
349
|
+
`eval/.env`. See [eval/langsmith/README.md](eval/langsmith/README.md) for plugin cache and trajectory tracing details.
|
|
350
|
+
|
|
351
|
+
### Which Path To Use
|
|
352
|
+
|
|
353
|
+
- Day-to-day development: `comet eval ./my-skill --quick --html`
|
|
354
|
+
- `/comet-any` output: `comet eval ./generated-skill/comet/eval.yaml --collect`, then rerun with `--html`
|
|
355
|
+
- Publish evidence: prefer the local HTML report from `comet/eval.yaml`
|
|
356
|
+
- Team tracing and side-by-side comparison: run the same `comet/eval.yaml` through the LangSmith suite
|
|
357
|
+
|
|
358
|
+
For full task, treatment, report, and troubleshooting details, see the [Eval usage guide](docs/operations/EVAL-USAGE.md).
|
|
359
|
+
|
|
360
|
+
</details>
|
|
361
|
+
|
|
362
|
+
<details>
|
|
363
|
+
<summary><code>/comet-any</code> / <code>comet creator</code> / <code>comet publish</code> — Create, evaluate, and publish Skills</summary>
|
|
364
|
+
|
|
365
|
+
`/comet-any` is the main user path: Create or optimize a reusable Skill → validate it with `comet eval` → review and
|
|
366
|
+
distribute it, until it becomes a stable composed Skill. For resume and release, use `comet creator`,
|
|
367
|
+
`comet creator status` / `comet creator next`, `comet publish`, and `comet publish distribute --preview`. The README
|
|
368
|
+
does not expand the backend command list; see the [Skill creation guide](docs/operations/SKILL-CREATION.md) for Advanced Bundle backend and Advanced Engine Run details, including `comet skill run` / `comet skill continue`.
|
|
369
|
+
|
|
370
|
+
</details>
|
|
371
|
+
|
|
372
|
+
<details>
|
|
373
|
+
<summary><code>comet --help</code> / <code>comet --version</code> — Basic information</summary>
|
|
374
|
+
|
|
239
375
|
| Command | Description |
|
|
240
|
-
|
|
376
|
+
| ----------------- | ------------ |
|
|
241
377
|
| `comet --help` | Show help |
|
|
242
378
|
| `comet --version` | Show version |
|
|
243
379
|
|
|
380
|
+
</details>
|
|
381
|
+
|
|
244
382
|
## Supported Platforms
|
|
245
383
|
|
|
246
|
-
`comet init` supports
|
|
384
|
+
`comet init` supports 33 AI coding platforms:
|
|
247
385
|
|
|
248
386
|
<details>
|
|
249
387
|
<summary>View full platform list</summary>
|
|
250
388
|
|
|
251
|
-
| Platform | Skills Dir
|
|
252
|
-
|
|
253
|
-
| Claude Code | `.claude/`
|
|
254
|
-
| Codex | `.codex/`
|
|
255
|
-
| Windsurf | `.windsurf/`
|
|
256
|
-
| RooCode | `.roo/`
|
|
257
|
-
| GitHub Copilot | `.github/`
|
|
258
|
-
| Amazon Q Developer | `.amazonq/`
|
|
259
|
-
| Kilo Code | `.kilocode/`
|
|
260
|
-
| Kimi Code | `.kimi-code
|
|
261
|
-
| Lingma | `.lingma/`
|
|
262
|
-
| CodeBuddy | `.codebuddy
|
|
263
|
-
| Crush | `.crush/`
|
|
264
|
-
| iFlow | `.iflow/`
|
|
265
|
-
| Qoder | `.qoder/`
|
|
266
|
-
|
|
|
267
|
-
| Trae
|
|
389
|
+
| Platform | Skills Dir | Platform | Skills Dir |
|
|
390
|
+
| ------------------ | ------------- | ------------- | ------------ |
|
|
391
|
+
| Claude Code | `.claude/` | Cursor | `.cursor/` |
|
|
392
|
+
| Codex | `.codex/` | OpenCode | `.opencode/` |
|
|
393
|
+
| Windsurf | `.windsurf/` | Cline | `.cline/` |
|
|
394
|
+
| RooCode | `.roo/` | Continue | `.continue/` |
|
|
395
|
+
| GitHub Copilot | `.github/` | Gemini CLI | `.gemini/` |
|
|
396
|
+
| Amazon Q Developer | `.amazonq/` | Qwen Code | `.qwen/` |
|
|
397
|
+
| Kilo Code | `.kilocode/` | Auggie | `.augment/` |
|
|
398
|
+
| Kimi Code | `.kimi-code/` | Kiro | `.kiro/` |
|
|
399
|
+
| Lingma | `.lingma/` | Junie | `.junie/` |
|
|
400
|
+
| CodeBuddy | `.codebuddy/` | CoStrict | `.cospec/` |
|
|
401
|
+
| Crush | `.crush/` | Factory Droid | `.factory/` |
|
|
402
|
+
| iFlow | `.iflow/` | Pi | `.pi/` |
|
|
403
|
+
| Qoder | `.qoder/` | Antigravity | `.agents/` |
|
|
404
|
+
| Antigravity 2.0 | `.agents/` | Bob Shell | `.bob/` |
|
|
405
|
+
| ForgeCode | `.forge/` | Trae | `.trae/` |
|
|
406
|
+
| Trae CN | `.trae-cn/` | ZCode | `.zcode/` |
|
|
407
|
+
| MimoCode | `.mimocode/` | | |
|
|
268
408
|
|
|
269
409
|
</details>
|
|
270
410
|
|
|
271
|
-
Some platforms use different project and global directories. For example, OpenCode global installs use
|
|
272
|
-
`.config/opencode`, Lingma global installs use `.lingma`, and Antigravity global installs use `.gemini/antigravity`.
|
|
273
|
-
|
|
274
411
|
## Skills
|
|
275
412
|
|
|
276
413
|
After `comet init`, three groups of skills are installed to the selected platform's `skills/` directory:
|
|
@@ -280,16 +417,17 @@ After `comet init`, three groups of skills are installed to the selected platfor
|
|
|
280
417
|
<details>
|
|
281
418
|
<summary>View Comet skills</summary>
|
|
282
419
|
|
|
283
|
-
| Skill | Description
|
|
284
|
-
|
|
285
|
-
| `/comet` | Main entry — auto-detects phase and dispatches to sub-commands
|
|
286
|
-
| `/comet-open` | Phase 1: Open a change (proposal, design, task breakdown)
|
|
287
|
-
| `/comet-design` | Phase 2: Deep design (brainstorming, Design Doc)
|
|
288
|
-
| `/comet-build` | Phase 3: Plan and build (implementation plan, code commits)
|
|
289
|
-
| `/comet-verify` | Phase 4: Verify and finish (testing, verification report)
|
|
290
|
-
| `/comet-archive` | Phase 5: Archive (delta spec sync, status annotation)
|
|
291
|
-
| `/comet-hotfix` | Preset: Quick bug fix (skips brainstorming)
|
|
292
|
-
| `/comet-tweak` | Preset:
|
|
420
|
+
| Skill | Description |
|
|
421
|
+
| ---------------- | ----------------------------------------------------------------------------------------------------- |
|
|
422
|
+
| `/comet` | Main entry — auto-detects phase and dispatches to sub-commands |
|
|
423
|
+
| `/comet-open` | Phase 1: Open a change (proposal, design, task breakdown) |
|
|
424
|
+
| `/comet-design` | Phase 2: Deep design (brainstorming, Design Doc) |
|
|
425
|
+
| `/comet-build` | Phase 3: Plan and build (implementation plan, code commits) |
|
|
426
|
+
| `/comet-verify` | Phase 4: Verify and finish (testing, verification report) |
|
|
427
|
+
| `/comet-archive` | Phase 5: Archive (delta spec sync, status annotation) |
|
|
428
|
+
| `/comet-hotfix` | Preset: Quick bug fix (skips brainstorming) |
|
|
429
|
+
| `/comet-tweak` | Preset: OpenSpec-chained medium change (delta spec is first-class, skips brainstorming and full plan) |
|
|
430
|
+
| `/comet-any` | Comet Skill Creator — Create or optimize a reusable Skill |
|
|
293
431
|
|
|
294
432
|
</details>
|
|
295
433
|
|
|
@@ -298,25 +436,20 @@ After `comet init`, three groups of skills are installed to the selected platfor
|
|
|
298
436
|
<details>
|
|
299
437
|
<summary>View script list</summary>
|
|
300
438
|
|
|
301
|
-
| Script
|
|
302
|
-
|
|
303
|
-
| `comet-env.
|
|
304
|
-
| `comet-guard.
|
|
305
|
-
| `comet-handoff.
|
|
306
|
-
| `comet-archive.
|
|
307
|
-
| `comet-yaml-validate.
|
|
308
|
-
| `comet-
|
|
309
|
-
| `comet-
|
|
310
|
-
|
|
311
|
-
</details>
|
|
312
|
-
|
|
313
|
-
### OpenSpec Skills
|
|
314
|
-
|
|
315
|
-
Spec lifecycle management: propose, explore, sync, verify, archive, and more.
|
|
439
|
+
| Script | Purpose |
|
|
440
|
+
| ------------------------- | ---------------------------------------------------------------------------------------------------------- |
|
|
441
|
+
| `comet-env.mjs` | Script discovery helper — prints the bundled scripts directory so skills can resolve sibling command paths |
|
|
442
|
+
| `comet-guard.mjs` | Phase transition guard — validates exit conditions, `--apply` auto-updates `.comet.yaml` |
|
|
443
|
+
| `comet-handoff.mjs` | Design handoff — generates deterministic context packages from OpenSpec artifacts with SHA256 tracing |
|
|
444
|
+
| `comet-archive.mjs` | One-command archive — validates state, syncs specs, moves to archive, updates status |
|
|
445
|
+
| `comet-yaml-validate.mjs` | Schema validator — validates `.comet.yaml` structure and field values |
|
|
446
|
+
| `comet-state.mjs` | Unified state management — init/set/get/check/scale, agents' exclusive YAML interface |
|
|
447
|
+
| `comet-hook-guard.mjs` | Phase write guard — PreToolUse hook, blocks file writes during open/design/archive phases |
|
|
316
448
|
|
|
317
|
-
|
|
449
|
+
Classic automation ships as independent Node.js command scripts generated from TypeScript. They run through `node`
|
|
450
|
+
on every platform, so Comet requires only Node.js — no Bash, Git Bash, or WSL.
|
|
318
451
|
|
|
319
|
-
|
|
452
|
+
</details>
|
|
320
453
|
|
|
321
454
|
## Workflow
|
|
322
455
|
|
|
@@ -329,41 +462,47 @@ Development methodology: brainstorming, TDD, subagent-driven development, code r
|
|
|
329
462
|
/comet-hotfix (preset path, skips brainstorming)
|
|
330
463
|
open --> build --> verify --> archive
|
|
331
464
|
|
|
332
|
-
/comet-tweak (preset
|
|
333
|
-
open -->
|
|
465
|
+
/comet-tweak (lightweight preset, chains OpenSpec)
|
|
466
|
+
open --> build --> verify --> archive
|
|
334
467
|
```
|
|
335
468
|
|
|
336
469
|
### Five Phases
|
|
337
470
|
|
|
338
471
|
| Phase | Command | Owner | Artifacts |
|
|
339
|
-
|
|
472
|
+
| ------------------ | ---------------- | ----------- | ------------------------------------ |
|
|
340
473
|
| 1. Open | `/comet-open` | OpenSpec | proposal.md, design.md, tasks.md |
|
|
341
474
|
| 2. Deep Design | `/comet-design` | Superpowers | Design Doc, delta spec |
|
|
342
475
|
| 3. Plan & Build | `/comet-build` | Superpowers | Implementation plan, code commits |
|
|
343
476
|
| 4. Verify & Finish | `/comet-verify` | Both | Verification report, branch handling |
|
|
344
477
|
| 5. Archive | `/comet-archive` | OpenSpec | delta→main spec sync, archive |
|
|
345
478
|
|
|
346
|
-
###
|
|
479
|
+
### State Management
|
|
480
|
+
|
|
481
|
+
Comet uses a decoupled state architecture with separate files
|
|
347
482
|
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
- **Keep tasks.md in sync** — check off each task as completed
|
|
351
|
-
- **Commit frequently** — one commit per task, message reflects design intent
|
|
352
|
-
- **Verify before archive** — `/comet-verify` must pass before `/comet-archive`
|
|
483
|
+
<details>
|
|
484
|
+
<summary>View State Management</summary>
|
|
353
485
|
|
|
354
|
-
|
|
486
|
+
| File | Owner | Purpose |
|
|
487
|
+
| --------------------------- | -------- | --------------------------------------------------- |
|
|
488
|
+
| `.openspec.yaml` | OpenSpec | Spec lifecycle, change metadata |
|
|
489
|
+
| `.comet.yaml` | Comet | Workflow phase, execution mode, verification status |
|
|
490
|
+
| `.comet/run-state.json` | Engine | Run identity and execution state (machine-owned) |
|
|
491
|
+
| `.comet/state-events.jsonl` | Comet | Append-only state transition audit log |
|
|
355
492
|
|
|
356
|
-
|
|
493
|
+
`.comet.yaml` stores Classic workflow state and only keeps `run_id` as the link to the Engine Run. Machine-owned Engine
|
|
494
|
+
state lives in `.comet/run-state.json` with camelCase fields such as `currentStep`, `status`, and `iteration`. Legacy
|
|
495
|
+
Run fields left in YAML are migrated after compatibility reads, and `skill` is no longer a valid current
|
|
496
|
+
`.comet.yaml` field.
|
|
357
497
|
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
| `.comet.yaml` | Comet | Workflow phase, execution mode, verification status |
|
|
498
|
+
Phase progression is handled consistently by the TypeScript transition table, `comet-state transition`,
|
|
499
|
+
`comet-guard --apply`, and archive commands. Each successful progression appends an audit event to
|
|
500
|
+
`.comet/state-events.jsonl` with the source, before/after state, and actual field changes.
|
|
362
501
|
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
502
|
+
This keeps Skill text focused on guiding the agent while scripts own state writes, phase checks, auditability, and
|
|
503
|
+
breakpoint recovery. Agents can use Comet commands to know which phase the current Spec is in.
|
|
504
|
+
|
|
505
|
+
</details>
|
|
367
506
|
|
|
368
507
|
<details>
|
|
369
508
|
<summary>View key .comet.yaml fields</summary>
|
|
@@ -371,39 +510,37 @@ through Comet's built-in commands.
|
|
|
371
510
|
**Key Fields in `.comet.yaml`:**
|
|
372
511
|
|
|
373
512
|
```yaml
|
|
374
|
-
workflow: full
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
513
|
+
workflow: full # Workflow type: full | tweak | hotfix
|
|
514
|
+
phase: build # Current phase: open | design | build | verify | archive
|
|
515
|
+
context_compression: off # Context compression: off | beta
|
|
516
|
+
auto_transition: true # Auto-invoke the next Skill after phase completion
|
|
517
|
+
base_ref: <git-sha-or-null> # Baseline commit captured at init; may be null
|
|
518
|
+
created_at: YYYY-MM-DD # Creation date written by comet-state.mjs init
|
|
519
|
+
run_id: <uuid> # Links to .comet/run-state.json only; Run details stay out of YAML
|
|
520
|
+
review_mode: standard # Automatic review strength: off | standard | thorough
|
|
521
|
+
build_mode: subagent-driven-development # Build mode: subagent-driven-development | executing-plans | direct
|
|
522
|
+
build_pause: null # `build_pause` records an internal build-phase pause point: null none, `plan-ready` means the plan has been generated
|
|
523
|
+
subagent_dispatch: null # Dispatch confirmation; confirm before verify
|
|
524
|
+
tdd_mode: null # Full-workflow build choice: tdd | direct
|
|
525
|
+
isolation: branch # Isolation mode: branch | worktree
|
|
526
|
+
verify_mode: null # Verification mode: light | full
|
|
527
|
+
design_doc: docs/superpowers/specs/<design-doc>.md # Design doc path
|
|
528
|
+
plan: docs/superpowers/plans/YYYY-MM-DD-feature.md # Implementation plan path
|
|
529
|
+
verify_result: pending # Verification result: pending | pass | fail
|
|
530
|
+
verification_report: null # Verification report path; must exist before verify-pass
|
|
531
|
+
branch_status: pending # Branch handling status: pending | handled
|
|
532
|
+
verified_at: null # Verification timestamp; null before verification passes
|
|
533
|
+
archived: false # Archived changes are blocked from further mutation
|
|
534
|
+
direct_override: null # Must be true when a full workflow chooses direct build
|
|
535
|
+
build_command: null # Optional build command; may also live in repo-root config
|
|
536
|
+
verify_command: null # Optional verify command; may also live in repo-root config
|
|
537
|
+
handoff_context: null # Design handoff context path written by comet-handoff.mjs
|
|
538
|
+
handoff_hash: null # SHA256 for handoff_context; 64 hex chars when present
|
|
539
|
+
classic_profile: full # Machine-maintained Classic profile
|
|
540
|
+
classic_migration: 1 # Machine-maintained migration version
|
|
395
541
|
```
|
|
396
542
|
|
|
397
|
-
|
|
398
|
-
temporarily be `null`; `build_mode` and `isolation` must be resolved before `build → verify`. `auto_transition` controls automatic vs manual skill invocation after phase completion — see [AUTO-TRANSITION.md](docs/AUTO-TRANSITION.md). `build_pause` records an internal build-phase pause point:
|
|
399
|
-
`null` means no pause, while `plan-ready` means the plan has been generated and the user paused before choosing
|
|
400
|
-
isolation and execution mode. It is not an execution mode and must not be written into `build_mode`.
|
|
401
|
-
`verification_report` stays `null` until verification writes a report, and `verify-pass` requires that report to exist
|
|
402
|
-
plus `branch_status: handled`. Fields after `archived` in the example are optional or script-derived: `direct_override`
|
|
403
|
-
is only needed for full-workflow direct builds, project commands may be absent unless configured, and
|
|
404
|
-
`handoff_context` / `handoff_hash` are recorded by `comet-handoff.sh` before leaving design. Projects can configure
|
|
405
|
-
`build_command` / `verify_command` in the change or repo root, and guard will run those commands first and print failure
|
|
406
|
-
output.
|
|
543
|
+
Current `.comet.yaml` no longer contains `skill`; legacy Run fields in YAML are migrated to `.comet/run-state.json`.
|
|
407
544
|
|
|
408
545
|
</details>
|
|
409
546
|
|
|
@@ -415,57 +552,64 @@ Comet ensures agent execution reliability through automated state transitions:
|
|
|
415
552
|
<summary>View reliability features</summary>
|
|
416
553
|
|
|
417
554
|
1. **Entry Verification** — Each phase validates preconditions before execution
|
|
418
|
-
|
|
419
|
-
|
|
555
|
+
- Checks file existence, state consistency, and phase transitions
|
|
556
|
+
- Outputs `[HARD STOP]` with actionable suggestions if validation fails
|
|
420
557
|
|
|
421
|
-
2. **Automated State Transitions** — `comet-guard.
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
558
|
+
2. **Automated State Transitions** — `comet-guard.mjs --apply` updates `.comet.yaml` automatically
|
|
559
|
+
- All phase transitions (open → design/build → verify → archive) use `guard --apply`
|
|
560
|
+
- No manual state editing required — eliminates write-verification errors
|
|
561
|
+
- `comet-state.mjs` is the agents' exclusive interface for state operations
|
|
562
|
+
- Guard and archive scripts use `comet-state.mjs` internally for state management
|
|
426
563
|
|
|
427
|
-
3. **Schema Validation** — `comet-yaml-validate.
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
564
|
+
3. **Schema Validation** — `comet-yaml-validate.mjs` ensures data integrity
|
|
565
|
+
- Validates required and optional fields
|
|
566
|
+
- Validates enum values, including `direct_override`
|
|
567
|
+
- Validates `design_doc`, `plan`, and `handoff_context` paths exist, plus `handoff_hash` format
|
|
568
|
+
- Detects unknown/typos fields
|
|
432
569
|
|
|
433
570
|
4. **Build Decision Enforcement** — Guard and state transitions both block skipped build choices
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
571
|
+
- `isolation` must be `branch` or `worktree`
|
|
572
|
+
- `build_mode` must be selected before leaving build
|
|
573
|
+
- `build_pause: plan-ready` is a recoverable pause after plan generation, not a `build_mode`
|
|
574
|
+
- Full workflow `build_mode: direct` requires `direct_override: true`
|
|
438
575
|
|
|
439
576
|
5. **Verification Evidence** — Guard enforces proof before phase advance
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
6. **Archive Automation** — `comet-archive.
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
577
|
+
- `verify-pass` transition requires `verification_report` pointing to an existing report file
|
|
578
|
+
- `branch_status` must be `handled` before verify can pass
|
|
579
|
+
- Guard checks `verification_report exists` and `branch_status=handled` as hard prerequisites
|
|
580
|
+
- Prevents false phase advances when verification or branch handling was skipped
|
|
581
|
+
|
|
582
|
+
6. **Archive Automation** — `comet-archive.mjs` handles the full archive flow in one command
|
|
583
|
+
- Validates entry state, merges delta specs into main specs through OpenSpec
|
|
584
|
+
- Annotates design doc and plan frontmatter
|
|
585
|
+
- Moves change to archive directory and updates `archived: true`
|
|
586
|
+
- Supports `--dry-run` for preview
|
|
587
|
+
|
|
588
|
+
7. **Anti-drift Phase Guards** — Phase awareness for long-context sessions
|
|
589
|
+
- Rule layer: `comet-phase-guard.md` injects phase awareness, Skill invocation rules, and context recovery guidance
|
|
590
|
+
each turn across platforms
|
|
591
|
+
- Hook layer: `comet-hook-guard.mjs` hard-blocks file writes during open/design/archive phases on platforms that
|
|
592
|
+
support hooks, such as Claude Code
|
|
593
|
+
- Allowlisted paths: `openspec/*`, `docs/superpowers/*`, `.superpowers/*`, `.claude/*`, and `.comet/*`
|
|
450
594
|
|
|
451
595
|
</details>
|
|
452
596
|
|
|
453
|
-
## Project Structure
|
|
597
|
+
## Classic Spec Mode Project Structure
|
|
454
598
|
|
|
455
599
|
```
|
|
456
600
|
your-project/
|
|
457
601
|
├── .comet/
|
|
458
|
-
│ └── config.yaml # Project-level global config (context_compression,
|
|
602
|
+
│ └── config.yaml # Project-level global config (context_compression, review_mode, auto_transition)
|
|
459
603
|
├── .claude/skills/ # Platform skills dir (Comet + OpenSpec + Superpowers)
|
|
460
604
|
│ ├── comet/SKILL.md
|
|
461
605
|
│ │ └── scripts/
|
|
462
|
-
│ │ ├── comet-guard.
|
|
463
|
-
│ │ ├── comet-env.
|
|
464
|
-
│ │ ├── comet-handoff.
|
|
465
|
-
│ │ ├── comet-archive.
|
|
466
|
-
│ │ ├── comet-yaml-validate.
|
|
467
|
-
│ │ ├── comet-hook-guard.
|
|
468
|
-
│ │ └── comet-state.
|
|
606
|
+
│ │ ├── comet-guard.mjs # Phase transition guard (--apply auto-updates state)
|
|
607
|
+
│ │ ├── comet-env.mjs # Script discovery helper
|
|
608
|
+
│ │ ├── comet-handoff.mjs # Design handoff (OpenSpec → Superpowers context tracing)
|
|
609
|
+
│ │ ├── comet-archive.mjs # One-command archive automation
|
|
610
|
+
│ │ ├── comet-yaml-validate.mjs # Schema validator
|
|
611
|
+
│ │ ├── comet-hook-guard.mjs # Phase write guard (PreToolUse hook)
|
|
612
|
+
│ │ └── comet-state.mjs # Unified state management (init/set/get/check/scale)
|
|
469
613
|
│ ├── comet-*/SKILL.md
|
|
470
614
|
│ ├── openspec-*/SKILL.md
|
|
471
615
|
│ └── brainstorming/SKILL.md
|
|
@@ -474,7 +618,10 @@ your-project/
|
|
|
474
618
|
│ └── changes/
|
|
475
619
|
│ └── <name>/
|
|
476
620
|
│ ├── .openspec.yaml # OpenSpec state
|
|
477
|
-
│ ├── .comet.yaml # Comet workflow state (
|
|
621
|
+
│ ├── .comet.yaml # Comet workflow state (Classic fields + run_id link)
|
|
622
|
+
│ ├── .comet/
|
|
623
|
+
│ │ ├── run-state.json # Engine Run state (machine-owned, auto-migrated)
|
|
624
|
+
│ │ └── state-events.jsonl # State transition audit log (append-only)
|
|
478
625
|
│ ├── proposal.md
|
|
479
626
|
│ ├── design.md
|
|
480
627
|
│ ├── specs/<capability>/spec.md
|
|
@@ -487,11 +634,11 @@ your-project/
|
|
|
487
634
|
<details>
|
|
488
635
|
<summary>Context Compression (Beta)</summary>
|
|
489
636
|
|
|
490
|
-
Comet supports context compression at the Design → Build handoff. When enabled, `comet-handoff.
|
|
637
|
+
Comet supports context compression at the Design → Build handoff. When enabled, `comet-handoff.mjs` generates a compact
|
|
491
638
|
context package that reduces Build-phase input tokens by **25–30%** without affecting implementation correctness.
|
|
492
639
|
|
|
493
640
|
| Mode | Behavior | Token Savings |
|
|
494
|
-
|
|
641
|
+
| ------ | ---------------------------------------- | ------------- |
|
|
495
642
|
| `off` | Full Spec excerpts in handoff context | Baseline |
|
|
496
643
|
| `beta` | Design Doc + SHA256 hash references only | ~25–30% |
|
|
497
644
|
|
|
@@ -514,9 +661,9 @@ reproduction steps.
|
|
|
514
661
|
`auto_transition` controls whether Comet automatically invokes the next skill after a phase completes, or pauses for
|
|
515
662
|
manual handoff. Phase advancement itself always happens — this setting only affects skill invocation.
|
|
516
663
|
|
|
517
|
-
| Value
|
|
518
|
-
|
|
519
|
-
| `true`
|
|
664
|
+
| Value | Behavior |
|
|
665
|
+
| ------- | ------------------------------------------------------------- |
|
|
666
|
+
| `true` | Auto-invoke the next skill after each phase (default) |
|
|
520
667
|
| `false` | Pause after each phase; user manually triggers the next skill |
|
|
521
668
|
|
|
522
669
|
Three-layer configuration with precedence: `COMET_AUTO_TRANSITION` env var > `.comet/config.yaml` (project) > `.comet.yaml` (change).
|
|
@@ -539,7 +686,7 @@ Track our development progress and upcoming features on the [Comet Roadmap](http
|
|
|
539
686
|
|
|
540
687
|
## Star History
|
|
541
688
|
|
|
542
|
-
[](https://www.star-history.com/?repos=rpamis%2Fcomet&type=date&legend=top-left)
|
|
543
690
|
|
|
544
691
|
## Contributors
|
|
545
692
|
|