mcpField
P
project-init

project-init

github.com/laurigates開発5954 回インストール今日更新
リポジトリ

project-init について

project-initは、新しいソフトウェアプロジェクトの共通ディレクトリ構成と基本開発ファイルを作成するスキルです。generic、Python、Node、Rust、Goに対応し、GitHubリポジトリも任意で作成できます。

主な機能

  1. 01ソース、テスト、ドキュメント用ディレクトリの作成
  2. 02Gitリポジトリの初期化
  3. 03README、ライセンス、gitignoreの追加
  4. 04EditorConfigとpre-commitの設定
  5. 05GitHub Actions CIワークフローの追加
  6. 06GitHubリポジトリの作成

活用シーン

  1. 01新しいコードベースの立ち上げ
  2. 02標準的なプロジェクト骨格の作成
  3. 03基本的なCIと開発ファイルの準備
  4. 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 }}

最後の手順

  1. git hooks を初期化します: pre-commit install
  2. 初回コミットを作成します: SlashCommand /git:commit "Initial project structure" を使用します
  3. CI/CD をセットアップします: プロジェクトの種類に応じて設定します
  4. 依存関係をインストールします: SlashCommand /deps:install を使用します

次のステップの提案

プロジェクトの種類に応じて、関連するコマンドを提案します。

  • /test:setup - テスト環境をセットアップします
  • /git:pr - 最初の PR を作成します

コメント