# configuration-management ## Purpose Provides structured, data-driven storage for AI agent configurations that remain tool-agnostic while enabling generation of tool-specific outputs. Maintains single source of truth for commands, agents, and related tooling across multiple AI development environments. ## Requirements ### Requirement: Data-Driven Repository Structure The repository SHALL organize AI tool configurations as structured data sources with 3-tier separation to enable tool-agnostic maintenance while generating tool-specific outputs. #### Scenario: Skills as a first-class item type - **WHEN** reusable expertise is added to the repository - **THEN** it can be represented as “skills” with: - tool-agnostic metadata - a tool-agnostic body by default (with optional tool-specific overrides) - templates that emit tool-compatible frontmatter and discovery paths #### Scenario: Tool-specific permissions mapping - **WHEN** a skill specifies “allowed tools” in tool-agnostic semantic form - **THEN** the system maps/format those tool specifications per coder where supported - **AND** the system omits or warns for fields that are unsupported by a given target tool (without failing generation) ### Requirement: Structured Source Data Management The system SHALL maintain structured source data that generates content for multiple AI tools from single sources while supporting diverse tool formats. Priority: Critical #### Scenario: Single source of truth - **WHEN** command or agent is defined - **THEN** metadata stored in tool-agnostic TOML configurations - **AND** single source drives generation for all supported AI tools #### Scenario: Content body separation - **WHEN** tool-specific content is needed - **THEN** content bodies separated by coder - **AND** appropriate fallback strategies applied #### Scenario: Format handling - **WHEN** different AI tools require different formats - **THEN** generic templates handle format differences - **AND** transformations applied at generation time #### Scenario: Hook script distribution - **WHEN** hook scripts are distributed - **THEN** distributed via minimal Copier template - **AND** not dynamically generated