TermForge¶
The universal terminal framework extracted from Bashcrawl's browser emulator: one environment-agnostic kernel (parser, VFS, Shell, Line protocol, TerminalView) that powers the web game, local terminal sessions, a lightweight telnet server, and custom dev/monitoring tools โ zero runtime dependencies, no build step.
Try it¶
make tty-demo # play bashcrawl in this terminal
make telnet-demo # serve it at telnet://127.0.0.1:2323
make telnet-demo ARGS="--raw" # nc-friendly raw TCP mode
make agentwatch # AI-agent task dashboard (demo fleet)
make agentwatch ARGS="--data-dir logs/sessions" # ...over real playtest telemetry
node termforge/node/host-tty.js --app procwatch # the monitoring-tool demo
make test-js # the node --test suite
Browser demo of a custom tool: open apps/procwatch/demo.html straight from file://.
Layout¶
core/โ environment-agnostic framework (dual-mode files: classic<script>+ CJS). Vendored file-for-file intoweb/assets/js/vendor/termforge/bymake web-build; edit here, never the vendor mirror. Brand-neutral by contract: app voice arrives via the Shell'suiTextcopy deck (enforced bytest/content-separation.test.js).node/โ TTY host, telnet host + codec, CLI plumbing (argv parsing is node's ownutil.parseArgs).apps/โbashcrawl.js(the game as an app),procwatch/(live host metrics as provider files), andagentwatch/(an AI-agent task dashboard: TaskSource โ board/feed commands + live files, with a JSONL adapter for the repo's playtest telemetry).test/โnode --testsuites, golden fixtures, and the deterministic vm harness.
Docs: architecture ยท authoring apps ยท telnet host ยท Line protocol.
Golden fixtures¶
test/fixtures/ pins the game's observable behavior: transcripts recorded against the pre-framework emulator replay byte-identically through every refactor. Regenerate only via node termforge/test/tools/record-goldens.js --update and treat any fixture diff in review as a claimed behavior change. fixtures/save/save-v1-legacy.json is write-once (a real pre-refactor save proving old browser saves still load).