This repository is the Build Trilemma site—patterns, templates, standards, registry, and playbooks for humans and AI agents—served from https://build.trilemma.foundation. Microproducts remain focused apps that turn data into usable tools and real utility.
This repository is an open knowledge hub to help builders learn, contribute, and ship microproducts through community-reviewed playbooks, resources, and examples.
- Site routing: On the deployed site,
/is an audience chooser. Use/agentsfor the agent web hub or/docs/intro/what-is-a-microproductfor the default human intro (paths match this repo’s Docusaurus routes). The top nav groups Humans and Agents into separate dropdowns; stable machine-readable URLs such as/registry.jsonand/schemas/product.schema.jsonare linked from the Agents dropdown and summarized on the agents hub. - Read: What is a Microproduct?
- Learn the process: Playbook
- Explore examples: Showcase
- Contribute: How to contribute
- Agent-facing files in the static site root:
static/AGENTS.md,static/llms.txt, and generatedstatic/llms-full.txt(created onnpm run build)
Requires Node.js 22.18 or newer.
npm install
npm run devnpm run dev runs a short pre-step that removes .docusaurus and node_modules/.cache so the first dev compile does not hit stale generated files. Use npm run clear for a full Docusaurus clean (including build/).
npm run checkThis runs:
- spelling check (
cspellondocs/,product-templates/,templates/) - frontmatter validation (
docs/,templates/,product-templates/) - registry JSON validation against
static/schemas/product.schema.json(validate:registry) - markdown lint for
docs/**/*.mdanddocs/**/*.mdx, plusREADME.md,CONTRIBUTING.md,templates/**/*.md,product-templates/**/*.md, andproducts/**/*.md generate-llms-fullfollowed by a production Docusaurus build (static + link checks)
CI runs npm run check then npm run test:coverage. Locally:
npm run test:coveragenpm test and npm run test:coverage run Jest (React pages and utilities) and Node’s built-in test runner for scripts/llmsMdxUtils.mjs.
We use cspell to automatically check for spelling mistakes in the docs, which
helps prevent noisy review comments. This tool is integrated into IDEs, which
highlight spelling errors similarly to other linting or quality issues. If
you find that a word is not recognized, you have the option to add it to our
dictionary which is included in version control. Examples of domain-specific but
legitimate words that might be added include the term "Microproduct" itself.
Example: echo "microproduct" >> project-words.txt
Many IDEs support auto-fixing the issue. Here's what it looks like in VSCode:

Make sure to add to dictionary file and not just editor settings so that the change is picked up in the checker script and can be used by others.