v0.2.0: ship the client Dockerfile with generated Nuxt apps #8

Merged
FernandoJVideira merged 1 commits from chore/v0.2.0 into main 2026-09-16 12:09:32 +00:00
Owner

Summary

  • Fix: a generated monorepo's docker-compose.yml builds apps/client from apps/client/Dockerfile, but the Nuxt overlay only embedded app/ and public/, so the Dockerfile never existed and docker compose build client failed on every fresh project. The client-nuxt sync job now embeds it, and scaffoldClientNuxt rewrites its pnpm pin to the locally detected version (the one that produces the generated lockfile), mirroring the existing packageManager stamp
  • Submodule bumped to project-template#3, which mounts ~/.npmrc as a build secret so the image can fetch @fernandojvideira/vue-ui-kit from the Gitea registry without baking the token in
  • Makefile VERSION → v0.2.0 for the release; README notes the Docker secret wiring

Merge project-template#3 first.

Test plan

  • go run tools/sync_templates.go && go vet ./cmd/... ./tools/... && go build . — assets/embedded/client-nuxt/Dockerfile present, make version prints v0.2.0
  • docker compose build client in the template succeeds with the token only in ~/.npmrc
  • draft new monorepo (Nuxt) → docker compose build client succeeds in the generated project

🤖 Generated with Claude Code

## Summary - **Fix:** a generated monorepo's `docker-compose.yml` builds `apps/client` from `apps/client/Dockerfile`, but the Nuxt overlay only embedded `app/` and `public/`, so the Dockerfile never existed and `docker compose build client` failed on every fresh project. The `client-nuxt` sync job now embeds it, and `scaffoldClientNuxt` rewrites its pnpm pin to the locally detected version (the one that produces the generated lockfile), mirroring the existing `packageManager` stamp - Submodule bumped to project-template#3, which mounts `~/.npmrc` as a build secret so the image can fetch `@fernandojvideira/vue-ui-kit` from the Gitea registry without baking the token in - `Makefile` `VERSION` → v0.2.0 for the release; README notes the Docker secret wiring Merge project-template#3 first. ## Test plan - [x] `go run tools/sync_templates.go && go vet ./cmd/... ./tools/... && go build .` — `assets/embedded/client-nuxt/Dockerfile` present, `make version` prints v0.2.0 - [x] `docker compose build client` in the template succeeds with the token only in `~/.npmrc` - [ ] `draft new monorepo` (Nuxt) → `docker compose build client` succeeds in the generated project 🤖 Generated with [Claude Code](https://claude.com/claude-code)
FernandoJVideira added 1 commit 2026-09-16 12:08:21 +00:00
A generated monorepo's docker-compose.yml already built apps/client from
apps/client/Dockerfile, but the client overlay only embedded app/ and
public/, so the file never existed and `docker compose build client`
failed on every fresh project. The client-nuxt sync job now embeds the
template's Dockerfile too, and the Nuxt scaffold rewrites its pnpm pin to
the locally detected version - the one that produces the generated
project's lockfile - the same way it already stamps packageManager.

Bumps the submodule to the template commit that mounts ~/.npmrc as a
build secret for the registry token, and the Makefile VERSION to v0.2.0
for the release.

Co-Authored-By: Claude Fable 5.1 <[email protected]>
FernandoJVideira merged commit 1195fdacb5 into main 2026-09-16 12:09:32 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: FernandoJVideira/draft#8