Release: vue-ui-kit client scaffolding #7

Merged
FernandoJVideira merged 5 commits from dev into main 2026-09-16 11:57:52 +00:00
Owner

Summary

  • Scaffold Nuxt and Vue clients on @fernandojvideira/vue-ui-kit (private Gitea npm registry) instead of Nuxt UI / shadcn-vue; the generated Docker build takes the registry token via --mount=type=secret instead of SSH forwarding
  • Pin typescript@~6.0.0 in the Nuxt scaffold, since TS 7 breaks the cross-file type resolution vue-ui-kit's interface Props extends … components rely on
  • Bump the assets/testdata/template submodule through the vue-ui-kit integration, the default-page redesign, the tabbed auth card, and the Nuxt Dialog/Select SSR fix (deduped vue/reka-ui via a workspace vue override)

Brings main up to dev after #6.

Test plan

  • go run tools/sync_templates.go && go build . succeeds
  • draft new (monorepo) yields a project where both clients install and build against the private registry
  • Generated client Docker builds succeed with the npm token secret mounted

🤖 Generated with Claude Code

## Summary - Scaffold Nuxt and Vue clients on `@fernandojvideira/vue-ui-kit` (private Gitea npm registry) instead of Nuxt UI / shadcn-vue; the generated Docker build takes the registry token via `--mount=type=secret` instead of SSH forwarding - Pin `typescript@~6.0.0` in the Nuxt scaffold, since TS 7 breaks the cross-file type resolution vue-ui-kit's `interface Props extends …` components rely on - Bump the `assets/testdata/template` submodule through the vue-ui-kit integration, the default-page redesign, the tabbed auth card, and the Nuxt Dialog/Select SSR fix (deduped `vue`/`reka-ui` via a workspace `vue` override) Brings `main` up to `dev` after #6. ## Test plan - [x] `go run tools/sync_templates.go && go build .` succeeds - [x] `draft new` (monorepo) yields a project where both clients install and build against the private registry - [x] Generated client Docker builds succeed with the npm token secret mounted 🤖 Generated with [Claude Code](https://claude.com/claude-code)
FernandoJVideira added 5 commits 2026-09-16 11:56:42 +00:00
Both `draft new client` and `draft new monorepo` (which reuses the same
client scaffolding for apps/client) now wire up @fernandojvideira/vue-ui-kit
as the component library on both frameworks, installed from its Gitea npm
registry.

Vue: drops the shadcn-vue init/add steps entirely - vue-ui-kit's theme.css
is imported directly instead of a generated one, and the overlay's one
shadcn Button usage now comes from vue-ui-kit.

Nuxt: switches the nuxi starter from "ui" (Nuxt UI) to "minimal", wiring
Tailwind v4 + vue-ui-kit by hand instead (mirrors vue-ui-kit's own Nuxt
INSTALL.md instructions). Needed one real fix: the "minimal" starter has
no typescript devDependency, and pnpm resolving it unpinned lands on
TypeScript 7, which breaks @vue/compiler-sfc's cross-file type resolution
that vue-ui-kit's components rely on - pinned to ~6.0.0 to match
create-vue's own default for the Vue flow.

The actual overlay content changes (token renames, icon swaps, a new
useToast() composable for Nuxt, etc.) live in the project-template
submodule, bumped here to its latest commit.

Verified end-to-end: both frameworks install, typecheck, and build clean
from a fresh `draft new client`, and were checked live in the browser.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
No change to draft's own generated output - this commit only touches
files outside what tools/sync_templates.go pulls into assets/embedded
(package.json, main.css, and the shadcn-vue-generated files it deletes
are all excluded from the client-vue/client-nuxt sync jobs already).
Keeps the reference project itself buildable and free of dead
dependencies now that both clients use vue-ui-kit.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
Co-Authored-By: Claude Sonnet 5 <[email protected]>
Co-Authored-By: Claude Fable 5.1 <[email protected]>
Reviewed-on: #6
FernandoJVideira merged commit b3ea1013bc into main 2026-09-16 11:57:52 +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#7