skills/env-setup/SKILL.md
仕様書に環境構築セクション(CI, lint, format, linterly, hooks, Swagger)を追加する
npx skillsauth add ousiass/claude-config env-setupInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
既存の仕様書に対して環境構築ドキュメントを作成する。技術スタックを読み取り、推奨構成を提示しながらヒアリングで確定していく。
/env-setup docs/): 仕様書ディレクトリを直接指定docs/environment/setup.md(既存仕様書ディレクトリがあればそこに配置)
引数パスがあればそこを、なければ以下を Glob で探索:
**/spec/**/*.md
**/specs/**/*.md
**/docs/**/*.md
**/specifications/**/*.md
**/design/**/*.md
必ず以下を Read で読み込む:
以下をチェック(存在するもののみ):
package.json / bun.lockb / go.mod / Cargo.toml 等(言語・依存).github/workflows/ (既存CI).linterly.yml 等(既存lint/format設定)lefthook.yml / .husky/ (既存hooks)Makefile / Taskfile.yml / justfile(既存タスクランナー)swagger.yaml / openapi.yaml / docs/swagger/ 等(既存Swagger/OpenAPI設定)仕様書とプロジェクト設定から技術スタックを整理し、ユーザーに確認:
各セクションについて推奨構成を提示し、AskUserQuestion で確認する。
不明点はまとめて聞く(1回4問以内)。
推奨を提示して確認:
技術スタックに応じた推奨を提示:
| 言語 | 推奨リンター | |------|------------| | TypeScript/JavaScript | Biome or ESLint | | Go | golangci-lint | | Rust | clippy | | Python | Ruff |
| 言語 | 推奨フォーマッタ | |------|--------------| | TypeScript/JavaScript | Biome or Prettier | | Go | gofmt(標準) | | Rust | rustfmt | | Python | Ruff format |
行数管理ツール。詳細は references/linterly.md 参照。
方針:
rules.max_lines_per_file / rules.max_lines_per_directory はデフォルト値(300/2000)を使う。yml にはコメントアウト状態で記載し「特別な理由がない限り変更しない」旨を注記する.linterlyignore に手書きソースコードの除外パターンは基本追加しない旨をコメントで記載するcount_mode: all は変更しないwarning_threshold: 10 を推奨(早めに警告を出す)language: ja 固定推奨を提示:
APIサーバーを含むプロジェクトでのみ提示する。仕様書にAPIエンドポイントの記載がなければスキップ。
推奨構成を提示して確認:
| 言語/FW | 推奨ツール | アノテーション形式 | |---------|-----------|-----------------| | Go (Echo/Gin/Chi等) | swaggo/swag | Goコメントアノテーション | | Node.js (Express) | swagger-jsdoc | JSDocコメント | | Node.js (NestJS) | @nestjs/swagger | デコレータ | | Python (FastAPI) | 組み込み(自動生成) | Pydanticモデル | | Python (Django) | drf-spectacular | デコレータ | | Java (Spring Boot) | springdoc-openapi | アノテーション |
Swagger UIの代わりに Stoplight Elements を推奨する。言語・FWに依存せず統一的なAPIドキュメントUIを提供できる。
@stoplight/elements(bun)または CDN(unpkg.com/@stoplight/elements)<elements-api> を使用)/swagger 固定(静的HTMLを返す)SWAGGER_ENABLED (true/false) で切り替え
true(デフォルト)falseswag init 等をタスクランナーやMakefileに登録するか確認swag init && git diff --exit-code パターン等)仕様書のアーキテクチャ設計にディレクトリ構造が記載されていれば、そこへのリンクを貼る。 なければ簡易的なディレクトリ構成をヒアリングして記載する。
# 環境構築
## 概要
<!-- 技術スタックのサマリー -->
## ディレクトリ構造
<!-- アーキテクチャ設計へのリンク or 簡易記載 -->
## 開発環境セットアップ
<!-- 必要なツール、バージョン、インストール手順 -->
## CI/CD
<!-- パイプライン構成、トリガー、ジョブ -->
## Lint
<!-- ツール、設定ファイル、ルール方針 -->
## Format
<!-- ツール、設定ファイル -->
## Linterly
<!-- 行数制限、設定 -->
## Git Hooks
<!-- ツール、フック構成 -->
## Swagger/OpenAPI
<!-- APIプロジェクトの場合のみ記載 -->
<!-- Spec生成ツール、アノテーション方針、生成コマンド -->
<!-- UI: Stoplight Elements(全言語共通) -->
<!-- Swagger UIエンドポイント: /swagger -->
<!-- 環境変数 SWAGGER_ENABLED による有効/無効切り替え -->
<!-- CI連携(spec生成忘れ検知) -->
## 改訂履歴
AskUserQuestion で確認、「問題なし」選択肢を含める)AskUserQuestion を使い選択式で提示する。 テキストだけで質問しないdescription に推奨理由・メリデメを記載するtesting
PRのTest planチェックリストからローカル実行用テスト手順書を生成しPRコメントに投稿
content-media
Stitchモックzipを展開しShopify OS 2.0テーマ(Atomic Design snippets構造)に変換する
devops
Stitchモックzipを展開しNetlifyデプロイ可能な構造に変換する
development
既存の仕様書ディレクトリをHextraテーマのHugo仕様書サイトに変換する