GoingNinja Manual Knowledge Wiki logo
GoingNinja Manual Knowledge Wiki Lean MVP bootstrap documentation // Felix Rascher (WIP)

1. Default Stack Today

Layer Default today Why it is the current default
app framework SvelteKit one framework covers server routes, form actions, SSR, and deployable Node output for the current MVP class, and no replacement evaluation is in scope yet
runtime Node.js on Vercel the generated bootstrap, CI workflows, and custom-domain flow all target the Vercel CLI and Vercel Git integration today; no replacement has been evaluated
database Postgres on Neon the generated bootstrap uses neonctl for project and database creation; the credential model and STATE.json linked resource fields are scoped to Neon today
Git + CI GitHub + GitHub Actions branch flow, PR audit, and post-merge render are encoded there today
protected edge Cloudflare Access current manual, preview, and operator protection path is already exercised there
app authentication optional project module product login is not forced by the OS layer; Cloudflare Access is not a replacement for product auth

Tool roles are not stack layers. The builder, hard auditor, and broad contradiction reader are workflow actors described in Tool Roles.

2. Setup Assumptions

The current bootstrap path assumes:

  • a macOS operator machine
  • gh authenticated locally
  • node, jq, rsync, and python3 installed
  • vercel and neonctl installed when live provisioning should run
  • global provider credentials available through the Keychain-backed loader

Required credential surface for the full provider-backed path:

  • gh session
  • VERCEL_TOKEN
  • NEON_API_KEY
  • CLOUDFLARE_API_TOKEN when DNS or Access automation is in scope
  • ANTHROPIC_API_KEY and GEMINI_API_KEY when live review steps are in scope
  • MISTRAL_DEV_API_KEY and MISTRAL_PROD_API_KEY when the hosted wiki assistant is in scope

The exact split and storage path live in Credentials And Resumable Bootstrap.

Minimal setup check:

cd /path/to/goingninja-os
./scripts/load-global-providers.sh check
gh auth status

The current implementation is intentionally explicit: changing providers changes the bootstrap script, the template, and the proof surface. It does not silently stay the “same system.”

3. If A Provider Changes

Change What must change with it
swap runtime host bootstrap script, deploy docs, proof backlog, vendor-source table
swap database provider bootstrap script, credential model, starter STATE.json, proof backlog
swap protected edge deployment docs, default subdomain rules, credential scope, vendor-source table

The contract that should survive a provider change is smaller:

  • JSON stays machine truth
  • Markdown stays rendered view
  • builder and reviewer stay separated
  • post-merge rendering stays on main
  • bootstrap stays resumable

4. Sources

Notes

  1. Implementation. goingninja-os/templates/project-repo/STATE.json, goingninja-os/templates/project-repo/PLAN.md, and scripts/load-global-providers.sh.