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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions