Foundation: single arm64 container (Hono + SQLite via Drizzle, React + Vite), local sign-in with long-lived sessions and passkeys, roles (read-only, full access, admin), nightly and pre-upgrade backups, light and dark themes, date-based version numbers, and the ideas lightbulb behind IDEAS_ENABLED. Money in: accounts with balances, CSV import with bank detection, a column mapping pop-up for unknown layouts, duplicate checks, transfer pairing and undo; one-tap review with learned rules; activity with search, splits, tags, notes and cash entries. Statement files are blocked from commits by a pre-commit hook; tests use synthetic fixtures only. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
25 lines
690 B
Bash
Executable File
25 lines
690 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# Run a command with the project's Node 24 toolchain, inside the official
|
|
# Node image, so the host needs nothing but Docker.
|
|
#
|
|
# scripts/dev.sh npm install
|
|
# scripts/dev.sh npm test
|
|
# scripts/dev.sh npm run dev:server
|
|
set -euo pipefail
|
|
cd "$(dirname "$0")/.."
|
|
|
|
tty_flag=()
|
|
if [ -t 0 ] && [ -t 1 ]; then tty_flag=(-t); fi
|
|
|
|
exec docker run --rm -i "${tty_flag[@]}" \
|
|
--user "$(id -u):$(id -g)" \
|
|
--network host \
|
|
-e HOME=/tmp \
|
|
-e npm_config_cache=/app/.npm-cache \
|
|
-e npm_config_update_notifier=false \
|
|
-e npm_config_fund=false \
|
|
-e npm_config_audit=false \
|
|
-e TZ="${TZ:-America/New_York}" \
|
|
-v "$PWD":/app -w /app \
|
|
node:24-bookworm-slim "$@"
|