← ClaudeAtlas

modernizing-toolchainlisted

Migrates lenne.tech projects from the legacy jest+eslint+prettier toolchain to the current vitest+oxlint+oxfmt baseline used by nest-server-starter and nuxt-base-starter. Covers swc decoratorMetadata config, the @Prop union-type fix for SWC, supertest default-import correction, ESM/CJS interop, the Nitro PORT-vs-NITRO_PORT bug, ANSI escape stripping in workspace runners (lerna/nx), free-port logic for check-server-start.sh, the offers-pattern config.env.ts (NSC__-only + fail-fast + auto-derived appUrl), and the multi-phase check-envs.sh smoke test. Activates whenever someone is migrating an existing project to the new toolchain, debugging "Cannot determine a type for the X field" Mongoose errors, ERR_SOCKET_BAD_PORT crashes from check-server-start, or wants to align an existing project with the current starter conventions.
lenneTech/claude-code · ★ 0 · AI & Automation · score 72
Install: claude install-skill lenneTech/claude-code
# Modernizing the lenne.tech Toolchain ## When This Skill Activates - Migrating an existing API/App from jest → vitest, eslint → oxlint, prettier → oxfmt - Adopting the `check` / `check:fix` / `check:envs` pipeline used by the starters - Debugging Mongoose `"Cannot determine a type for the X field (union/intersection/ambiguous type was used)"` after switching to vitest+SWC - Debugging `ERR_SOCKET_BAD_PORT` from `node .output/server/index.mjs` in any check pipeline - Debugging missing or stale `types.gen.ts` after a Nuxt update - Aligning a project with the current `config.env.ts` shape (NSC__-only + fail-fast + helper functions) - Cleaning up phantom Unix-domain-sockets named `[33m12345[39m` in the project root ## Reference Repositories (public) All references in this skill are to the public lenne.tech repos. **Never reference local clone paths in skill output**: - API starter: <https://github.com/lenneTech/nest-server-starter> - API framework: <https://github.com/lenneTech/nest-server> - App starter: <https://github.com/lenneTech/nuxt-base-starter> - App framework: <https://github.com/lenneTech/nuxt-extensions> - Monorepo template: <https://github.com/lenneTech/lt-monorepo> - CLI: <https://github.com/lenneTech/cli> ## The Migration Checklist (full pipeline) Apply these in order. Each phase has a clear "done" signal — proceed only when met. ### Phase 1 — Inventory 1. Detect project shape: monorepo (`projects/api`, `projects/app`) vs single-package? 2. Detect package