Skip to content

Implement cora install CLI command #431

Description

@ajianaz

Part of #430.

Task

Implement cora install CLI subcommand.

Spec

cora install                        # Auto-detect + configure all
cora install --agents claude,cline   # Specific agents
cora install --dry-run              # Show what would change, don't write
cora install --uninstall            # Remove Cora entries
cora install --list                 # Show detected agents + status

Implementation

  1. New command: src/commands/install_cmd.rs
  2. Agent detection module: check config paths
  3. Config read/write: JSON (serde_json) + YAML (serde_yaml)
  4. Binary resolution: which cora → absolute path
  5. Idempotent: skip if entry already exists

Agent Detection Logic

fn detect_agents() -> Vec<Agent> {
    let home = dirs::home_dir();
    let agents = [
        Agent { name: "claude", path: home.join(".claude/settings.json"), format: Format::Json },
        Agent { name: "cursor", path: home.join(".cursor/mcp.json"), format: Format::Json },
        // ...
    ];
    agents.into_iter().filter(|a| a.path.exists()).collect()
}

Acceptance

  • cora install --list shows detected agents
  • cora install --dry-run prints planned changes
  • cora install writes config without breaking existing entries
  • cora install --uninstall removes entries cleanly

Est: 3-4 days

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions