Skip to content

Binary is too large; split channel integrations into optional build features #309

@everettjf

Description

@everettjf

The current MicroClaw release artifact is substantially larger than necessary for common deployments because channel integrations are statically compiled into the default binary even when they are not used.

Observed impact:

  • The default release binary pulls in Telegram, Discord, Matrix, Web, and other channel-specific dependency trees together.
  • Heavy channel stacks such as Matrix contribute a large amount of code and transitive dependencies.
  • Users who only need a subset of channels still pay the full artifact size cost.

Follow-up work proposed in this issue:

  • Introduce Cargo features for channel-specific integrations.
  • Make channel-specific dependencies optional.
  • Gate channel modules and runtime startup paths behind those features.
  • Define smaller default builds and keep a separate full build for all channels.

This issue intentionally excludes the immediate release-profile size optimization that is being handled separately in an accompanying pull request.

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