Files
halfstreet/README.md
T

47 lines
1.8 KiB
Markdown
Raw Normal View History

# Halfstreet
A gothic text adventure. Second person, present tense, sparse — never explains.
Style anchors: Le Fanu's *Carmilla*, Shirley Jackson's *The Haunting of Hill House*, M.R. James's ghost stories.
Played at [halfstreet.io](https://halfstreet.io).
## Stack
- [Astro](https://astro.build) static site
- TypeScript engine — pure (no DOM, `Date`, `Math.random`, or console)
- World content authored in markdown (rooms, items, encounters, endings) under `src/world/`
- [Vitest](https://vitest.dev) for tests
2026-05-10 12:03:12 -05:00
- Optional client error reporting via [GlitchTip](https://glitchtip.com) using `PUBLIC_GLITCHTIP_DSN`
## Development
```sh
npm install
npm test # engine + world tests
npm run dev # local dev server
npm run build # type-check + production build
```
2026-05-10 12:03:12 -05:00
To enable GlitchTip in the browser, set `PUBLIC_GLITCHTIP_DSN` in your environment before running or building the site.
If you want deploy-aware grouping and readable stack traces, also set `PUBLIC_GLITCHTIP_RELEASE` at build time and upload the generated source maps for that same release.
## Layout
- `src/engine/` — parser, dispatcher, encounter logic
- `src/ui/` — terminal renderer, theme, chips
- `src/world/` — markdown content (rooms, items, encounters, endings)
- `src/pages/index.astro` — entry page
## Design docs
- `docs/superpowers/specs/halfstreet-bible.md` — content bible (canonical world)
- `docs/superpowers/specs/2026-05-08-mystery-text-adventure-design.md` — engine/UI architecture
- `docs/superpowers/specs/halfstreet-followon-notes.md` — pending engine work before authoring more rooms
- `docs/superpowers/specs/2026-05-09-mystery-markdown-migration-design.md` — markdown content migration design
- `docs/superpowers/plans/2026-05-09-mystery-markdown-migration.md` — migration plan that was executed
## License
GPL-3.0-or-later. See [`LICENSE`](LICENSE).