@aratika/project-bootstrap
v0.4.0
Published
Aratika Systems project bootstrap — operating-system layer + Astro/React-SPA/FastAPI templates. One command to a working, aligned project.
Downloads
756
Maintainers
Readme
@aratika/project-bootstrap
One command to a working, aligned Aratika Systems project — so you (and AI agents, and new hires) never rebuild infrastructure again.
npx @aratika/project-bootstrap create my-project --template site # Astro SEO site
npx @aratika/project-bootstrap create my-app --template app # React SPA app
npx @aratika/project-bootstrap create my-funnel --template site --with-api # hybridThe alignment model (from 3 real products: FloorQuote, aratika-systems, pp-flooring-website)
Everything shares one operating-system layer; the render framework matches the product shape. Alignment ≠ monoculture.
| Layer | What | Tool |
|---|---|---|
| OS layer (_shared, every project) | .claude agent harness, deploy/merge/cache scripts, backlog workflow, CLAUDE.md conventions, docker-compose, CI | Node |
| site template | public / marketing / funnel (SEO-critical, static-first) | Astro + React islands + Tailwind |
| app template | login-gated tools / dashboards (no SEO) | React SPA (Vite) + Tailwind |
| api template (--with-api) | shared data / logic layer | FastAPI + SQLite/Postgres |
A hybrid (public SEO funnel + internal app, e.g. aratika) = site + app + --with-api.
Why not Next.js
Considered and dropped: its pitch was "one framework for SEO pages + app pages", but the real products show Astro is better for the SEO part and a React SPA is simpler for the app part, unified by the OS layer + shared TS/React/Tailwind. Next.js would be a third framework solving a problem already solved better.
How the 3 existing products map
- pp-flooring-website →
site(Astro). ✅ reference for thesitetemplate. - FloorQuote →
app+api. Public enquiry side is thesite. - aratika-systems →
site(the SEO funnel) +app(CRM admin) +api(leads). Already structuredweb/+admin/+api/; the SEO upgrade is swapping its publicweb/to Astro.
Status (Phase 0 — proving the path)
- [x] Package skeleton + working
createCLI (layers_shared+ template, token-substitutes, merges package.json) - [x]
_sharedOS layer in place (nas-deploy / merge-to-main / check-cf-cache-rule / backlog-status / refinement / prod-smoke +.claudeharness) + config-driven model (aratika.config.json,_config.mjs) - [x]
sitetemplate (Astro) —create → npm ci → npm run buildproven (prerendered HTML + sitemap + server route) - [x]
apptemplate (React SPA) —create → npm ci → npm run buildproven (tsc + Vite, AuthGuard, api client) - [x]
apitemplate (FastAPI) —pytestgreen (health, CRUD, auth-mode passthrough, guards, lifespan) - [ ] Genericise the OS scripts to read
aratika.config.json(loader done; deploy-script wiring remains — needs NAS dry-run) — task 003 - [ ]
_sharedinfra: docker-compose + CI workflow + root README — task 004 - [ ] Publish + versioned OS-layer update path — task 005
- [ ] Validate the 15-minute path end-to-end + dogfood a real surface — task 006
Remaining work is tracked in this repo's own backlog/ (it dogfoods the operating system it ships).
Status: all three templates scaffold and build/test clean
npx @aratika/project-bootstrap create x --template site|app [--with-api] produces a working,
aligned project with the operating system wired in. Verified end-to-end for each template.
