Component Catalog¶
Digital Products builds its workbooks from reusable, specified building blocks called components — things like a KPI status tile, a validation framework, a Gantt timeline, a dashboard layout pattern, or a themed print report. The intent is that products should be able to adopt a proven, documented component instead of reinventing the same navigation panel, calculation pattern, or dashboard layout from scratch every time — while never sacrificing the quality of the individual Excel workbook to force-fit a component that doesn't actually suit that product.
Nothing here is implemented unless its status says so¶
Every component currently in this catalog has status proposed. Proposed means
specified-as-an-idea, not built. No component in this directory tree should be
treated as available for a real product to depend on for a real build until its
status is explicitly advanced (and that advancement itself must be a reviewed, human
decision — not an AI agent unilaterally marking something implemented).
Structure¶
- component-catalog.md — the authoritative list of proposed components across every category, with capability, purpose, inputs, outputs, configuration, compatibility target, known limitations, candidate products, and status for each.
- _template/ — the scaffold used to specify a new component in detail (component.json, component-specification.md, interface-contract.md, implementation-notes.md, compatibility.md, test-plan.md, examples.md, changelog.md).
- Category directories (
navigation/,configuration/,input-validation/,calculations/,dashboards/,forecasting/,timelines/,reporting/,theming/,documentation/,quality/) — each contains a short README pointing back to the relevant rows incomponent-catalog.md. Individual component specification directories, once a component is developed past a single catalog row, would live inside the matching category directory using the_template/scaffold.
How a product should use this catalog¶
- Read
component-catalog.mdand identify candidate components for the product being specified. - Record the dependency in that product's
component-dependencies.md, including the component's current status. - Do not assume a component's behavior beyond what its specification says. If a product needs a variant, document that as a proposed adaptation, not a silent deviation.
- If no existing component fits, propose a new one by adding a row to
component-catalog.mdrather than building an undocumented, one-off solution inside a single product.
This README establishes no policy beyond describing the catalog's structure and
status conventions; see component-catalog.md for the actual proposed components.