Skip to content

feat: restructure builtin templates into inheritance tree #725

@Aureliolo

Description

@Aureliolo

Problem

Template inheritance is fully implemented and tested (#84, closed) but zero builtin templates use extends. Each template duplicates its entire agent roster, department structure, and config -- even when templates are natural progressions of each other (solo_founder -> startup -> dev_shop).

Proposed Changes

Restructure builtins into an inheritance tree:

solo_founder (base: 2 agents)
  -> startup (extends solo_founder: adds CTO, PM, 2nd dev)
     -> dev_shop (extends startup: replaces devs with specialized roles, adds QA, DevOps)
     -> product_team (extends startup: adds design, data, QA)

research_lab (standalone)
  -> data_team (extends research_lab: data-focused subset)

agency (standalone -- too different to extend)
full_company (standalone -- comprehensive, not a progression)
consultancy (standalone)

Benefits

  • Reduces YAML duplication across templates
  • Validates the inheritance system with real usage (not just test fixtures)
  • Shows users the natural scaling path
  • Makes it easy for user-defined templates to extend builtins
  • Child templates only define deltas (new agents, overrides, removals)

Considerations

  • Base templates must be solid before building the tree (depends on v0.4.8 content improvements)
  • Inheritance adds complexity for debugging -- each template must still be independently understandable
  • merge_id must be set on all agents that children might target

Scope

Rewrite YAML files to use extends. Add merge_id to base template agents. Update tests to verify inheritance produces correct expanded configs.

Dependencies

Metadata

Metadata

Assignees

No one assigned

    Labels

    prio:lowNice to have, can deferscope:medium1-3 days of workspec:templatesDESIGN_SPEC Section 14 - Templates & Buildertype:featureNew feature implementationv0.5Minor version v0.5v0.5.6Patch release v0.5.6

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions