jpskill.com
🛠️ 開発・MCP コミュニティ

プロジェクト雛形生成

scaffold

プロジェクトの種類に応じて、推奨される構成や設定済みのファイル群を自動生成し、新規プロジェクトの立ち上げや開発を効率化することで、開発者はすぐに本質的な作業に取り掛かれるように支援するSkill。

📜 元の英語説明(参考)

Project scaffolding - generate boilerplate for common project types with best-practice defaults. Use for: scaffold, boilerplate, template, new project, init, create project, starter, setup, project structure, directory structure, monorepo, microservice, API template, web app template, CLI tool template, library template.

🇯🇵 日本人クリエイター向け解説

一言でいうと

プロジェクトの種類に応じて、推奨される構成や設定済みのファイル群を自動生成し、新規プロジェクトの立ち上げや開発を効率化することで、開発者はすぐに本質的な作業に取り掛かれるように支援するSkill。

※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o scaffold.zip https://jpskill.com/download/5933.zip && unzip -o scaffold.zip && rm scaffold.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/5933.zip -OutFile "$d\scaffold.zip"; Expand-Archive "$d\scaffold.zip" -DestinationPath $d -Force; ri "$d\scaffold.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して scaffold.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → scaffold フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-17
取得日時
2026-05-18
同梱ファイル
1

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

[スキル名] scaffold

スキャフォールド

ベストプラクティスなデフォルト設定を備えた、一般的なプロジェクトタイプ向けのプロジェクトスキャフォールディングテンプレートとボイラープレート生成です。

プロジェクトタイプ決定ツリー

何を作成しますか?
│
├─ API / バックエンドサービス
│  ├─ REST API
│  │  ├─ Python → FastAPI (非同期、OpenAPI自動ドキュメント)
│  │  ├─ Node.js → Express または Fastify (パフォーマンス重視ならFastify)
│  │  ├─ Go → Gin (人間工学的) または Echo (ミドルウェアが豊富)
│  │  └─ Rust → Axum (towerエコシステム、非同期ファースト)
│  ├─ GraphQL API
│  │  ├─ Python → Strawberry + FastAPI
│  │  ├─ Node.js → Apollo Server または Pothos + Yoga
│  │  ├─ Go → gqlgen (コードファースト)
│  │  └─ Rust → async-graphql + Axum
│  └─ gRPCサービス
│     ├─ Python → grpcio + protobuf
│     ├─ Go → google.golang.org/grpc
│     └─ Rust → tonic
│
├─ Webアプリケーション
│  ├─ SSR付きフルスタック
│  │  ├─ Reactエコシステム → Next.js 14+ (App Router)
│  │  ├─ Vueエコシステム → Nuxt 3
│  │  ├─ Svelteエコシステム → SvelteKit
│  │  └─ コンテンツ重視 / マルチフレームワーク → Astro
│  ├─ SPA (クライアントのみ)
│  │  ├─ React → Vite + React + React Router
│  │  ├─ Vue → Vite + Vue + Vue Router
│  │  └─ Svelte → Vite + Svelte + svelte-routing
│  └─ 静的サイト
│     ├─ ブログ / ドキュメント → Astro または VitePress
│     └─ マーケティング / ランディング → Astro または Next.js (静的エクスポート)
│
├─ CLIツール
│  ├─ Python → Typer (シンプル) または Click (複雑)
│  ├─ Node.js → Commander + Inquirer
│  ├─ Go → Cobra + Viper
│  └─ Rust → Clap (derive API)
│
├─ ライブラリ / パッケージ
│  ├─ npmパッケージ → TypeScript + tsup + Vitest
│  ├─ PyPIパッケージ → uv + pyproject.toml + pytest
│  ├─ Goモジュール → go mod init + go test
│  └─ Rustクレート → cargo init --lib + cargo test
│
└─ モノレポ
   ├─ JavaScript/TypeScript → Turborepo + pnpm workspaces
   ├─ フルスタックJS → Nx
   ├─ Go → Go workspaces (go.work)
   ├─ Rust → Cargo workspaces
   └─ Python → uv workspaces または hatch

スタック選択マトリックス

プロジェクトタイプ 言語 フレームワーク データベース ORM/クエリ デプロイターゲット
REST API Python FastAPI PostgreSQL SQLAlchemy + Alembic Docker / AWS ECS
REST API Node.js Fastify PostgreSQL Prisma or Drizzle Docker / Vercel
REST API Go Gin PostgreSQL sqlx (raw) or GORM Docker / Fly.io
REST API Rust Axum PostgreSQL sqlx Docker / Fly.io
Web App TypeScript Next.js 14+ PostgreSQL Prisma or Drizzle Vercel / Docker
Web App TypeScript Nuxt 3 PostgreSQL Prisma Vercel / Netlify
Web App TypeScript Astro SQLite / none Drizzle Cloudflare / Netlify
CLI Tool Python Typer SQLite sqlite3 stdlib PyPI
CLI Tool Go Cobra SQLite / BoltDB sqlx GitHub Releases
CLI Tool Rust Clap SQLite rusqlite crates.io
Library TypeScript tsup n/a n/a npm
Library Python hatch/uv n/a n/a PyPI

クイックスキャフォールドコマンド

Python (API)

# FastAPI with uv
mkdir my-api && cd my-api
uv init --python 3.12
uv add fastapi uvicorn sqlalchemy alembic psycopg2-binary pydantic-settings
uv add --dev pytest pytest-asyncio httpx ruff mypy

Node.js (Web App)

# Next.js 14+
npx create-next-app@latest my-app --typescript --tailwind --eslint --app --src-dir --import-alias "@/*"

# Vite + React
npm create vite@latest my-app -- --template react-ts

Go (API)

mkdir my-api && cd my-api
go mod init github.com/user/my-api
go get github.com/gin-gonic/gin
go get github.com/jmoiron/sqlx
go get github.com/lib/pq

Rust (CLI)

cargo init my-cli
cd my-cli
cargo add clap --features derive
cargo add serde --features derive
cargo add anyhow tokio --features tokio/full

Monorepo (Turborepo)

npx create-turbo@latest my-monorepo
# Or manual:
mkdir my-monorepo && cd my-monorepo
npm init -y
npm install turbo --save-dev
mkdir -p apps/web apps/api packages/shared

APIプロジェクトテンプレート

ディレクトリ構造 (FastAPIの例)

my-api/
├── src/
│   └── my_api/
│       ├── __init__.py
│       ├── main.py              # FastAPIアプリ、ライフスパン、ミドルウェア
│       ├── config.py            # pydantic-settings設定
│       ├── database.py          # SQLAlchemyエンジン、セッション
│       ├── dependencies.py      # 共有FastAPI依存関係
│       ├── routers/
│       │   ├── __init__.py
│       │   ├── health.py        # ヘルスチェックエンドポイント
│       │   └── users.py         # ユーザーCRUDエンドポイント
│       ├── models/
│       │   ├── __init__.py
│       │   └── user.py          # SQLAlchemyモデル
│       ├── schemas/
│       │   ├── __init__.py
│       │   └── user.py          # Pydanticリクエスト/レスポンススキーマ
│       └── services/
│           ├── __init__.py
│           └── user.py          # ビジネスロジック
├── alembic/
│   ├── alembic.ini
│   ├── env.py
│   └── versions/
├── tests/
│   ├── conftest.py              # フィクスチャ: テストDB、クライアント、ファクトリ
│   ├── test_health.py
│   └── test_users.py
├── pyproject.toml
├── Dockerfile
├── docker-compose.yml
├── .env.example
├── .gitignore
└── .dockerignore

ディレクトリ構造 (Express/Fastifyの例)

my-api/
├── src/
│   ├── index.ts                 # エントリーポイント、サーバー起動
│   ├── app.ts                   # Express/Fastifyアプリ設定
│   ├── config.ts                # zod検証付き環境設定
│   ├── database.ts              # PrismaクライアントまたはDrizzle設定
│   ├── middleware/
│   │   ├── auth.ts
│   │   ├── error-handler.ts
│   │   └── request-logger.ts
│   ├── routes/
│   │   ├── health.ts
│   │   └── users.ts
│   ├── services/
│   │   └── user.service.ts
│   └── types/
│       └── index.ts
├── prisma/
│   └── schema.prisma
├── tests/
│   ├── setup.ts
│   └── routes/
│       └── users.test.ts
├── package.json
├── tsconfig.json
├── Dockerfile
├── docker-compose.yml
├── .env.example
└── .gitignore

Webアプリプロジェクトテンプレート

ディレクトリ構造 (Next.js App Router)

my-app/
├── src/
│   ├── app/
│   │   ├── layout.tsx           # ルートレイアウト
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

Scaffold

Project scaffolding templates and boilerplate generation for common project types with best-practice defaults.

Project Type Decision Tree

What are you building?
│
├─ API / Backend Service
│  ├─ REST API
│  │  ├─ Python → FastAPI (async, OpenAPI auto-docs)
│  │  ├─ Node.js → Express or Fastify (Fastify for performance)
│  │  ├─ Go → Gin (ergonomic) or Echo (middleware-rich)
│  │  └─ Rust → Axum (tower ecosystem, async-first)
│  ├─ GraphQL API
│  │  ├─ Python → Strawberry + FastAPI
│  │  ├─ Node.js → Apollo Server or Pothos + Yoga
│  │  ├─ Go → gqlgen (code-first)
│  │  └─ Rust → async-graphql + Axum
│  └─ gRPC Service
│     ├─ Python → grpcio + protobuf
│     ├─ Go → google.golang.org/grpc
│     └─ Rust → tonic
│
├─ Web Application
│  ├─ Full-stack with SSR
│  │  ├─ React ecosystem → Next.js 14+ (App Router)
│  │  ├─ Vue ecosystem → Nuxt 3
│  │  ├─ Svelte ecosystem → SvelteKit
│  │  └─ Content-heavy / multi-framework → Astro
│  ├─ SPA (client-only)
│  │  ├─ React → Vite + React + React Router
│  │  ├─ Vue → Vite + Vue + Vue Router
│  │  └─ Svelte → Vite + Svelte + svelte-routing
│  └─ Static Site
│     ├─ Blog / docs → Astro or VitePress
│     └─ Marketing / landing → Astro or Next.js (static export)
│
├─ CLI Tool
│  ├─ Python → Typer (simple) or Click (complex)
│  ├─ Node.js → Commander + Inquirer
│  ├─ Go → Cobra + Viper
│  └─ Rust → Clap (derive API)
│
├─ Library / Package
│  ├─ npm package → TypeScript + tsup + Vitest
│  ├─ PyPI package → uv + pyproject.toml + pytest
│  ├─ Go module → go mod init + go test
│  └─ Rust crate → cargo init --lib + cargo test
│
└─ Monorepo
   ├─ JavaScript/TypeScript → Turborepo + pnpm workspaces
   ├─ Full-stack JS → Nx
   ├─ Go → Go workspaces (go.work)
   ├─ Rust → Cargo workspaces
   └─ Python → uv workspaces or hatch

Stack Selection Matrix

Project Type Language Framework Database ORM/Query Deploy Target
REST API Python FastAPI PostgreSQL SQLAlchemy + Alembic Docker / AWS ECS
REST API Node.js Fastify PostgreSQL Prisma or Drizzle Docker / Vercel
REST API Go Gin PostgreSQL sqlx (raw) or GORM Docker / Fly.io
REST API Rust Axum PostgreSQL sqlx Docker / Fly.io
Web App TypeScript Next.js 14+ PostgreSQL Prisma or Drizzle Vercel / Docker
Web App TypeScript Nuxt 3 PostgreSQL Prisma Vercel / Netlify
Web App TypeScript Astro SQLite / none Drizzle Cloudflare / Netlify
CLI Tool Python Typer SQLite sqlite3 stdlib PyPI
CLI Tool Go Cobra SQLite / BoltDB sqlx GitHub Releases
CLI Tool Rust Clap SQLite rusqlite crates.io
Library TypeScript tsup n/a n/a npm
Library Python hatch/uv n/a n/a PyPI

Quick Scaffold Commands

Python (API)

# FastAPI with uv
mkdir my-api && cd my-api
uv init --python 3.12
uv add fastapi uvicorn sqlalchemy alembic psycopg2-binary pydantic-settings
uv add --dev pytest pytest-asyncio httpx ruff mypy

Node.js (Web App)

# Next.js 14+
npx create-next-app@latest my-app --typescript --tailwind --eslint --app --src-dir --import-alias "@/*"

# Vite + React
npm create vite@latest my-app -- --template react-ts

Go (API)

mkdir my-api && cd my-api
go mod init github.com/user/my-api
go get github.com/gin-gonic/gin
go get github.com/jmoiron/sqlx
go get github.com/lib/pq

Rust (CLI)

cargo init my-cli
cd my-cli
cargo add clap --features derive
cargo add serde --features derive
cargo add anyhow tokio --features tokio/full

Monorepo (Turborepo)

npx create-turbo@latest my-monorepo
# Or manual:
mkdir my-monorepo && cd my-monorepo
npm init -y
npm install turbo --save-dev
mkdir -p apps/web apps/api packages/shared

API Project Template

Directory Structure (FastAPI Example)

my-api/
├── src/
│   └── my_api/
│       ├── __init__.py
│       ├── main.py              # FastAPI app, lifespan, middleware
│       ├── config.py            # pydantic-settings configuration
│       ├── database.py          # SQLAlchemy engine, session
│       ├── dependencies.py      # Shared FastAPI dependencies
│       ├── routers/
│       │   ├── __init__.py
│       │   ├── health.py        # Health check endpoint
│       │   └── users.py         # User CRUD endpoints
│       ├── models/
│       │   ├── __init__.py
│       │   └── user.py          # SQLAlchemy models
│       ├── schemas/
│       │   ├── __init__.py
│       │   └── user.py          # Pydantic request/response schemas
│       └── services/
│           ├── __init__.py
│           └── user.py          # Business logic
├── alembic/
│   ├── alembic.ini
│   ├── env.py
│   └── versions/
├── tests/
│   ├── conftest.py              # Fixtures: test DB, client, factories
│   ├── test_health.py
│   └── test_users.py
├── pyproject.toml
├── Dockerfile
├── docker-compose.yml
├── .env.example
├── .gitignore
└── .dockerignore

Directory Structure (Express/Fastify Example)

my-api/
├── src/
│   ├── index.ts                 # Entry point, server startup
│   ├── app.ts                   # Express/Fastify app setup
│   ├── config.ts                # Environment config with zod validation
│   ├── database.ts              # Prisma client or Drizzle config
│   ├── middleware/
│   │   ├── auth.ts
│   │   ├── error-handler.ts
│   │   └── request-logger.ts
│   ├── routes/
│   │   ├── health.ts
│   │   └── users.ts
│   ├── services/
│   │   └── user.service.ts
│   └── types/
│       └── index.ts
├── prisma/
│   └── schema.prisma
├── tests/
│   ├── setup.ts
│   └── routes/
│       └── users.test.ts
├── package.json
├── tsconfig.json
├── Dockerfile
├── docker-compose.yml
├── .env.example
└── .gitignore

Web App Project Template

Directory Structure (Next.js App Router)

my-app/
├── src/
│   ├── app/
│   │   ├── layout.tsx           # Root layout
│   │   ├── page.tsx             # Home page
│   │   ├── loading.tsx          # Global loading UI
│   │   ├── error.tsx            # Global error boundary
│   │   ├── not-found.tsx        # 404 page
│   │   ├── globals.css          # Global styles + Tailwind
│   │   ├── (auth)/
│   │   │   ├── login/page.tsx
│   │   │   └── register/page.tsx
│   │   ├── dashboard/
│   │   │   ├── layout.tsx
│   │   │   └── page.tsx
│   │   └── api/
│   │       └── health/route.ts
│   ├── components/
│   │   ├── ui/                  # Reusable primitives
│   │   └── features/            # Feature-specific components
│   ├── lib/
│   │   ├── db.ts                # Database client
│   │   ├── auth.ts              # Auth helpers
│   │   └── utils.ts             # Shared utilities
│   └── types/
│       └── index.ts
├── public/
│   └── favicon.ico
├── tests/
│   ├── setup.ts
│   └── components/
├── next.config.ts
├── tailwind.config.ts
├── tsconfig.json
├── package.json
├── .env.local.example
└── .gitignore

CLI Tool Project Template

Directory Structure (Python / Typer)

my-cli/
├── src/
│   └── my_cli/
│       ├── __init__.py
│       ├── __main__.py          # python -m my_cli entry
│       ├── cli.py               # Typer app, command groups
│       ├── commands/
│       │   ├── __init__.py
│       │   ├── init.py          # my-cli init
│       │   └── run.py           # my-cli run
│       ├── config.py            # Config file loading (TOML/YAML)
│       └── utils.py
├── tests/
│   ├── conftest.py
│   └── test_commands.py
├── pyproject.toml               # [project.scripts] entry point
├── .gitignore
└── README.md

Directory Structure (Go / Cobra)

my-cli/
├── cmd/
│   ├── root.go                  # Root command, global flags
│   ├── init.go                  # my-cli init
│   └── run.go                   # my-cli run
├── internal/
│   ├── config/
│   │   └── config.go            # Viper config loading
│   └── runner/
│       └── runner.go            # Core logic
├── main.go                      # Entry point, calls cmd.Execute()
├── go.mod
├── go.sum
├── Makefile
└── .gitignore

Library Project Template

Directory Structure (npm Package)

my-lib/
├── src/
│   ├── index.ts                 # Public API exports
│   ├── core.ts                  # Core implementation
│   └── types.ts                 # Public type definitions
├── tests/
│   └── core.test.ts
├── package.json                 # "type": "module", exports map
├── tsconfig.json                # declaration: true, declarationMap: true
├── tsup.config.ts               # Build config: cjs + esm
├── vitest.config.ts
├── .npmignore
├── .gitignore
├── CHANGELOG.md
└── LICENSE

Directory Structure (PyPI Package)

my-lib/
├── src/
│   └── my_lib/
│       ├── __init__.py          # Public API, __version__
│       ├── core.py
│       └── py.typed             # PEP 561 marker
├── tests/
│   ├── conftest.py
│   └── test_core.py
├── pyproject.toml               # Build system, metadata, tool config
├── .gitignore
├── CHANGELOG.md
└── LICENSE

Monorepo Template

Turborepo + pnpm Workspaces

my-monorepo/
├── apps/
│   ├── web/                     # Next.js frontend
│   │   ├── src/
│   │   ├── package.json         # depends on @repo/shared
│   │   └── tsconfig.json        # extends ../../tsconfig.base.json
│   └── api/                     # Fastify backend
│       ├── src/
│       ├── package.json
│       └── tsconfig.json
├── packages/
│   ├── shared/                  # Shared types, utils, validators
│   │   ├── src/
│   │   ├── package.json         # "name": "@repo/shared"
│   │   └── tsconfig.json
│   ├── ui/                      # Shared React components
│   │   ├── src/
│   │   └── package.json         # "name": "@repo/ui"
│   └── config/                  # Shared configs
│       ├── eslint/
│       ├── typescript/
│       └── package.json
├── turbo.json                   # Pipeline: build, test, lint
├── pnpm-workspace.yaml          # packages: ["apps/*", "packages/*"]
├── package.json                 # Root devDeps: turbo
├── tsconfig.base.json           # Shared TypeScript config
├── .gitignore
└── .npmrc

Cargo Workspaces (Rust)

my-workspace/
├── crates/
│   ├── my-core/                 # Core library
│   │   ├── src/lib.rs
│   │   └── Cargo.toml
│   ├── my-cli/                  # CLI binary
│   │   ├── src/main.rs
│   │   └── Cargo.toml           # depends on my-core
│   └── my-server/               # API binary
│       ├── src/main.rs
│       └── Cargo.toml
├── Cargo.toml                   # [workspace] members = ["crates/*"]
├── Cargo.lock
├── .gitignore
└── rust-toolchain.toml

Common Additions Checklist

Project setup complete? Add these:
│
├─ Version Control
│  ├─ [ ] .gitignore (language-specific)
│  ├─ [ ] .gitattributes (line endings, binary files)
│  └─ [ ] Branch protection rules
│
├─ CI/CD
│  ├─ [ ] GitHub Actions workflow (test on PR, deploy on merge)
│  ├─ [ ] Matrix testing (OS, runtime versions)
│  └─ [ ] Release automation
│
├─ Docker
│  ├─ [ ] Multi-stage Dockerfile
│  ├─ [ ] docker-compose.yml (app + database + cache)
│  ├─ [ ] .dockerignore
│  └─ [ ] Health check endpoint
│
├─ Code Quality
│  ├─ [ ] Linter (ESLint, Ruff, golangci-lint, Clippy)
│  ├─ [ ] Formatter (Prettier, Black/Ruff, gofmt, rustfmt)
│  ├─ [ ] Pre-commit hooks (Husky, pre-commit)
│  └─ [ ] Type checking (TypeScript strict, mypy, go vet)
│
├─ Testing
│  ├─ [ ] Test framework configured (Vitest, pytest, go test)
│  ├─ [ ] Coverage reporting
│  ├─ [ ] Test database setup
│  └─ [ ] CI test pipeline
│
├─ Editor
│  ├─ [ ] .editorconfig
│  ├─ [ ] .vscode/settings.json
│  └─ [ ] .vscode/extensions.json
│
└─ Documentation
   ├─ [ ] README.md (project description, setup, usage)
   ├─ [ ] CONTRIBUTING.md
   └─ [ ] API documentation (OpenAPI, godoc, rustdoc)

Configuration File Templates

.editorconfig (Universal)

root = true

[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

[*.{py,rs}]
indent_size = 4

[*.go]
indent_style = tab

[*.md]
trim_trailing_whitespace = false

[Makefile]
indent_style = tab

pyproject.toml (Python)

[project]
name = "my-project"
version = "0.1.0"
requires-python = ">=3.12"

[tool.ruff]
target-version = "py312"
line-length = 88

[tool.ruff.lint]
select = ["E", "F", "I", "UP", "B", "SIM"]

[tool.pytest.ini_options]
testpaths = ["tests"]
asyncio_mode = "auto"

[tool.mypy]
strict = true

tsconfig.json (TypeScript - Strict)

{
  "compilerOptions": {
    "target": "ES2022",
    "module": "NodeNext",
    "moduleResolution": "NodeNext",
    "strict": true,
    "esModuleInterop": true,
    "skipLibCheck": true,
    "forceConsistentCasingInFileNames": true,
    "resolveJsonModule": true,
    "declaration": true,
    "declarationMap": true,
    "sourceMap": true,
    "outDir": "./dist",
    "rootDir": "./src"
  },
  "include": ["src"],
  "exclude": ["node_modules", "dist"]
}

Common Gotchas

Gotcha Why It Happens Prevention
Wrong .gitignore for language Used generic template, missing language-specific entries Use gitignore.io or GitHub's templates for your stack
Forgot .env.example Team members don't know which env vars are needed Create .env.example with every var (empty values) at project start
No lockfile committed Inconsistent dependency versions across environments Commit package-lock.json, uv.lock, go.sum, Cargo.lock
Hardcoded port/host in code Works locally, breaks in Docker/cloud Always read from env var with sensible default
Tests coupled to real database Tests fail without running DB, CI setup is complex Use test containers or in-memory SQLite for unit tests
Missing health check endpoint Deployment orchestrator cannot verify readiness Add /health endpoint that checks DB connectivity
No multi-stage Docker build Image is 2GB instead of 200MB Use builder stage for deps/compile, slim runtime stage
Mixing tabs and spaces .editorconfig missing, editor defaults vary Add .editorconfig to every project root
No .dockerignore Docker context sends node_modules/venv, build takes minutes Mirror .gitignore entries plus .git directory
Monorepo without workspace protocol Packages resolve from registry instead of local Use workspace:* (pnpm) or path deps (Cargo, Go)
TypeScript paths not in tsconfig Module aliases work in dev but fail at build time Configure paths in tsconfig AND build tool (tsup, vite)

Reference Files

File Contents Lines
references/api-templates.md Complete API scaffolds: FastAPI, Express/Fastify, Gin, Axum with full file content ~700
references/frontend-templates.md Web app scaffolds: Next.js, Nuxt 3, Astro, SvelteKit, Vite+React with config ~650
references/tooling-templates.md CI/CD, Docker, linting, testing, pre-commit, editor config, git templates ~550

See Also

Skill When to Combine
docker-ops Container configuration, multi-stage builds, compose orchestration
ci-cd-ops GitHub Actions workflows, deployment pipelines, release automation
testing-ops Test framework setup, coverage configuration, CI test integration
python-env Python virtual environments, dependency management with uv
typescript-ops TypeScript configuration, strict mode, module resolution