Skip to content

Latest commit

 

History

History
35 lines (25 loc) · 1.5 KB

README.md

File metadata and controls

35 lines (25 loc) · 1.5 KB

Kernel Panic

Turn-based cyberpunk roguelike as a Progressive Web App — tactical grid combat, Neuromancer-inspired tone, ASCII-plus terminal presentation on canvas. TypeScript (strict), ES modules, Web Components, and offline-first caching.

Vision and roadmap: docs/kernel-panic-v1-blueprint.md
Short overview: docs/game-overview.md
Current phase: Post-docs/phase-3-plan.md balance patch (v0.3.1)

Architecture

  • No frameworks, no bundler — TypeScript compiled by tsc to dist/; browser loads ES modules directly
  • Game view — HTML <canvas> (grid / terminal UI)
  • Web Components — /components/ with Shadow DOM
  • Data — DataStore singleton (localStorage, key kp:data)
  • DOM — h() from src/domUtils.ts
  • Service workers — sw.js / sw-dev.js + shared sw-core.js (plain JS, not compiled)

Development

Command Purpose
npm start dev server at http://localhost:8099 (tsc watch + asset copy + live-server)
npm test typecheck + build tests + node --test
npm run typecheck type-check main source (strict)
npm run lint oxlint
npm run format Prettier

Agent / assistant context

  • AGENTS.md — coding patterns and domain summary
  • CLAUDE.md — concise project + standards for Claude Code

Credits

Scaffolded from the Facerix PWA template.