Research Baseline (as of 2026-02-26)
Decision making is based on the following public signals:
- Stack Overflow Developer Survey 2024: Node.js 40.8%, React 39.5%, Next.js 17.9%, NestJS 5.8%
- State of JS 2024: 67% respondents write more TypeScript than JavaScript
- State of CSS 2024: Tailwind CSS usage significantly leads CSS framework category
- npm weekly downloads (2026-02-18 to 2026-02-24):
typescript: 131,004,723
react: 96,415,450
tailwindcss: 60,494,373
next: 36,026,759
@nestjs/core: 7,290,173
Input Contract
Extract at least the following inputs; use defaults when missing and note assumptions:
- Product goal: target users and core scenarios
- Delivery speed:
urgent (<1 week) / normal (2-4 weeks) / long (>4 weeks)
- Team shape: frontend-heavy / backend-heavy / fullstack
- Runtime: web / api / both
- Data complexity: low / medium / high
Default assumptions: normal + small team + web-first + medium complexity
Mode Selection
Step 1: Hard Gates
Check in order; if hit, select mode immediately:
- Only concept demo, idea validation, no production requirement ->
demo
- Backend exists with stable API contract, only need UI ->
frontend-only
- Frontend consumer exists, only need API/service ->
backend-only
- Frontend and backend both needed with frequent interface changes -> proceed to scoring (usually
full-stack)
Step 2: Weighted Scoring (0-100)
Dimension scoring range 1-5:
- Requirement complexity (weight 25)
- Delivery speed pressure (weight 20)
- Team skill fitness (weight 20)
- Deployment constraint strength (weight 15)
- Data/state complexity (weight 20)
Mode target profiles:
full-stack: [4, 3, 4, 3, 4]
frontend-only: [2, 4, 4, 3, 2]
backend-only: [3, 3, 4, 4, 4]
demo: [1, 5, 3, 1, 1]
Calculation:
fit = 5 - abs(actual - target)
modeScore = Σ(fit/5 * weight)
Decision rules:
- Top score < 60 -> fallback to
demo + output information gaps
- Top1 - Top2 >= 8 -> select Top1 directly
- Gap < 8 -> compare
delivery speed, team skill fitness, change surface in order
Tech Stack Policy (Data-Dense First)
Preferred Default Stack
- Language:
TypeScript
- Frontend:
React + Next.js (App Router) + Tailwind CSS
- Backend:
NestJS (REST-first) + OpenAPI
- Package manager:
pnpm
- Repository:
Monorepo (pnpm workspaces)
- Task orchestration:
Turborepo (default), upgrade to Nx when governance is required
- Quality baseline:
ESLint + Prettier + Vitest + Playwright
Escalation to Nx
Upgrade from Turborepo to Nx when:
- Project count >= 6 packages/apps
- Need enforced module boundaries (lint-level boundaries)
- Need mature affected execution and stronger governance
Downgrade Rules
- Ultra-short PoC with only runnable pages -> can downgrade to single-repo single-app (non-monorepo)
- Backend single service with no shared packages -> can skip monorepo for now
Architecture Templates
1) full-stack
repo/
apps/
web/ # Next.js
api/ # NestJS
packages/
ui/ # React shared components
config/ # eslint/tsconfig/prettier shared config
types/ # shared DTO/types
sdk/ # typed API client
turbo.json
pnpm-workspace.yaml
tsconfig.base.json
Layering rules:
apps/* can depend on packages/*
packages/ui cannot depend on apps/*
packages/types must stay framework-agnostic
2) frontend-only
repo/
apps/web/
packages/
ui/
config/
types/
Default: use MSW or mock server to decouple backend availability.
3) backend-only
repo/
apps/api/
packages/
config/
types/
contracts/ # OpenAPI schema + generated clients
Default: deliver OpenAPI first with health/readiness endpoints.
4) demo
repo/
apps/demo/
packages/config/
Scope limit: single main flow + minimal dependencies + quick demo capability.
Execution Workflow
Phase B (Mode Decision):
- Use task(subagent_type="architect")
- Apply hard gates first, then weighted scoring if needed
- Output: selected mode, scores, hard gate hit (if any), reasoning (max 3 bullets), risk note (1 line)
- Save to:
.omc/quick-init/decision.md
Phase C (Bootstrap Plan):
- Use task(subagent_type="planner")
- Generate: directory structure, init commands, milestones (Day 1/3/7), minimal verification commands
- Save to:
.omc/quick-init/bootstrap-plan.md
Phase D (Command Generation):
- Direct execution: generate executable commands based on selected mode
- Save to:
.omc/quick-init/init-commands.sh
Default Command Templates
Full-stack or multi-package:
pnpm dlx create-turbo@latest
pnpm install
pnpm -r lint
pnpm -r test
pnpm -r build
Frontend-only (non-monorepo):
pnpm create next-app@latest web --ts --tailwind --eslint --app
cd web && pnpm test
Backend-only (non-monorepo):
pnpm add -g @nestjs/cli
nest new api
cd api && pnpm test
Output Format
Every execution must return:
## Init Recommendation
- Selected Mode: <full-stack|frontend-only|backend-only|demo>
- Confidence: <HIGH|MEDIUM|LOW>
## Decision Evidence
- Hard Gate: <rule-id or none>
- Scores: full-stack=<n>, frontend-only=<n>, backend-only=<n>, demo=<n>
- Why: <3 bullets max>
## Recommended Stack
- Runtime: ...
- Frameworks: ...
- Repo Strategy: ...
## Bootstrap Commands
[exact commands here]
## Folder Blueprint
[tree here]
## 7-Day Plan
1. Day 1 ...
2. Day 3 ...
3. Day 7 ...
## Risks & Mitigations
- Risk: ...
- Mitigation: ...
Quality Gates
Before claiming "ready to initialize", must satisfy:
- Mode selection has traceable basis (hard gate or complete scoring)
- Tech stack includes TypeScript, with explanation if not using default stack
- Commands are directly executable, no placeholders
- Directory structure matches selected mode
- At least one risk with mitigation provided
Sources
1---2name: quick-init-project-23description: Use when the user wants to "quick init project", "bootstrap a new project", "recommend fullstack vs frontend vs backend", "initialize monorepo", "generate project scaffold", "project setup recommendation", or asks "快速初始化项目", "初始化 monorepo", "生成项目脚手架方案"4---56<Purpose>7Quickly bootstrap a new project with intelligent mode selection (fullstack/frontend/backend/demo), data-dense tech stack recommendations based on 2026 ecosystem data, and executable initialization commands. Delivers a complete startup plan in 5-10 minutes with minimal input.8</Purpose>910<Use_When>11- User wants to start a new project from scratch12- User needs help deciding between fullstack, frontend-only, or backend-only architecture13- User asks for monorepo setup or project scaffolding14- User wants tech stack recommendations based on current ecosystem data15- User says "quick init", "bootstrap project", "initialize monorepo", "快速初始化项目", "根据需求推荐全栈还是前端/后端"16- User wants a project scaffold with best practices and modern tooling17</Use_When>1819<Do_Not_Use_When>20- User wants to modify an existing project structure21- User has already decided on tech stack and just needs implementation help22- User wants to explore multiple architectural options without commitment (use `plan` skill instead)23- User wants to add features to an existing project (use `executor` agent)24- User is asking about general architecture concepts without a specific project25</Do_Not_Use_When>2627<Why_This_Exists>28Starting a new project involves critical early decisions: architecture mode, tech stack, repository structure, and tooling. Making wrong choices early can compound into significant technical debt. This skill uses data-driven decision making (Stack Overflow surveys, npm download stats, State of JS/CSS 2024) to recommend proven, well-supported stacks and provides executable commands to get started immediately.29</Why_This_Exists>3031## Research Baseline (as of 2026-02-26)3233Decision making is based on the following public signals:34- Stack Overflow Developer Survey 2024: Node.js 40.8%, React 39.5%, Next.js 17.9%, NestJS 5.8%35- State of JS 2024: 67% respondents write more TypeScript than JavaScript36- State of CSS 2024: Tailwind CSS usage significantly leads CSS framework category37- npm weekly downloads (2026-02-18 to 2026-02-24):38 - `typescript`: 131,004,72339 - `react`: 96,415,45040 - `tailwindcss`: 60,494,37341 - `next`: 36,026,75942 - `@nestjs/core`: 7,290,1734344## Input Contract4546Extract at least the following inputs; use defaults when missing and note assumptions:47- Product goal: target users and core scenarios48- Delivery speed: `urgent (<1 week)` / `normal (2-4 weeks)` / `long (>4 weeks)`49- Team shape: frontend-heavy / backend-heavy / fullstack50- Runtime: web / api / both51- Data complexity: low / medium / high5253Default assumptions: `normal + small team + web-first + medium complexity`5455## Mode Selection5657### Step 1: Hard Gates5859Check in order; if hit, select mode immediately:601. Only concept demo, idea validation, no production requirement -> `demo`612. Backend exists with stable API contract, only need UI -> `frontend-only`623. Frontend consumer exists, only need API/service -> `backend-only`634. Frontend and backend both needed with frequent interface changes -> proceed to scoring (usually `full-stack`)6465### Step 2: Weighted Scoring (0-100)6667Dimension scoring range `1-5`:68- Requirement complexity (weight 25)69- Delivery speed pressure (weight 20)70- Team skill fitness (weight 20)71- Deployment constraint strength (weight 15)72- Data/state complexity (weight 20)7374Mode target profiles:75- `full-stack`: [4, 3, 4, 3, 4]76- `frontend-only`: [2, 4, 4, 3, 2]77- `backend-only`: [3, 3, 4, 4, 4]78- `demo`: [1, 5, 3, 1, 1]7980Calculation:81- `fit = 5 - abs(actual - target)`82- `modeScore = Σ(fit/5 * weight)`8384Decision rules:851. Top score < 60 -> fallback to `demo` + output information gaps862. Top1 - Top2 >= 8 -> select Top1 directly873. Gap < 8 -> compare `delivery speed`, `team skill fitness`, `change surface` in order8889## Tech Stack Policy (Data-Dense First)9091### Preferred Default Stack9293- Language: `TypeScript`94- Frontend: `React + Next.js (App Router) + Tailwind CSS`95- Backend: `NestJS (REST-first) + OpenAPI`96- Package manager: `pnpm`97- Repository: `Monorepo` (pnpm workspaces)98- Task orchestration: `Turborepo` (default), upgrade to `Nx` when governance is required99- Quality baseline: `ESLint + Prettier + Vitest + Playwright`100101### Escalation to Nx102103Upgrade from Turborepo to Nx when:104- Project count >= 6 packages/apps105- Need enforced module boundaries (lint-level boundaries)106- Need mature affected execution and stronger governance107108### Downgrade Rules109110- Ultra-short PoC with only runnable pages -> can downgrade to single-repo single-app (non-monorepo)111- Backend single service with no shared packages -> can skip monorepo for now112113## Architecture Templates114115### 1) full-stack116117```text118repo/119 apps/120 web/ # Next.js121 api/ # NestJS122 packages/123 ui/ # React shared components124 config/ # eslint/tsconfig/prettier shared config125 types/ # shared DTO/types126 sdk/ # typed API client127 turbo.json128 pnpm-workspace.yaml129 tsconfig.base.json130```131132Layering rules:133- `apps/*` can depend on `packages/*`134- `packages/ui` cannot depend on `apps/*`135- `packages/types` must stay framework-agnostic136137### 2) frontend-only138139```text140repo/141 apps/web/142 packages/143 ui/144 config/145 types/146```147148Default: use `MSW` or mock server to decouple backend availability.149150### 3) backend-only151152```text153repo/154 apps/api/155 packages/156 config/157 types/158 contracts/ # OpenAPI schema + generated clients159```160161Default: deliver `OpenAPI` first with health/readiness endpoints.162163### 4) demo164165```text166repo/167 apps/demo/168 packages/config/169```170171Scope limit: single main flow + minimal dependencies + quick demo capability.172173## Execution Workflow174175<Agent_Orchestration>176Phase A (Requirement Parsing):177- Use task(subagent_type="analyst")178- Extract: product goal, delivery speed, team shape, runtime, data complexity179- Output summary: problem statement, assumptions, unknowns (max 1 screen)180- Save to: `.omc/quick-init/requirements.md`181182Phase B (Mode Decision):183- Use task(subagent_type="architect")184- Apply hard gates first, then weighted scoring if needed185- Output: selected mode, scores, hard gate hit (if any), reasoning (max 3 bullets), risk note (1 line)186- Save to: `.omc/quick-init/decision.md`187188Phase C (Bootstrap Plan):189- Use task(subagent_type="planner")190- Generate: directory structure, init commands, milestones (Day 1/3/7), minimal verification commands191- Save to: `.omc/quick-init/bootstrap-plan.md`192193Phase D (Command Generation):194- Direct execution: generate executable commands based on selected mode195- Save to: `.omc/quick-init/init-commands.sh`196</Agent_Orchestration>197198### Default Command Templates199200Full-stack or multi-package:201```bash202pnpm dlx create-turbo@latest203pnpm install204pnpm -r lint205pnpm -r test206pnpm -r build207```208209Frontend-only (non-monorepo):210```bash211pnpm create next-app@latest web --ts --tailwind --eslint --app212cd web && pnpm test213```214215Backend-only (non-monorepo):216```bash217pnpm add -g @nestjs/cli218nest new api219cd api && pnpm test220```221222## Output Format223224Every execution must return:225226```text227## Init Recommendation228- Selected Mode: <full-stack|frontend-only|backend-only|demo>229- Confidence: <HIGH|MEDIUM|LOW>230231## Decision Evidence232- Hard Gate: <rule-id or none>233- Scores: full-stack=<n>, frontend-only=<n>, backend-only=<n>, demo=<n>234- Why: <3 bullets max>235236## Recommended Stack237- Runtime: ...238- Frameworks: ...239- Repo Strategy: ...240241## Bootstrap Commands242[exact commands here]243244## Folder Blueprint245[tree here]246247## 7-Day Plan2481. Day 1 ...2492. Day 3 ...2503. Day 7 ...251252## Risks & Mitigations253- Risk: ...254- Mitigation: ...255```256257## Quality Gates258259Before claiming "ready to initialize", must satisfy:2601. Mode selection has traceable basis (hard gate or complete scoring)2612. Tech stack includes TypeScript, with explanation if not using default stack2623. Commands are directly executable, no placeholders2634. Directory structure matches selected mode2645. At least one risk with mitigation provided265266<Tool_Usage>267- Use `task` tool with appropriate subagent types for each phase268- Use `edit` tool to save outputs to `.omc/quick-init/` directory269- Use `bash` tool to execute verification commands (lint/test/build) if user requests immediate setup270- Use `state_write(mode="quick-init")` to track progress across phases271- Use `notepad_write_working` to log key decisions for session context272</Tool_Usage>273274<Examples>275<Good>276User: "快速初始化一个电商项目,需要前后端"277Why good: Clear domain (e-commerce), explicit requirement (fullstack). Skill will analyze and recommend appropriate stack with monorepo structure.278</Good>279280<Good>281User: "bootstrap a SaaS dashboard with user auth and billing"282Why good: Specific features mentioned, clear product type. Skill can make informed mode and stack decisions based on complexity.283</Good>284285<Good>286User: "quick init a REST API for inventory management"287Why good: Clear backend-only scenario. Skill will detect this via hard gate and recommend NestJS + OpenAPI setup.288</Good>289290<Bad>291User: "add a new feature to my existing Next.js app"292Why bad: This is about modifying existing code, not initializing a new project. Use executor agent instead.293</Bad>294295<Bad>296User: "what's the best way to structure a monorepo?"297Why bad: This is a general architecture question without a specific project. Respond conversationally or use plan skill.298</Bad>299</Examples>300301<Execution_Policy>302- Each phase must complete before the next begins303- Analyst extracts requirements first, architect makes mode decision, planner generates bootstrap plan304- If requirements are too vague and analyst cannot extract sufficient information, pause and ask user for clarification305- If mode decision confidence is LOW, present options to user before proceeding306- All outputs must be saved to `.omc/quick-init/` for traceability307- Commands must be tested for syntax validity before presenting to user308</Execution_Policy>309310<Escalation_And_Stop_Conditions>311- Stop and ask for clarification when requirements are too vague (confidence < 50%)312- Stop and present options when mode decision is ambiguous (top two scores within 5 points)313- Stop when user says "stop", "cancel", or "wait"314- If tech stack constraints conflict with best practices, explain tradeoffs and ask for confirmation315</Escalation_And_Stop_Conditions>316317## Sources318319- Stack Overflow Developer Survey 2024 (Technology): https://survey.stackoverflow.co/2024/technology320- State of JS 2024 (Usage): https://2024.stateofjs.com/en-US/usage/321- State of CSS 2024 (Tools): https://2024.stateofcss.com/en-US/tools/322- npm downloads API:323 - https://api.npmjs.org/downloads/point/last-week/typescript324 - https://api.npmjs.org/downloads/point/last-week/react325 - https://api.npmjs.org/downloads/point/last-week/tailwindcss326 - https://api.npmjs.org/downloads/point/last-week/next327 - https://api.npmjs.org/downloads/point/last-week/@nestjs/core328- Turborepo docs: https://turborepo.com/docs329- pnpm workspaces: https://pnpm.io/workspaces330- Nx monorepo docs: https://nx.dev/docs/features/maintain-typescript-monorepos331- TypeScript project references: https://www.typescriptlang.org/docs/handbook/project-references