# Invisra Schemas > The canonical hosted home for Invisra's open JSON Schemas, served at schemas.invisra.ai. This repo is an aggregator: it does not author schemas itself, it assembles them from each project's own source repository at a pinned version. Each schema project stays the source of truth for its own files. `sources.json` declares which project, at which git ref, contributes which files to which mount path. `npm run build` vendors each source (`scripts/sync-sources.mjs`, shallow git clone into `vendor/`) and assembles the static site (`scripts/build-site.mjs`) into `public/`, which Cloudflare Pages serves for the domain. Schema content-type, CORS, and immutable caching headers live in `static/_headers`, generalized across projects as `/*.schema.json`. ## Hosted projects - [printspec](/printspec/): JSON Schemas for practical, parametric 3D-printable parts. Source: https://github.com/invisra/printspec - [open-business-plan](/business-plan/): a JSON Schema that defines a business plan. Source: https://github.com/invisra/open-business-plan ## Validators Each project has a browser-based JSON Schema validator (client-side, nothing uploaded) that validates pasted JSON against the hosted schemas: - [/printspec/validator/](/printspec/validator/) - [/business-plan/validator/](/business-plan/validator/) ## Index - [/manifest.json](/manifest.json): machine-readable list of every hosted project, version, and primary schema URL. - [/](/): human-readable landing page. ## Adding or updating a project Edit `sources.json`: add a project entry (or bump its `ref`/`version` and `copy` targets), then run `npm run build`. Nothing else in this repo needs to change — each project's schemas and docs come from its own repo. See `README.md` for the full contract.