This directory contains the mandatory Nimbus scaffold for Project Foundation.
nimbus.json continues to track it, but its commands and adapter implement the
foundation documentation contract.
The normative rules are in DOCUMENTATION.md.
In an adopted project, the mandatory profile is vendored at
docs/foundation/profiles/documentation-nimbus.md. The original decision remains
in Project Foundation at
docs/decisions/adr-0003-mandatory-nimbus.md.
Sources and derived files
- The Markdown files classified by
documentation.jsonare the only editorial sources. scripts/sync-content.mjsgeneratessrc/content/docs/from this inventory.- Never edit or commit the generated collection,
dist/,.astro/, ornode_modules/. - This file belongs to the reference documentation collection.
Prerequisites
- Node
22.12.0or later; - npm;
- Python
3.9or later for the source catalog.
npm is the canonical package manager. Do not introduce a second lockfile.
Canonical commands
Run these commands from the project root:
| Action | Command |
|---|---|
| Install the exact lockfile | npm ci --prefix docs-nimbus |
| Synchronize the sources | npm run sync --prefix docs-nimbus |
| Start development | npm run dev --prefix docs-nimbus |
| Test, type-check, build, and lint | npm run check --prefix docs-nimbus |
| Check the upstream scaffold | npm run outdated --prefix docs-nimbus |
| Verify the complete project | ./scripts/verify.sh |
Modify the scaffold
- Read
nimbus.jsonand check the target upstream version. - Compare the new scaffold in an isolated temporary directory.
- Apply only changes that you understand. Do not overwrite the adapter, content schema, audience configuration, or project scripts.
- Update the exact dependency and
package-lock.jsonin the same change. - Run
./scripts/verify.sh. - Record the decision if the documentation contract, audiences, or minimum Node version changes.
Publication
The local build contains all audiences so that the corpus is navigable. Do not publish it as is. A published surface explicitly selects its permitted collections and proves that it exposes no internal document.