for-the-people-foundation
v0.0.3
Published
Foundation monorepo for the For-The-People workspace — shared Nuxt 3 + Supabase building blocks (nuxt-kit, supabase-kit, auth-kit) published under @for-the-people-initiative/*.
Readme
For-The-People Foundation
Workspace monorepo for the foundational Nuxt 3 + Supabase building blocks shared across the 001-FOR-THE-PEOPLE/ projects (my-health-journey, family-choirs, future projects). Each package is published independently to npm under the @for-the-people-initiative/ scope.
Packages
| Package | Status | Purpose |
| --- | --- | --- |
| @for-the-people-initiative/nuxt-kit | spec only | Bottom layer — Nuxt project baseline (config defaults, theme, layouts, shared utils) + scaffolding (devcontainer, Prettier, Vitest, Playwright, Netlify deploy) |
| @for-the-people-initiative/supabase-kit | spec only | Middle layer — @nuxtjs/supabase wiring, migration baseline, RLS policy generator, soft-delete helpers, typed DB composables |
| @for-the-people-initiative/auth-kit | spec only | Top layer — login/signup pages, auth middleware, tenants + tenant_admins schema, GDPR-baseline (consent, account deletion, security logging) |
Layer stack (consumers extend in this order in nuxt.config.ts):
consumer project (e.g. family-choirs, my-health-journey)
↓ extends
@for-the-people-initiative/auth-kit ← peer-dep ↓
@for-the-people-initiative/supabase-kit ← independent
@for-the-people-initiative/nuxt-kit ← bottom (no ftp peer-deps)The sibling package @for-the-people-initiative/design-system lives in its own repo (/001-FOR-THE-PEOPLE/style-library/) and is consumed via npm, not as a Nuxt layer.
Status
All three packages are currently specification-only — see each package's SPEC.md. Code lands in subsequent PRs. First publish target: 0.0.1 for each.
Build order (because of peer-dep relationships):
nuxt-kit(no ftp peer-deps)supabase-kit(peer-dep on@nuxtjs/supabaseonly)auth-kit(peer-dep onsupabase-kit)
Development
pnpm install # install all workspace deps
pnpm --filter nuxt-kit build # build a single package
pnpm build # build all packages
pnpm changeset # record a versioned change
pnpm test # run all testsReleases
Versioning + publishing via changesets:
- Add a changeset (
pnpm changeset) alongside your code changes — pick affected packages and bump types. - On merge to
main, the GitHub Action opens a "Version Packages" PR with the proposed version bumps + changelog updates. - Merging the version PR triggers npm publish + git tag.
Each package versions independently. Cross-package dependencies use workspace:* in development; changesets rewrites these to semver ranges on publish.
Origin
Extracted from my-health-journey (the donor codebase). Each SPEC.md documents the migration path out of mhj and into family-choirs (the first consumer).
