Feature anatomy
A feature in SPLENT is an independent, self-contained Python package that adds a specific capability to a product. It ships its own models, routes, templates, migrations, assets, tests, and configuration.
- Archetypes. The four feature types (full, light, config, service)
- Directory structure. Files, folders, and Docker infrastructure
- Key files. What each file does, with real examples
- Contract and dependencies. The feature contract, extension points, dependency rules, naming conventions
- Settings. Where a feature declares what it reads, and how a product overrides it
A feature is not a plugin or a loose collection of files. It is a formally defined variability unit in a Software Product Line, with declared dependencies, a versioned API surface, and an observable lifecycle.