Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Generate TypeScript/JavaScript project scaffolding with npm/pnpm/yarn, Jest/Vitest, ESLint/Prettier, and bundling (Vite/Rollup/esbuild).
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-06 | ✗→✓ | ▲ Improved | 107% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 49% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 115% | 0% |
| case-08 | ✓→✓ | = Same ✓ | 94% | 0% |
| case-12 | ✓→✓ | = Same ✓ | 178% | 0% |
Trigger conditions:
Not for:
mobile-cicd-generator)Time normalization:
NOW_ET using NIST/time.gov semantics (America/New_York, ISO-8601)NOW_ET for all citation access datesInput validation:
project_type must be one of: library, cli, api, react, vue, monorepopackage_manager must be one of: npm, pnpm, yarntypescript_version must be one of: 5.3, 5.4, 5.5project_name must be valid npm package name (lowercase, hyphens allowed)Source freshness:
Fast path for common cases:
project-name/ src/ index.ts tests/ index.test.ts package.json tsconfig.json .gitignore README.md
json { "name": "project-name", "version": "0.1.0", "type": "module", "main": "./dist/index.js", "types": "./dist/index.d.ts", "scripts": { "build": "tsc", "test": "jest", "lint": "eslint src" }, "devDependencies": { "typescript": "^5.5.0", "@types/node": "^20.0.0" } }
json { "compilerOptions": { "target": "ES2022", "module": "ESNext", "moduleResolution": "bundler", "strict": true, "esModuleInterop": true, "skipLibCheck": true, "declaration": true, "outDir": "./dist" }, "include": ["src"], "exclude": ["node_modules", "dist"] }
Decision: If only basic scaffolding needed → STOP at T1; otherwise proceed to T2.
Extended configuration with testing and build tools:
Jest accessed 2025-10-26 json { "devDependencies": { "jest": "^29.7.0", "@types/jest": "^29.5.0", "ts-jest": "^29.1.0" }, "scripts": { "test": "jest", "test:watch": "jest --watch", "test:coverage": "jest --coverage" } }
jest.config.js: javascript export default { preset: 'ts-jest', testEnvironment: 'node', roots: ['<rootDir>/tests'], testMatch: ['**/*.test.ts'], collectCoverageFrom: ['src/**/*.ts'], coverageThreshold: { global: { branches: 80, functions: 80, lines: 80 } } };
Vitest (alternative, faster) accessed 2025-10-26 json { "devDependencies": { "vitest": "^1.6.0" }, "scripts": { "test": "vitest run", "test:watch": "vitest" } }
ESLint + Prettier accessed 2025-10-26 json { "devDependencies": { "eslint": "^8.57.0", "@typescript-eslint/parser": "^7.0.0", "@typescript-eslint/eslint-plugin": "^7.0.0", "prettier": "^3.2.0", "eslint-config-prettier": "^9.1.0" } }
.eslintrc.json: json { "parser": "@typescript-eslint/parser", "plugins": ["@typescript-eslint"], "extends": [ "eslint:recommended", "plugin:@typescript-eslint/recommended", "prettier" ], "rules": { "@typescript-eslint/no-unused-vars": "error", "@typescript-eslint/explicit-function-return-type": "warn" } }
Vite (for libraries and apps) accessed 2025-10-26 javascript // vite.config.ts import { defineConfig } from 'vite'; import { resolve } from 'path';
export default defineConfig({ build: { lib: { entry: resolve(__dirname, 'src/index.ts'), name: 'MyLib', fileName: 'index' } } });
tsup (zero-config bundler) accessed 2025-10-26 json { "scripts": { "build": "tsup src/index.ts --format cjs,esm --dts" } }
React with Vite: json { "dependencies": { "react": "^18.3.0", "react-dom": "^18.3.0" }, "devDependencies": { "@vitejs/plugin-react": "^4.3.0", "@types/react": "^18.3.0", "@types/react-dom": "^18.3.0" } }
Vue with Vite: json { "dependencies": { "vue": "^3.4.0" }, "devDependencies": { "@vitejs/plugin-vue": "^5.0.0" } }
Deep configuration for monorepos and production:
pnpm Workspaces: yaml # pnpm-workspace.yaml packages:
Root package.json: json { "name": "monorepo", "private": true, "scripts": { "build": "pnpm -r build", "test": "pnpm -r test", "lint": "pnpm -r lint" } }
Turborepo accessed 2025-10-26 json { "devDependencies": { "turbo": "^2.0.0" } }
turbo.json: json { "pipeline": { "build": { "dependsOn": ["^build"], "outputs": ["dist/**"] }, "test": { "dependsOn": ["build"] } } }
json { "compilerOptions": { "baseUrl": ".", "paths": { "@/*": ["src/*"], "@utils/*": ["src/utils/*"], "@components/*": ["src/components/*"] } } }
.github/workflows/ci.yml name: CI on: push, pull_request] jobs: test: runs-on: ubuntu-latest steps:
with: node-version: 20 cache: 'pnpm'
json { "files": ["dist"], "exports": { ".": { "import": "./dist/index.js", "require": "./dist/index.cjs", "types": "./dist/index.d.ts" } }, "publishConfig": { "access": "public" } }
json { "devDependencies": { "@playwright/test": "^1.45.0" }, "scripts": { "test:e2e": "playwright test" } }
Package Manager Selection:
Project Type Structure:
Abort Conditions:
project_name (uppercase, special chars) → errorTool Version Selection:
Schema (JSON):
json{ "project_name": "string", "project_type": "library | cli | api | react | vue | monorepo", "typescript_version": "string", "package_manager": "npm | pnpm | yarn", "structure": { "directories": ["string"], "files": { "path/to/file": "file content (string)" } }, "commands": { "install": "string", "dev": "string", "build": "string", "test": "string", "lint": "string" }, "next_steps": ["string"], "timestamp": "ISO-8601 string (NOW_ET)" }
Required Fields:
Quick Start: TypeScript Library (29 lines)
typescript// examples/library-example.ts export interface CalculationResult { value: number; timestamp: Date; } export class Calculator { private history: number[] = []; add(a: number, b: number): CalculationResult { const value = a + b; this.history.push(value); return { value, timestamp: new Date() }; } multiply(a: number, b: number): CalculationResult { const value = a * b; this.history.push(value); return { value, timestamp: new Date() }; } getHistory(): readonly number[] { return Object.freeze([...this.history]); } clear(): void { this.history = []; } }
Additional Examples:
examples/cli-example.ts (28 lines) - shebang, args, file operationsexamples/api-example.ts (30 lines) - typed routes, middleware, error handlingTemplate Resources (see resources/)
tsconfig-library.json / tsconfig-react.json / tsconfig-node.jsonpackage-library.json / package-cli.json / package-api.jsonjest.config.js - Jest testing configurationToken Budgets:
Safety:
Auditability:
Determinism:
Performance:
Official Documentation (accessed 2025-10-26):
Build Tools:
Testing:
Best Practices:
Other measured skills in the registry, with their headline benchmark lift.