Skip to main content
comet init is the first command you run when setting up Comet. It interactively installs OpenSpec, Superpowers, and Comet skills to your chosen AI coding platforms.

Usage

comet init [path]
path defaults to . (the current directory) when omitted.

What init Does

Running comet init walks you through the following steps in order:
  1. Detect existing platforms — Scans for existing AI platform config directories (e.g. .claude/, .cursor/) and pre-selects them in the platform picker.
  2. Choose install scopeproject (current directory) or global (home directory).
  3. Select languageEnglish or 中文 for Comet skill files.
  4. Select platforms — Choose one or more of the supported AI coding platforms to install skills on. Detected platforms are pre-checked.
  5. Install OpenSpec skills — Deploys OpenSpec spec-lifecycle skills to the selected platforms.
  6. Install Superpowers skills — Deploys Superpowers development-methodology skills to the selected platforms.
  7. Deploy Comet skills — Copies Comet phase-command skills (in your chosen language) to each selected platform’s skills/ directory.
  8. Create working directories — For project-scope installs, creates docs/superpowers/specs/ and docs/superpowers/plans/.

Flags

--yes
boolean
Non-interactive mode. Auto-selects all detected platforms (or all supported platforms if none are detected), defaults scope to project, and skips any existing components rather than prompting.
--scope
string
Set the install scope without being prompted. Accepted values: project (installs into the current directory) or global (installs into the home directory).
--skip-existing
boolean
Automatically skip any skill components that are already installed, without prompting. Mutually exclusive in intent with --overwrite.
--overwrite
boolean
Automatically overwrite any skill components that are already installed, without prompting. Mutually exclusive in intent with --skip-existing.
--json
boolean
Suppress all interactive output and print a single structured JSON result when the command finishes. See JSON output below.

Interactive Mode

When neither --skip-existing nor --overwrite is set, comet init detects which components are already installed on each platform before writing anything.
  • Multiple existing components on the same platform — You are offered a single bulk choice: Overwrite all existing components, Skip all existing components, or Choose per component. Selecting “Choose per component” drops into individual prompts for each conflicting component (OpenSpec, Superpowers, Comet).
  • Single existing component — You are prompted per component to overwrite or skip.

Example Output

   ██████╗ ██████╗ ███╗   ███╗███████╗████████╗
  ██╔════╝██╔═══██╗████╗ ████║██╔════╝╚══██╔══╝
  ██║     ██║   ██║██╔████╔██║█████╗     ██║
  ██║     ██║   ██║██║╚██╔╝██║██╔══╝     ██║
  ╚██████╗╚██████╔╝██║ ╚═╝ ██║███████╗   ██║
   ╚═════╝ ╚═════╝ ╚═╝     ╚═╝╚══════╝   ╚═╝
            OpenSpec + Superpowers Workflow

  Setting up Comet in /your/project

  Language: English

  Installing OpenSpec for: claude, cursor
  OpenSpec: installed

  Installing Superpowers for: claude, cursor
  Superpowers: installed

  Comet -> Claude Code: installed (8 files) -> .claude/skills/
  Comet -> Cursor: installed (8 files) -> .cursor/skills/

  Comet setup complete! (scope: project)

  Installed:
    Claude Code -> .claude/skills/
    Cursor      -> .cursor/skills/

  Working directories: docs/superpowers/specs/, docs/superpowers/plans/

  Get started:
    /comet "your idea"  — Start a new change with full workflow
    /comet-hotfix       — Quick bug fix (skip brainstorming)
    /comet-tweak        — Small change (skip brainstorming and plan)

JSON Output

Pass --json to suppress interactive prompts and receive a machine-readable result:
comet init --yes --json
{
  "projectPath": "/your/project",
  "scope": "project",
  "language": "en",
  "selectedPlatforms": ["claude", "cursor"],
  "results": [
    {
      "platform": "claude",
      "platformName": "Claude Code",
      "openspec": "installed",
      "superpowers": "installed",
      "comet": "installed"
    },
    {
      "platform": "cursor",
      "platformName": "Cursor",
      "openspec": "installed",
      "superpowers": "installed",
      "comet": "installed"
    }
  ],
  "workingDirsCreated": true
}
Each entry in results has one of three status values per component:
ValueMeaning
installedThe component was written successfully.
skippedThe component already existed and was not overwritten.
failedAn error occurred while installing the component.
After comet init, run comet doctor to verify the installation is complete and healthy.