- PowerShell 73.2%
- C++ 19%
- TypeScript 6.1%
- SCSS 1.7%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .epiphany | ||
| .github/workflows | ||
| .obsidian | ||
| Kalsa | ||
| scripts | ||
| seed | ||
| site | ||
| workshop | ||
| .gitattributes | ||
| .gitignore | ||
| AGENTS.md | ||
| LICENSE | ||
| README.md | ||
Kalsa
Kalsa is a high-fantasy setting for Ghostlight Dungeon: gods, prophets, shamans, old miracles, sacred machinery, fallen cities, and peoples trying to live among explanations that do not agree.
This repository is the complete open author vault. It contains setting-level and dungeon spoilers in plain text. They are not secret, but they are not the intended first encounter either. The public reader surface is deliberately smaller so that people can choose when to inspect the machine.
Start here
- Readers and players: begin with
Kalsa/Public/index.md. The Quartz site publishes only this spoiler-safe surface. - Deliberate spoiler readers and writers: continue through
Kalsa/index.md, which warns before opening author truth and GM material. - Writers: read
workshop/Direction and Constraints.md, then the canon/provenance guide underKalsa/Reference/. - Maintainers: the iterative repair system lives under
workshop/deepening/; site-specific Quartz configuration lives undersite/.
Authority map
Kalsa/Public/: spoiler-safe common knowledge and situated sources; the only Quartz content rootKalsa/outsidePublic/: open author canon and GM material; repository/Obsidian access onlyseed/original/: immutable source witnessesseed/manifest.md: source hashes and witness mapworkshop/: critique, proposals, contradictions, and repair evidence; never automatic canon.epiphany/: durable agent judgment and continuity; never setting truthsite/: Kalsa-specific Quartz projectionscripts/: build and verification toolsquartz-site/public/: generated output, ignored by Git
Obsidian is the authoring interface. Quartz is the reader projection. Neither owns lore. Public prose does not overrule its canonical subject owner, and author truth does not enter a character's knowledge merely because both exist in one open repository.
Local site
The shared engine is the sibling GameCult-Quartz repository. Install that engine's dependencies once, then run:
.\scripts\quartz\quartz.ps1 build
For local development:
.\scripts\quartz\quartz.ps1 dev
Set GAMECULT_QUARTZ_ROOT when the shared engine is not checked out beside this repository. The launcher stages the engine under .quartz-build/engine and writes the static site to quartz-site/public.
The intended custom domain is kalsa.gamecult.org. DNS and the GitHub Pages domain binding are an external deployment step; repository configuration does not pretend that step has already happened.
Deepening standard
The target is causal density comparable to AetheriaLore, not a matching heap of nouns. A mature institution exposes its origin, authority, material base, recruitment and succession, ordinary procedure, beneficiaries and costs, dependencies, internal contradiction, organized resistance, failure modes, and consequences for play. Each repair wave is modeled, challenged by an unfamiliar reader, grounded against named sources, changed in a bounded diff, and verified before its ledger entry closes.