Foundation: scaffold template repo for new projects #14
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Create a new Forgejo template repo
ai-development-stack-templatethat produces a working starter project on first devcontainer boot. This standards repo stays as docs/decisions; the template repo is the seed for new projects.Decisions
Devcontainer model. Separate template repo on the forge, marked as a Forgejo template. New-project flow: Use this template on Forgejo → clone → reopen in container →
bootstrap.shruns once on first boot. Existing-project flow uses recipes (#1–#13) inside the running container.Pinning model — tiered by upstream stability:
1.0.0-beta.X(already mandated), Better-Auth, Mastra, Astro 6, TanStack Start when adopted, anything pre-1.0.node:24-bookworm,postgres:16-alpine,python:3.12-bookworm). Neverlatest.pnpm-lock.yaml,uv.lock. Reproducibility comes from lockfiles, not from manual exact-pins everywhere.Renovate. Deferred pending user research into long-term legitimacy. Template will not ship with
renovate.jsonfor now; revisit once direction is set.Work items
ai-development-stack-templaterepo on the forge, marked as a Forgejo template.docker-compose.ymlwith sibling Postgres + pgvector and OTel collector hooks;.env.example;entrypoint.shrunningbootstrap.shon first boot; idempotency sentinel. Differs from this standards repo's devcontainer (Python-only) — needs polyglot.scaffold.md§3):package.json(workspaces),pnpm-workspace.yaml,turbo.json,biome.json,compose.yaml,.env.example, rootpyproject.toml(for Python-lane projects' uv workspace).AGENTS.md(§4): seeded fromscaffold.md§4 prose; placeholders for project-name, lane choice, optional add-ons.apps/webtemplate (§5): React 19 + Vite + TanStack Router/Query + Tailwind v4 + shadcn/ui + Sentry + OTel; per-appAGENTS.md.apps/apiTS-lane template (§6, default lane): Hono + Drizzle (pinned beta) + Better-Auth + Zod v4 + OTel Node SDK; per-appAGENTS.md; Dockerfile.apps/apiPython-lane template (§7, alternative lane): FastAPI + Pydantic v2 + SQLAlchemy 2.0 async + Alembic + alembic-utils + PyJWT + pwdlib + FastAPI-Users (scaffolding-only) + Authlib + OTel auto-instrumentation; per-appAGENTS.md; production Dockerfile..claude/scaffolding (§8): per-project skills,.mcp.json,.claude/settings.jsonhooks, plugins config.bootstrap.sh(first-boot script): project-rename, lane prompt (defaults to TS lane unless flag),pnpm install,pnpm dlx @tanstack/intent install --yes(perscaffold.md:945),uv syncif Python-lane, sentinel-guarded for idempotency.References
docs/standard.md,docs/scaffold.mdin this repo.devcontainer/(will need polyglot extension)scaffold.md:945Recipes #1–#13 are unblocked
The recipe-extraction issues don't strictly depend on this foundation —
scaffold.md§10 is unambiguous prose that can be extracted without a working template. They become useful only once a template exists, but the extraction work itself can proceed in parallel.