project-init について
project-initは、新しいソフトウェアプロジェクトの共通ディレクトリ構成と基本開発ファイルを作成するスキルです。generic、Python、Node、Rust、Goに対応し、GitHubリポジトリも任意で作成できます。
主な機能
- 01ソース、テスト、ドキュメント用ディレクトリの作成
- 02Gitリポジトリの初期化
- 03README、ライセンス、gitignoreの追加
- 04EditorConfigとpre-commitの設定
- 05GitHub Actions CIワークフローの追加
- 06GitHubリポジトリの作成
活用シーン
- 01新しいコードベースの立ち上げ
- 02標準的なプロジェクト骨格の作成
- 03基本的なCIと開発ファイルの準備
- 04プロジェクトとGitHubリポジトリの作成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ laurigates/ claude-plugins --skill project-initインストール後、Claude Code で/project-initを入力して読み込まれたか確認します。
詳細
/project:init
このスキルを使用するタイミング
| 次の場合にこのスキルを使用してください… | 次の場合は project-discovery を使用してください… |
|---|---|
| ゼロから新しいプロジェクトをスキャフォールディングする場合(src/tests/docs、README、CI) | すでに構成がある既存のリポジトリで作業する場合 |
| 共通の基本レイアウトで Python/Node/Rust/Go のコードベースをブートストラップする場合 | 確立されたプロジェクトの作業を再開する場合は、代わりに project-continue を使用してください |
| ローカルのひな形と合わせて GitHub リポジトリを作成する場合 | 既存の作業からパターンを抽出する場合は、代わりに project-distill を使用してください |
コンテキスト
- 現在のディレクトリ: !
pwd - Git ユーザー: !
git config user.name - GitHub CLI: !
which gh
パラメーター
$1: プロジェクト名(必須)$2: プロジェクトの種類(python|node|rust|go|generic)- 既定値は generic$3: GitHub リポジトリを作成するための --github フラグ$4: プライベートリポジトリ用の --private フラグ
基本的なプロジェクト構成
すべてのプロジェクトで必要となる共通のプロジェクト構成を作成します。
1. コアディレクトリ
mkdir -p $1/{src,tests,docs,.github/workflows}
cd $1
2. Git のセットアップ
git init
3. 基本ドキュメント
README.md:
# $1
## Description
[Project description]
## Installation
See [Installation Guide](docs/installation.md)
## Usage
See [Usage Guide](docs/usage.md)
## Development
See [Development Guide](docs/development.md)
## License
MIT
LICENSE: 標準的な MIT ライセンスファイルを作成します
.gitignore: すべての言語に共通するパターンを使って作成します
4. EditorConfig
.editorconfig:
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,go}]
indent_size = 4
[*.md]
trim_trailing_whitespace = false
5. Pre-commit の基本設定
.pre-commit-config.yaml:
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.6.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-yaml
- id: check-json
- id: check-merge-conflict
- id: detect-private-key
6. GitHub Actions の基本設定
.github/workflows/ci.yml:
name: CI
on:
push:
branches: [main, develop]
pull_request:
branches: [main]
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run linters
run: echo "Linting step - configure based on project type"
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run tests
run: echo "Testing step - configure based on project type"
7. Makefile の基本設定
色付き出力に対応した共通の Makefile を作成します。
.PHONY: help install test lint format clean
help:
@echo "Available commands:"
@echo " make install - Install dependencies"
@echo " make test - Run tests"
@echo " make lint - Run linters"
@echo " make format - Format code"
@echo " make clean - Clean build artifacts"
install:
@echo "Installing dependencies..."
test:
@echo "Running tests..."
lint:
@echo "Running linters..."
format:
@echo "Formatting code..."
clean:
@echo "Cleaning..."
言語別のセットアップ
基本の初期化で作成するのは共通の構成のみです。言語固有のツール(パッケージマネージャー、リンター/フォーマッター、テストフレームワーク、Dockerfile)は、その後 configure-plugin スキルを使って適用します。現在のスキル一覧は、そのプラグインの README を参照してください。単一のブートストラップコマンドに頼らず、必要な configure スキルを組み合わせて適用してください。
GitHub リポジトリの作成
{{ if $3 == "--github" }}
GitHub リポジトリを作成します。${4:---public} は、$4 が
--private の場合は --private に、それ以外の場合は --public に展開されます。これにより、公開設定フラグは必ずどちらか一方だけが渡されます(両方が渡されることはありません)。
gh repo create $1 "${4:---public}" --clone
git remote add origin https://github.com/$(gh api user -q .login)/$1.git
{{ endif }}
最後の手順
- git hooks を初期化します:
pre-commit install - 初回コミットを作成します: SlashCommand
/git:commit "Initial project structure"を使用します - CI/CD をセットアップします: プロジェクトの種類に応じて設定します
- 依存関係をインストールします: SlashCommand
/deps:installを使用します
次のステップの提案
プロジェクトの種類に応じて、関連するコマンドを提案します。
/test:setup- テスト環境をセットアップします/git:pr- 最初の PR を作成します