Skip to content

fullstack honors --server (Hono | Fastify | Express) — closes #29 - #31

Merged
DanMat merged 1 commit into
mainfrom
feat/fullstack-server-framework
Aug 1, 2026
Merged

fullstack honors --server (Hono | Fastify | Express) — closes #29#31
DanMat merged 1 commit into
mainfrom
feat/fullstack-server-framework

Conversation

@DanMat

@DanMat DanMat commented Aug 1, 2026

Copy link
Copy Markdown
Owner

#29: the fullstack preset always scaffolded Hono, ignoring --server / serviceFramework. A documented override looked broken from the CLI, MCP, and web configurator.

Generation

apps/server is now generated per framework, each serving /api/health (the shared Health shape) and, in production, the built web app from apps/web/dist:

  • Hono@hono/node-server serveStatic (default; byte-identical to before)
  • Expressexpress.static + supertest tests; app typed as Express to satisfy the workspace's declaration emit (TS2742 fix)
  • Fastify@fastify/static (added to the version catalog) + inject tests

The other half of the bug — surfacing it

Even with generation fixed, no surface let you pick the framework for fullstack, because serviceFramework's when only triggered on a service target (fullstack's target is library). Fixed:

  • serviceFramework's when and the CLI wizard now trigger for the fullstack layout too, so the picker appears
  • the web command builder emits --server for fullstack — and --monorepo-layout, a pre-existing gap that made the fullstack command unreproducible since 2.9
  • preset/option help and the README reference now say Hono/Fastify/Express

Verified

  • Hono default byte-identical across all 48 monorepo/fullstack configs — purely additive, no churn.
  • Express and Fastify fullstack each install, build, typecheck, and pass their tests (real local integration runs). The Fastify @fastify/static path and the Express supertest path both work.
  • The web configurator's command round-trips through the CLI to a fullstack Express project (--framework react --server express --monorepo --monorepo-layout fullstack).
  • Added fullstack --server express and fullstack --server fastify to the integration matrix, and fullstack framework variants to the version-catalog conformance matrix.

99 tests pass, lint clean.

Closes #29

🤖 Generated with Claude Code

The fullstack preset always scaffolded Hono, ignoring --server /
serviceFramework — so a documented override looked broken from the CLI,
MCP, and web configurator. Now apps/server is generated per framework,
with each serving /api/health (the shared Health shape) and, in
production, the built web app from apps/web/dist:

- Hono: @hono/node-server serveStatic (default; byte-identical to before)
- Express: express.static + supertest tests; app typed as Express to
  satisfy the workspace's declaration emit (TS2742)
- Fastify: @fastify/static (added to the version catalog) + inject tests

Exposed across every surface, which was the other half of the bug:
- serviceFramework's `when` and the CLI wizard now trigger for the
  fullstack layout, not only a `service` target, so the picker appears
- the web command builder emits `--server` for fullstack, and also
  `--monorepo-layout` (a pre-existing gap — the fullstack command was
  unreproducible since 2.9)
- preset/option help + the README reference say Hono/Fastify/Express

Verified: Hono default byte-identical across all 48 monorepo/fullstack
configs; express and fastify fullstack each install, build, typecheck,
and pass their tests (real integration run); the web command round-trips
through the CLI to a fullstack Express project. Added both to the
integration matrix and the version-catalog conformance matrix.

Closes #29

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@DanMat
DanMat merged commit 07f122f into main Aug 1, 2026
39 checks passed
@DanMat
DanMat deleted the feat/fullstack-server-framework branch August 1, 2026 16:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fullstack: honor --server / serviceFramework (Express|Fastify) instead of hardcoding Hono

1 participant