composing-software
Installation
SKILL.md
Composing Software in JavaScript
Source: Eric Elliott's Composing Software series.
Workflow
- Identify the coupling — is the problem inheritance, shared mutable state, or entangled side effects? See Composition Hierarchy below.
- Choose the composition tool — pure function → factory → functional mixin → class (last resort). Use the Checklist below.
- Apply the pattern — read the matching reference file for the concrete technique.
- Verify — can the new unit be tested without mocks? Can it be reused without importing its collaborators?
Central thesis: all software design is composition — breaking problems down into small pieces and composing solutions back up. The choice of how to compose shapes everything about maintainability, testability, and flexibility.