Component Specification Template¶
This is a template. This directory (components/_template/) is the scaffold for
specifying a new Digital Products component in full detail, beyond a single catalog
row. It establishes no policy of its own and describes no implemented component.
When to use this scaffold¶
Use it when a component in ../component-catalog.md needs a full specification —
typically once more than one product wants to depend on it, or once it is being
seriously considered for implementation. Simple, still-hypothetical ideas can stay as
a single catalog row until then.
How to use this scaffold¶
- Copy this directory to the matching category directory, e.g.
components/dashboards/executive-dashboard-layout/, naming the new directory after the component's slug. - Fill in every file:
component.json,component-specification.md,interface-contract.md,implementation-notes.md,compatibility.md,test-plan.md,examples.md,changelog.md. - Keep the Component ID consistent with its row in
../component-catalog.md— do not assign a new ID; reuse the one already in the catalog. - Do not mark status beyond
proposedwithout a reviewed, human decision.specifiedmeans fully documented but unbuilt;implementedmeans built and verified in at least one shipped product. An AI agent must never advance a component's status unilaterally. - Update
../component-catalog.mdto note that a full specification now exists for this component (e.g. link to the new directory) once created.
Files in this scaffold¶
component.json— machine-readable component record.component-specification.md— the core specification (capability, purpose, inputs, outputs, configuration, compatibility, limitations, candidates, status).interface-contract.md— the implementation-agnostic contract the component exposes (named ranges expected/provided, expected cell formats).implementation-notes.md— placeholder for actual Excel/formula implementation notes once built; empty until then.compatibility.md— compatibility target and tested platforms (empty until tested).test-plan.md— test cases for the component in isolation.examples.md— usage examples once implemented (placeholder, not populated yet).changelog.md— Keep-a-Changelog-style empty log.
This is a template. Replace bracketed placeholders in each file. This file itself establishes no policy.