Skip to content

feat: add bundle install command #53

@justinmerrell

Description

@justinmerrell

Summary

Add a bundle install command that installs bundle assets into the current project's harness-native directory structure.

Functionality to implement

  • Map assets to harness-native directories (e.g. .claude/skills/, .claude/agents/, .mcp.json)
  • Conflict detection with InstallConflictError when files already exist
  • JSON/TOML deep merge for tool config files (not overwrite)
  • --force flag to overwrite existing files
  • --harness flag to select target harness
  • Track installations in .musher/installed.json (registry infrastructure already exists in internal/bundle/install/)

Reference source (mush)

  • cmd/mush/bundle_install.go — CLI command and orchestration
  • internal/bundle/materialize.goInstallFromCache(), conflict handling
  • internal/bundle/merge.goMergeJSONDocs(), MergeTOMLDocs()
  • internal/bundle/mapper.goAssetMapper interface for harness-native paths

Context

musher-cli already has the install registry tracking (internal/bundle/install/registry.go) and session materialization (internal/bundle/session/), but no CLI command to drive project-level installation.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions