1.5 KiB
Executable file
1.5 KiB
Executable file
The Fold Within Earth - v2.3 Canonical Minimal Specification
This repository implements the eternal, Markdown-native MUD/blog/archive as per the blueprint.
Setup
npm install(generates package-lock.json)node tools/hash.jsto verify hashes;node tools/hash.js fixto update IDs if needednpm run lintto validate all filesnpm run buildto generate /dist- Deploy to Cloudflare Pages (auto-build on push)
Components
- Atlas: Content in /atlas/*.md (hashes verified)
- foldlint: Validation:
node tools/foldlint.js - Build: Generates static site:
npm run build - Scribe: Archiver daemon:
npm run scribe(local only) - Witness: P2P chat in browser (embedded in HTML, offline localStorage)
Hash Management
- Each .md file includes a SHA-256 hash in its
idfield, computed over YAML front-matter (excludingid) + body. - Run
node tools/hash.jsto check hashes; usenode tools/hash.js fixto update incorrect IDs. - Hashes exclude the
idfield to avoid circularity. - After modifying
exits.tofields, runnode tools/hash.js fixto update affected hashes.
Link Management
exits.tofields in .md files must use fullidvalues (e.g.,room:slug@sha256:hash) orkind:slug(resolved automatically).- Use inline strings for
exits.to(no block scalars like>-) to ensure consistent hashing. - Broken links (non-existent IDs) or invalid hashes in
exits.towill fail the build. Ensure all referenced IDs exist in /atlas and match their file hashes.
For full spec, see /docs/primer.md.