diff --git a/README.md b/README.md index 89493ca..988d7fb 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,54 @@ # wutzcalc +> ## ⚠️ AI-generated code +> +> **Every file in this repository was written by an AI coding assistant.** It +> has not been independently audited or reviewed line-by-line by a human. Before +> running this in any setting where correctness matters (real money, real +> events), read the code yourself, test the edge cases that matter to you, and +> assume there are bugs. Use at your own risk. + Festival drink-sale tracker. See [PLAN.md](PLAN.md) for architecture, [NOTES.md](NOTES.md) for the original requirements, and [TODO.md](TODO.md) for deferred work. -## Dev +## Toolchain setup + +Requires Node.js 20+ and pnpm 9+. Native SQLite bindings install from prebuilt +binaries on x86_64 / arm64 — no compiler needed for most setups. + +### Nix (Linux / macOS) ```sh nix develop # node 20, pnpm, sqlite, build deps +``` + +### Debian / Ubuntu + +```sh +# Node 20 from NodeSource +curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - +sudo apt install -y nodejs +sudo corepack enable # provides pnpm + +# Only needed if a prebuilt better-sqlite3 binary is unavailable for your arch +sudo apt install -y build-essential python3 +``` + +### Windows + +Install Node.js 20 LTS via the official MSI from (this +also installs the optional "Tools for Native Modules"). Then in PowerShell: + +```powershell +corepack enable # provides pnpm +``` + +Use PowerShell to set env vars on the same line, e.g. +`$env:ADMIN_PASSWORD="changeme"; pnpm dev:server`. + +## Dev + +```sh pnpm install ADMIN_PASSWORD=changeme pnpm dev:server # http://localhost:3000 pnpm dev:client # http://localhost:5173 (proxies /api, /admin)