A local web app for playing Scott Malthouse's Quill — a single-player letter-writing roleplaying game. Pick a character, scenario, and skill; write a five-paragraph letter under the dice mechanics; export the finished letter as Markdown.
Play it at https://quill.philoserf.com.
bun install
bun run dev # http://localhost:3000bun test
bun run checkbun run buildPushes to main build dist/ and publish it to GitHub Pages via .github/workflows/deploy.yml. The site is served from quill.philoserf.com; public/CNAME holds that hostname and bun run build copies it into dist/ so every deploy re-asserts the custom domain.
The rest of the configuration lives outside the repository:
- DNS (Cloudflare): a
CNAMErecord forquillpointing atphiloserf.github.io, proxied. - Cloudflare SSL/TLS: Full (strict). Flexible loops against the HTTPS redirect Pages issues on its own.
- Repository settings → Pages: custom domain
quill.philoserf.com. GitHub verifies the domain by checking that it resolves to Pages, and through the proxy it sees Cloudflare addresses instead — so Enforce HTTPS may be unavailable, and the same check gates certificate renewal. Cloudflare terminates TLS either way; if a renewal fails, set the record to DNS-only long enough for GitHub to verify, then proxy it again. - Analytics: Cloudflare Web Analytics, injected at the edge. Do not put the beacon snippet in
public/index.html— the edge adds it, and a second copy double-counts every page view.
bun run dev, open the URL.- Pick a character, a skill, and a scenario; click Begin letter.
- Write all five paragraphs through to the Score screen.
- Click Download letter (.md); confirm the file lands in Downloads.
- Reload during play; confirm the in-progress letter restores.
- Click Write another letter on the Score screen; confirm Setup re-appears.
Quill — A Letter-Writing Roleplaying Game for a Single Player is designed by Scott Malthouse and published by Trollish Delver Games. Buy or download the original rulebook on DriveThruRPG. This implementation reuses the rulebook's character archetypes, scenario text, and dice mechanics under the original CC BY-SA 4.0 license; all errors of transcription or interpretation are mine.
This implementation is released under CC BY-SA 4.0, matching the original rulebook's license. See LICENSE.