← 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, supertest default-import correction, the Nitro PORT-vs-NITRO_PORT bug, and the config.env.ts + check-envs.sh patterns. Activates when aligning a project with current starter conventions, and on Mongoose union-type errors or ERR_SOCKET_BAD_PORT crashes. NOT for dependency version bumps (use maintaining-npm-packages). NOT for nest-server major upgrades (use nest-server-updating).
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) Eleven phases in fixed order, each assuming the previous one landed. Every phase has a clear "done" signal — proceed only when it is met. | Phase | Subject | |---|---| | 1 | Inventory | | 2 | API: jest to vitest |