--- description: NOSE Pluto - A Commodore 64-inspired web terminal with Bun-based shell globs: "*.ts, *.tsx, *.html, *.css, *.js, *.jsx, package.json" alwaysApply: true --- # NOSE Pluto NOSE Pluto is a web-based terminal inspired by the Commodore 64, running on a Bun-based shell server. It hosts Val Town-style web apps for your home network, runs custom commands written in TypeScript, and lives on a Raspberry Pi 5. ## Architecture Overview - **Server**: Bun + Hono serving a C64-inspired terminal over WebSockets - **Client**: Browser-based terminal UI with virtual 960×540 (16:9) screen that scales - **Commands**: TypeScript files that run on the server and return output to the client - **Projects**: Multi-project system with isolated commands, webapps, and state - **Webapps**: Subdomain-based apps (e.g., `myapp.nose-pluto.local`) - **Games**: PICO-8-style game engine with `init()`, `update()`, `draw()` API - **Session**: AsyncLocalStorage-based session management (1 browser tab = 1 session) ## Technology Stack Use Bun exclusively instead of Node.js: - `bun ` instead of `node ` or `ts-node ` - `bun test` instead of `jest` or `vitest` - `bun build ` instead of `webpack` or `esbuild` - `bun install` instead of `npm install` or `yarn install` or `pnpm install` - `bun run