Back to Northbound

AGENTS.md — Northbound.Run

Operational rules for any AI agent (Claude Code, Codex, etc.) working in this repo. For full project preferences (copy & voice, forms), see CLAUDE.md.

Package manager: bun only — never npm

  • This project uses bun. The Cloudflare Pages deploy installs from bun.lock.
  • Use bun / bunx for everything: bun install, bun add <pkg> (-d for dev deps), bun run <script>. Never run npm, npx, yarn, or pnpm.
  • Never create or commit package-lock.json (it's gitignored). When that file is present, Cloudflare auto-detects npm and runs strict npm ci, which fails the moment the npm lock drifts from package.json — this already broke a deploy once. bun.lock is the only source of truth.
  • After changing dependencies, commit the updated bun.lock; verify a clean install with bun install --frozen-lockfile.
  • If a package-lock.json ever reappears at the repo root, delete it.

Git

  • On any branch that is not main, auto-commit and push changes with clear, concise messages. On main, branch first or wait for explicit instruction.

Dev server

  • A dev server is already running via VS Code — no need to start one after making changes.

Build / deploy

  • Build: bun run build (VitePress → .vitepress/dist, gitignored).
  • Hosting: Cloudflare Pages. Redirects live in public/_redirects.