From efb1fa136d5dba9cd96fd8ce4184f4fa6440c94d Mon Sep 17 00:00:00 2001 From: Zhongwei Li Date: Sun, 30 Nov 2025 08:39:27 +0800 Subject: [PATCH] Initial commit --- .claude-plugin/plugin.json | 12 +++ README.md | 3 + commands/issue-plan.md | 102 +++++++++++++++++++ commands/multi-angle-perspectives.md | 41 ++++++++ commands/organize-commits.md | 108 ++++++++++++++++++++ commands/self-review.md | 147 +++++++++++++++++++++++++++ plugin.lock.json | 57 +++++++++++ 7 files changed, 470 insertions(+) create mode 100644 .claude-plugin/plugin.json create mode 100644 README.md create mode 100644 commands/issue-plan.md create mode 100644 commands/multi-angle-perspectives.md create mode 100644 commands/organize-commits.md create mode 100644 commands/self-review.md create mode 100644 plugin.lock.json diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json new file mode 100644 index 0000000..7a10fe3 --- /dev/null +++ b/.claude-plugin/plugin.json @@ -0,0 +1,12 @@ +{ + "name": "mutils", + "description": "汎用utilityコマンド集(issue計画、コミット整理、多角的視点分析など)", + "version": "0.1.0", + "author": { + "name": "masseater", + "email": "zhongweili@tubi.tv" + }, + "commands": [ + "./commands" + ] +} \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..65c83b0 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# mutils + +汎用utilityコマンド集(issue計画、コミット整理、多角的視点分析など) diff --git a/commands/issue-plan.md b/commands/issue-plan.md new file mode 100644 index 0000000..ef93dc0 --- /dev/null +++ b/commands/issue-plan.md @@ -0,0 +1,102 @@ +# GitHub IssueのURLまたは番号から内容を取得し、実装計画を立案します + +GitHub Issueの内容を取得し、詳細な実装計画を立案してください。 + +## 実行手順 + +### 1. Issue情報の取得 + +引数として渡されたIssue番号またはURLから情報を取得します。 + +- **Issue番号の場合**: `gh issue view <番号> --json title,comments,body,labels,assignees,milestone` +- **URLの場合**: URLから番号を抽出して取得 + +### 2. Issue内容の分析 + +取得したIssue情報から以下を分析してください: + +- **目的**: このIssueで達成すべきゴールは何か +- **要件**: 必須要件とオプション要件の整理 +- **制約条件**: 技術的制約、期限、依存関係など +- **影響範囲**: 変更が及ぶファイル・モジュールの推定 + +### 3. 既存コードベースの調査 + +実装に関連する既存コードを調査してください: + +- 類似機能の実装パターンを確認 +- 変更が必要なファイルを特定 +- 使用すべき既存ライブラリ・ユーティリティを確認 +- テストの既存パターンを確認 + +**重要**: 必ず既存実装を確認してから新規実装を検討すること + +### 4. 実装計画の立案 + +以下の構造で実装計画を作成してください: + +#### 4.1 概要 +- Issueの要約 +- 実装方針の概要 + +#### 4.2 タスク分解 +実装を具体的なタスクに分解します: + +1. **調査・設計フェーズ** + - 必要な技術調査 + - 設計判断が必要な項目 + +2. **実装フェーズ** + - ファイル・モジュールごとの実装タスク + - 優先度と依存関係を明記 + +3. **テストフェーズ** + - ユニットテスト + - 統合テスト + - E2Eテスト(必要な場合) + +4. **品質チェックフェーズ** + - 型チェック (`pnpm typecheck:all`) + - Lint (`pnpm lint`) + - ビルド確認 (`pnpm build`) + +#### 4.3 技術的考慮事項 +- 使用する技術・ライブラリ +- アーキテクチャ上の判断 +- パフォーマンスへの影響 +- セキュリティ上の注意点 + +#### 4.4 リスクと対策 +- 想定されるリスク +- 各リスクへの対策 + +### 5. TodoListの作成 + +TodoWriteツールを使用して、実装タスクをTodoListとして登録してください。 +タスクは以下の形式で: +- content: 実施すべきタスク(命令形) +- activeForm: 実施中の状態(進行形) +- status: pending + +### 6. ユーザーへの確認 + +計画内容をユーザーに提示し、以下を確認してください: +- この計画で進めて良いか +- 優先度や順序の調整が必要か +- 追加で考慮すべき点はないか + +## 出力形式 + +計画書はMarkdown形式で、見やすく構造化して出力してください。 + +## 注意事項 + +- `any`型の使用は厳禁 +- 場当たり的な対応は禁止(「一時的」「とりあえず」等の表現は使わない) +- 根本的な解決を目指す +- 既存の実装パターンを必ず確認する +- プライドを持って設計を行う + +--- + +Issue: $ARGUMENTS diff --git a/commands/multi-angle-perspectives.md b/commands/multi-angle-perspectives.md new file mode 100644 index 0000000..45a1b20 --- /dev/null +++ b/commands/multi-angle-perspectives.md @@ -0,0 +1,41 @@ +# 一般的・保守的・独創的な3つの観点からそれぞれ2つずつ提案を生成します + +以下のテーマについて、3つの異なる観点からそれぞれ2つずつ、合計6つの提案を行ってください。 + +## 提案の観点 + +### 1. 一般的な観点(Standard Approach) +- 広く採用されている標準的な方法 +- 実績があり、多くの人が理解しやすいアプローチ +- ドキュメントやコミュニティサポートが充実している選択肢 + +### 2. 保守的な観点(Conservative Approach) +- リスクを最小限に抑える安全な方法 +- 既存システムへの影響が少ない選択肢 +- 段階的に導入でき、後戻りしやすいアプローチ +- 長期的な保守性とメンテナンス性を重視 + +### 3. 独創的な観点(Creative Approach) +- 革新的で新しいアプローチ +- 従来の方法にとらわれない発想 +- パフォーマンスや効率を大幅に改善する選択肢 +- 最新技術やトレンドを活用した方法 + +## 出力形式 + +各提案について以下を含めてください: +- **提案内容**:具体的な実装方法や選択肢 +- **メリット**:この方法の利点 +- **デメリット**:考慮すべき欠点やトレードオフ +- **適用場面**:どのような状況で特に有効か + +## 比較表 + +最後に、6つの提案を以下の軸で比較する表を作成してください: +- 実装難易度(1-5) +- リスク(1-5) +- パフォーマンス期待値(1-5) +- 保守性(1-5) +- 革新性(1-5) + +$ARGUMENTS diff --git a/commands/organize-commits.md b/commands/organize-commits.md new file mode 100644 index 0000000..eb15f45 --- /dev/null +++ b/commands/organize-commits.md @@ -0,0 +1,108 @@ +# 現在の変更を関心ごと単位で分析し、レビューしやすい論理的なコミットに整理します + +# 関心ごと単位でのコミット整理 + +現在のブランチの変更内容を分析し、レビュアーが理解しやすいように関心ごと単位で論理的なコミットに整理してください。 + +## 実行手順 + +### 1. 現在の状態確認 +- `git status`で変更ファイル一覧を取得 +- `git diff`で未ステージの変更を確認 +- `git diff --staged`でステージ済みの変更を確認 +- デフォルトブランチを確認: `git symbolic-ref refs/remotes/origin/HEAD | sed 's@^refs/remotes/@@'` + - 取得できない場合は`git remote show origin | grep 'HEAD branch' | awk '{print $NF}'`で確認 + +### 2. 変更内容の分析と分類 +以下の観点で変更をグループ化: + +#### 関心ごとの分類基準 +- **機能追加**: 新しい機能の実装 +- **バグ修正**: 既存のバグの修正 +- **リファクタリング**: コードの改善(動作は変わらない) +- **スタイル調整**: フォーマット、インデント、空白の調整 +- **型定義**: TypeScriptの型定義の追加・修正 +- **設定変更**: 設定ファイル(tsconfig, package.json等)の変更 +- **依存関係**: パッケージの追加・更新・削除 +- **テスト**: テストコードの追加・修正 +- **ドキュメント**: README、コメント等の更新 +- **ビルド/CI**: ビルドツール、CI/CD設定の変更 + +### 3. コミット計画の提示 +``` +📊 変更内容の分析結果 +━━━━━━━━━━━━━━━━━━━━━━━━━━━ +合計: X ファイル変更 + +🎯 推奨コミット構成: + +[1] feat: [機能の説明] + 影響ファイル: + - src/components/NewFeature.tsx + - src/hooks/useNewFeature.ts + +[2] fix: [バグ修正の説明] + 影響ファイル: + - src/utils/calculation.ts + +[3] refactor: [リファクタリング内容] + 影響ファイル: + - src/components/OldComponent.tsx + +[4] chore: [その他の変更] + 影響ファイル: + - package.json + - tsconfig.json +━━━━━━━━━━━━━━━━━━━━━━━━━━━ +``` + +### 4. 実行確認 +ユーザーに以下を確認: +- 提案したコミット構成でよいか +- コミットメッセージの修正が必要か +- 特定のファイルの所属グループを変更したいか + +### 5. コミットの実行 +承認後、以下の手順で実行: + +1. 全ての変更を一旦アンステージ: `git reset` +2. 各グループごとに: + - 関連ファイルをステージング: `git add [files]` + - 意味のあるコミットメッセージでコミット + - Conventional Commitsフォーマットを使用 + +### コミットメッセージのフォーマット +``` +(): + + + +