How to Contribute
Contribution Workflow
Use Node.js 22 for repository work. Run nvm use to select the Node.js 22.18.0
version pinned in .nvmrc, then install the locked dependency tree with
npm ci.
- Pick a section and copy the correct template from
templates/. - Add required YAML frontmatter and content.
last_reviewedmust be a real calendar date inYYYY-MM-DDform. - Run
npm run typecheck,npm run check, andnpm run test:coveragelocally. - Open a PR and complete the checklist.
- Committee members review, request changes if needed, and merge.
Frontmatter is parsed as full YAML, so quoted and multiline values, lists, mappings, numbers, and booleans use normal YAML syntax. Malformed YAML and duplicate keys fail validation.
Registry link fields (repo, site, docs, and agent_entrypoint) must use
public HTTPS domains. Localhost, local or internal domains, credentials, and
IP-address destinations are rejected by registry validation. URLs on
build.trilemma.foundation must also resolve to an existing file under
static/ (directory paths and missing files fail validation).
Optional profile URLs in src/data/authors.json use the same public HTTPS
rules. Unsafe schemes (including javascript: and http:) fail frontmatter
validation and are stripped at render time.
Starter product.yaml files are validated against the public product schema
and must select an archetype documented in the catalog. Every registry product
archetype must also exist as a page under docs/archetypes/.
npm run test:coverage runs Jest for React code and Node's built-in test
runner for scripts. The critical validation, read-time, and LLM transformation
modules must retain 100% line, branch, and function coverage.
Review Expectations
- Clear structure
- Actionable information
- Correct metadata