Custom Mode in the Composer
In a composer project, a stack can be set to custom mode — the composer stops generating that stack and calls into yours instead. This is the escape hatch that keeps a composer app from ever being a cage: you keep the composer’s wiring for everything else and take over one stack completely.
The contract
Section titled “The contract”Your custom stack must honour the same SSM contract the Axis stack it replaces did — write the same SSM parameters the downstream stacks read. As long as the SSM surface matches, the rest of the composer app can’t tell the difference: it reads dynamodb/mainTable/tableArn from SSM whether an Axis DataStack or your custom stack wrote it.
Why this is project state, not a synth flag
Section titled “Why this is project state, not a synth flag”A stack’s mode is recorded in axis.json’s selections block — it’s durable project state. That’s why the synth-time feature-context overlay (--context feature.<name>=on|off) deliberately cannot target a "custom" stack: substituting a stack is a project decision, not a per-synth experiment.
Where to go next
Section titled “Where to go next”- The Composer for how composer apps are wired.
- Add Your Own Stack for the raw-CDK stack you’d substitute in.
- The axis.json Manifest for the
selectionsblock.
© 2026 Axis Tech. Powered by axis-tech.co.