Skip to content

Crearize/ProjectTemplate

Repository files navigation

📦 Project Template

このテンプレートは、AI駆動開発(Claude Code)を活用した新規プロジェクトを素早く立ち上げるための雛形です。

🎯 テンプレートの特徴

  • Claude Code完全対応: AI開発スキル、設定ファイル、プロンプトを完備
  • 包括的なドキュメント構造: 設計書、開発標準、機能仕様のテンプレートを用意
  • CI/CD設定済み: GitHub Actionsワークフロー完備
  • 技術スタック別規約: Java/Spring Boot、React/Next.js対応
  • 開発標準完備: コーディング規約、エラーハンドリング、テスト戦略を標準化

📂 テンプレート構成

ProjectTemplate/
├── README.md                        # このファイル(テンプレート使用ガイド)
├── PROJECT_README.md.template       # プロジェクト用README(プレースホルダー化済み)
├── CLAUDE.md.template               # Claude Code設定(プレースホルダー化済み)
├── .gitignore                       # Git除外設定
├── docker-compose.yml.example       # 開発環境用Docker設定例
├── .claude/                         # Claude Code設定
│   ├── README.md                    # スキルシステム説明
│   ├── settings.json                # Claude Code設定
│   └── skills/                      # 16種類の開発スキル
│       ├── create-feature/          # 新機能開発自動化
│       ├── fix-bug/                 # バグ修正自動化
│       ├── develop-backend/         # バックエンド開発
│       ├── develop-frontend/        # フロントエンド開発
│       ├── qa-check/                # 品質保証チェック
│       ├── create-pr/               # PR作成自動化
│       └── ... (その他10スキル)
├── .github/                         # GitHub設定
│   ├── workflows/                   # GitHub Actions CI/CD
│   │   ├── ci.yml                   # CI/CDパイプライン
│   │   ├── claude-code-review.yml   # 自動PRレビュー
│   │   ├── claude.yml               # @claudeメンション対応
│   │   ├── auto-link-issue.yml      # Issue自動リンク
│   │   └── label-sync.yml           # ラベル同期
│   ├── ISSUE_TEMPLATE/              # Issueテンプレート
│   │   ├── bug.md
│   │   ├── feature.md
│   │   ├── task.md
│   │   └── documentation.md
│   ├── PULL_REQUEST_TEMPLATE.md     # PRテンプレート
│   └── labels.yml                   # GitHubラベル定義
└── documents/                       # プロジェクトドキュメント
    ├── README.md                    # ドキュメント構成説明
    ├── architecture/                # アーキテクチャ設計
    │   ├── README.md.template
    │   ├── system-architecture.md.template
    │   ├── tech-stack.md.template
    │   ├── database-design.md.template
    │   ├── feature-list.md.template
    │   ├── security-design.md
    │   ├── infrastructure-design.md.template
    │   └── use-cases.md.template
    ├── development/                 # 開発標準・ルール
    │   ├── README.md
    │   ├── development-policy.md.template
    │   ├── error-codes.md.template
    │   ├── ai-instruction-checklist.md
    │   └── coding-rules/
    │       ├── backend/
    │       │   └── java-springboot.md
    │       ├── frontend/
    │       │   └── react-nextjs.md
    │       └── common-rules.md
    ├── templates/                   # ドキュメントテンプレート
    │   ├── feature-specification-template.md.template
    │   ├── api-specification-template.md.template
    │   └── test-specification-template.md.template
    └── features/                    # 機能仕様(サンプル)
        ├── README.md
        └── authentication/          # 認証機能サンプル
            ├── specification.md.template
            ├── api-specification.md.template
            └── test-specification.md.template

🚀 クイックスタート

1. テンプレートをコピー

# 新規プロジェクトディレクトリにコピー
cp -r ProjectTemplate/ ../MyNewProject/
cd ../MyNewProject/

2. プレースホルダーを一括置換

以下のコマンドで、プロジェクト固有の情報に一括置換します:

# macOS/Linux
find . -type f \( -name "*.template" -o -name "*.md" -o -name "*.yml" -o -name "*.example" \) \
  -not -path "./.git/*" \
  | xargs sed -i '' \
  -e 's/\[PROJECT_NAME\]/YourProjectName/g' \
  -e 's/\[PROJECT_NAME_LOWER\]/yourprojectname/g' \
  -e 's/\[PROJECT_REPO_NAME\]/YourRepoName/g' \
  -e 's/\[PROJECT_DESCRIPTION\]/Your project description/g' \
  -e 's/\[YOUR_ORGANIZATION\]/YourOrg/g' \
  -e 's/\[YOUR_GITHUB_REPO\]/YourOrg\/YourRepoName/g'

置換例:

# 実際の例
find . -type f \( -name "*.template" -o -name "*.md" -o -name "*.yml" -o -name "*.example" \) \
  -not -path "./.git/*" \
  | xargs sed -i '' \
  -e 's/\[PROJECT_NAME\]/TaskMaster/g' \
  -e 's/\[PROJECT_NAME_LOWER\]/taskmaster/g' \
  -e 's/\[PROJECT_REPO_NAME\]/TaskMasterApp/g' \
  -e 's/\[PROJECT_DESCRIPTION\]/タスク管理とプロジェクト追跡のためのSaaSプラットフォーム/g' \
  -e 's/\[YOUR_ORGANIZATION\]/MyCompany/g' \
  -e 's/\[YOUR_GITHUB_REPO\]/MyCompany\/TaskMasterApp/g'

3. テンプレートファイルをリネーム

# .template拡張子を削除
find . -name "*.template" | while read file; do
  mv "$file" "${file%.template}"
done

# .example拡張子を削除
find . -name "*.example" | while read file; do
  mv "$file" "${file%.example}"
done

4. 技術スタックに応じてカスタマイズ

使用しない技術スタックの規約ファイルを削除します:

# Javaを使わない場合
rm documents/development/coding-rules/backend/java-springboot.md

# Next.jsを使わない場合
rm documents/development/coding-rules/frontend/react-nextjs.md

# 使用する技術に応じて、新しい規約ファイルを追加
# 例: documents/development/coding-rules/backend/python-fastapi.md

5. テンプレート使用ガイドを削除/移動

# テンプレート使用ガイド(このファイル)を削除
rm README.md

# または、参照用にdocs/に移動
mkdir -p docs
mv README.md docs/TEMPLATE_GUIDE.md

6. Git初期化

# 新しいGitリポジトリとして初期化
rm -rf .git  # テンプレートのGit履歴削除(存在する場合)
git init
git add .
git commit -m "chore: プロジェクト初期化(ProjectTemplateベース)"

# リモートリポジトリと接続
git remote add origin https://github.com/[YOUR_ORGANIZATION]/[PROJECT_REPO_NAME].git
git branch -M main
git push -u origin main

📝 プレースホルダー一覧

テンプレート内で使用されているプレースホルダーと、置換すべき内容:

プレースホルダー 説明
[PROJECT_NAME] プロジェクト名(PascalCase) TaskMaster, EcommerceHub
[PROJECT_NAME_LOWER] プロジェクト名(lowercase) taskmaster, ecommercehub
[PROJECT_REPO_NAME] GitHubリポジトリ名 TaskMasterApp, EcommerceHubAPI
[PROJECT_DESCRIPTION] プロジェクトの簡潔な説明 タスク管理とプロジェクト追跡のためのSaaSプラットフォーム
[YOUR_ORGANIZATION] 組織名/ユーザー名 MyCompany, john-doe
[YOUR_GITHUB_REPO] GitHub完全リポジトリパス MyCompany/TaskMasterApp

🛠️ 技術スタック別カスタマイズ

バックエンド

Java + Spring Boot(デフォルト)

  • 規約: documents/development/coding-rules/backend/java-springboot.md
  • CI/CD: .github/workflows/ci.yml のbackendジョブをそのまま使用

Python + FastAPI(追加する場合)

  1. 新しい規約ファイルを作成: documents/development/coding-rules/backend/python-fastapi.md
  2. .github/workflows/ci.yml のbackendジョブをPython向けに変更

フロントエンド

React + Next.js(デフォルト)

  • 規約: documents/development/coding-rules/frontend/react-nextjs.md
  • CI/CD: .github/workflows/ci.yml のfrontendジョブをそのまま使用

Vue.js(追加する場合)

  1. 新しい規約ファイルを作成: documents/development/coding-rules/frontend/vue.md
  2. .github/workflows/ci.yml のfrontendジョブをVue向けに変更

🤖 Claude Code設定

このテンプレートには、Claude Codeが効率的に開発を進めるための設定がすべて含まれています:

Claude Code スキル(16種類)

  1. create-feature: 新機能開発の全工程を自動化
  2. fix-bug: バグ修正の全工程を自動化
  3. develop-backend: バックエンド開発(Java/Spring Boot)
  4. develop-frontend: フロントエンド開発(React/Next.js)
  5. qa-check: 品質保証チェック(Lint + テスト + カバレッジ)
  6. create-pr: Pull Request作成自動化
  7. review-architecture: アーキテクチャレビュー
  8. refactor-code: コードリファクタリング
  9. guard-regression: デグレーション監視
  10. pre-commit-check: コミット前チェック
  11. setup-dev-env: 開発環境セットアップ
  12. generate-api-client: APIクライアント生成
  13. update-docs: ドキュメント更新
  14. check-migration: DBマイグレーションチェック
  15. figma-to-tailwind: Figmaデザイン→Tailwind CSS変換

GitHub Actions統合

  • 自動PRレビュー: PRが作成されると、Claude Codeが自動的にコードレビューを実施
  • @claudeメンション: Issue/PRで @claude をメンションすると、AIアシスタントが対応
  • Issue自動リンク: ブランチ名からIssue番号を抽出して自動リンク

📚 ドキュメント構造

必須ドキュメント(初期設定時に記入)

  1. CLAUDE.md: AI開発者向けガイド(プロジェクト概要、ルール、参照先)
  2. documents/architecture/tech-stack.md: 使用技術の詳細
  3. documents/architecture/system-architecture.md: システム構成図
  4. documents/development/error-codes.md: エラーコード一覧

オプションドキュメント(必要に応じて作成)

  • documents/architecture/database-design.md: DB設計(ER図、テーブル定義)
  • documents/architecture/feature-list.md: 機能一覧とフェーズ分け
  • documents/features/[機能名]/specification.md: 機能仕様書

✅ セットアップ後のチェックリスト

  • プレースホルダーをすべて置換済み
  • .template / .example ファイルをリネーム済み
  • 使用しない技術スタックの規約ファイルを削除済み
  • CLAUDE.md のプロジェクト概要を更新済み
  • documents/architecture/tech-stack.md を更新済み
  • documents/development/error-codes.md を初期化済み
  • Git初期化とリモートリポジトリ接続済み
  • GitHub Secretsを設定済み(必要な場合)
  • テンプレート使用ガイド(このファイル)を削除/移動済み

🎓 参考資料

Claude Code開発フロー

  1. 新機能開発:

    Issue作成 → ブランチ作成 → /create-feature → 実装 → /qa-check → /create-pr
    
  2. バグ修正:

    Issue作成 → ブランチ作成 → /fix-bug → 修正 → /qa-check → /create-pr
    
  3. アーキテクチャレビュー:

    設計完了 → /review-architecture → 改善点確認 → 修正
    

開発標準

  • コーディング規約: documents/development/coding-rules/ 参照
  • 開発ガイドライン: documents/development/development-policy.md 参照
  • エラーハンドリング: documents/development/error-codes.md 参照

🤝 コントリビューション

このテンプレートの改善提案は、元のProjectTemplateリポジトリにIssue/PRを作成してください。

📄 ライセンス

このテンプレートはMITライセンスの下で公開されています。新規プロジェクトでは自由にライセンスを変更できます。


Happy Coding with AI! 🚀

About

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

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published