# Local development Full-stack Nuxt 4 development at the repository root. Data defaults to `./data`. ## Requirements - Node.js **22** - npm **11** (see `packageManager` in `package.json`) ## Start ```bash npm install cp .env.example .env # optional npm run dev ``` Open `http://localhost:3000/setup` to create the admin account. Data directory defaults to `./data` (`DATA_DIR` overrides). ## Common commands | Command | Description | | ------- | ----------- | | `npm run dev` | Dev server | | `npm run build` | Production build | | `npm run start` | Run `.output` | | `npm run lint` | ESLint | | `npm run typecheck` | Type check | | `npm test` | Unit tests | | `npm run reset-password` | Reset password (optional username) | | `npm run migrate` | Preview legacy dir migration (`-- --apply` to run) | ## Dev-only variables | Variable | Description | | -------- | ----------- | | `DEV_BYPASS_ACCESS` | `true` bypasses login (skips `/setup`; rarely needed) | | `DATA_DIR` | Data directory, default `./data` | Full list: [Environment variables](./configuration.md). ## Dual-domain local test Edit `hosts` and follow [Dual-domain separation](./domain-separation.md) for local verification. ## Documentation site ```bash npm run docs:dev npm run docs:build npm run docs:preview ``` Sources live in `docs-site/`; screenshot sources are in `docs/screenshots/` (including `login.png`), copied to `docs-site/public/screenshots/` before build. ## Publish to GitHub Pages Live docs: **First-time setup** (if deploy fails or the site 404s): 1. Repo **Settings → Pages** 2. **Build and deployment → Source** → **GitHub Actions** (not “Deploy from a branch”) 3. Push to `main` or run the `docs` workflow manually from Actions Allow 1–2 minutes after a successful deploy. If the `deploy` job fails immediately, Pages is usually not enabled yet.