After Certainty is an open intellectual commons about thinking and acting when simple answers stop working.
This repository holds the project’s books and essays, a semantic graph of concepts, patterns, situations, thinkers, sources, songs, and relationships, curated questions and trails, interactive experiences, and the tooling that publishes manuscripts and powers the public website.
The best starting point for reading and exploring is the live site:
https://www.after-certainty.com
| Path | Role |
|---|---|
books/ |
Published manuscripts (index.md + book.yml + chapters) |
semantic/ |
Semantic graph YAML (concepts, patterns, thinkers, sources, songs, trails, …) |
apps/site/ |
Next.js public website |
scripts/ · tools/ |
Publishing, manifest, and corpus tooling |
schema/ |
Validated content and manifest schemas |
docs/ |
Architecture, operations, roadmaps, and contributor guidance |
upcoming/ |
Scaffolds and portfolio status before promotion into books/ |
packages/corpus-tasks/ |
npm/Turbo wrappers for covers and manifest generation |
| I want to… | Start here |
|---|---|
| Read or explore After Certainty | www.after-certainty.com |
| Understand the corpus / semantic model | docs/corpus/ · docs/semantic-manifest-contract.md |
| Work on the website | apps/site/README.md |
| Publish or export a book | docs/publishing/book-export-pipeline.md |
| Contribute | CONTRIBUTING.md |
| Understand deployment / CI | docs/site-deploy.md · docs/task-orchestration.md |
| Review security guidance | SECURITY.md · docs/security/ |
| See all technical docs | docs/README.md |
| Check remaining product work | docs/roadmaps/remaining-product-roadmap.md |
Requires Python 3.12+ with uv, and Node 22.22.2+.
GitHub Actions and local mise both pin Python 3.12.14 and uv 0.11.29 (see
mise.toml).
Optional: install mise (≥ 2025.10.0) and from the repo root run mise install (or mise install --locked for reproducible/agent setups). That provisions Python 3.12.14, Node 22.22.2, and uv 0.11.29 (see mise.toml). Task discovery: mise tasks.
uv sync --frozen
npm ci
npm run corpus:build-manifest # or: mise run manifest:build
npm run site:install-local-manifest # or: mise run manifest:install
npm run site:dev:local # http://localhost:3000
# or: npm run site:dev:watch / mise run site:dev:watchUseful checks: mise run check (or make check) · npm run site:test · npm run site:lint.
Orchestration map (mise / npm / Make / Turbo): docs/task-orchestration.md.
Cursor Cloud PATH and runtime notes: AGENTS.md. Full site setup: apps/site/README.md.
Books and semantic YAML are the source of truth. Validation and generation produce a semantic manifest. The website consumes that manifest; the publishing pipeline exports manuscripts independently.
flowchart TD
booksYaml["books/ + semantic/ YAML"]
validate["corpus validation + manifest generation"]
manifest["semantic-manifest.json"]
site["apps/site Next.js"]
publish["scripts/ + tools/ export"]
artifacts["DOCX / EPUB / PDF"]
booksYaml --> validate --> manifest
manifest --> site
booksYaml --> publish --> artifacts
Deeper maps: docs/task-orchestration.md · docs/semantic-manifest-contract.md · docs/README.md.
Manuscripts live under books/. For reading order and title-pair distinctions, see docs/series-guide.md and docs/portfolio-reader-map.md. For a complete repository path list, see docs/corpus/books.md. The live catalog is on the website.
Editorial portfolio status: upcoming/docs/portfolio-status.md.
Unless otherwise noted, original content in this repository is licensed under Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) — you may share and adapt the material provided you give appropriate credit and distribute derivatives under the same license. See LICENSE for the full legal terms.
See SECURITY.md and docs/security/ for the threat model, credential-free Cursor setup, and the manual GitHub settings checklist. Prefer uv sync --frozen so CI and local installs match uv.lock.