Nuxt frontend
Routes, composables, build output, and the generated Encore client stay in the Nuxt lane.
create-neck-stack
Nuxt and Encore apps with production shape already wired: generated clients, Caddy ingress, Komodo deploy resources, CI, migrations, and shared NECK Dash observability.
Stack shape
Routes, composables, build output, and the generated Encore client stay in the Nuxt lane.
Typed APIs, services, secrets, SQL, cache, Pub/Sub, crons, streams, logs, traces, and tests.
One public domain serves Nuxt, proxies /api, and mounts the shared dashboard under /__neck_dash.
Compose, infra config, CI, image builds, migrations, and webhooks are generated from app metadata.
Why NECK
Frontend calls go through Encore's generated client, so route changes are caught before deploy.
Infra files are generated from Encore metadata instead of a second hand-maintained source scan.
NECK Dash scopes traces, logs, metrics, Flow, service catalog, and OpenAPI by app on the shared server.
The scaffold includes canonical rules for coding agents, editor configs, CI, scripts, and deployment paths.
Production path
The generated project keeps runtime paths explicit: Caddy owns public ingress, Encore owns backend primitives, Komodo owns server deployment, and NECK Dash stays shared per host.
Create a Nuxt + Encore workspace
Generate clients and OpenAPI
Build frontend, backend, and migrations
Deploy through Komodo with Caddy on one domain
Quick start
Use the published initializer for a blank app, or run the interactive wizard when the domain, registry, Komodo server, or dashboard credentials should be captured up front.
pnpm create neck-stack my-app
cd my-app
pnpm dlx zx scripts/install.mjs
pnpm check
pnpm dev