From b90f7129708503e3e2f91e563bf520d53cf60699 Mon Sep 17 00:00:00 2001 From: Daichi Aoki Date: Fri, 6 Mar 2026 15:43:58 +0900 Subject: [PATCH 1/8] =?UTF-8?q?chore(redmine):=20MCP=E8=A8=AD=E5=AE=9A?= =?UTF-8?q?=E3=82=92=E5=89=8A=E9=99=A4=E3=81=97plugin.json=E3=82=92CLI?= =?UTF-8?q?=E3=83=99=E3=83=BC=E3=82=B9=E3=81=AB=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- redmine/.claude-plugin/plugin.json | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 redmine/.claude-plugin/plugin.json diff --git a/redmine/.claude-plugin/plugin.json b/redmine/.claude-plugin/plugin.json new file mode 100644 index 0000000..d444b93 --- /dev/null +++ b/redmine/.claude-plugin/plugin.json @@ -0,0 +1,16 @@ +{ + "name": "redmine", + "version": "2.0.0", + "description": "redmine-cli を活用したチケット検索・閲覧・分析支援プラグイン。プロファイル管理で複数の Redmine サーバーを横断操作。", + "author": { + "name": "chippy-ao" + }, + "license": "MIT", + "keywords": [ + "redmine", + "ticket", + "issue-tracking", + "project-management", + "cli" + ] +} From e5df02a72f3a6d2ba3e40acfb7f4978fdb97e9ae Mon Sep 17 00:00:00 2001 From: Daichi Aoki Date: Fri, 6 Mar 2026 15:45:12 +0900 Subject: [PATCH 2/8] =?UTF-8?q?feat(redmine):=20config=E3=82=B9=E3=82=AD?= =?UTF-8?q?=E3=83=AB=E3=82=92=E8=BF=BD=E5=8A=A0=EF=BC=88=E3=83=97=E3=83=AD?= =?UTF-8?q?=E3=83=95=E3=82=A1=E3=82=A4=E3=83=AB=E7=AE=A1=E7=90=86=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- redmine/skills/config/SKILL.md | 61 ++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 redmine/skills/config/SKILL.md diff --git a/redmine/skills/config/SKILL.md b/redmine/skills/config/SKILL.md new file mode 100644 index 0000000..237abf1 --- /dev/null +++ b/redmine/skills/config/SKILL.md @@ -0,0 +1,61 @@ +--- +name: config +description: Redmine CLI のプロファイル管理スキル。接続先の追加・一覧・デフォルト設定・削除を対話的に行う。「redmine:config」「Redmineの接続設定」「プロファイル追加」「Redmine設定」で起動。 +--- + +# Redmine プロファイル管理 + +redmine-cli のプロファイル(Redmine サーバーの URL と API キー)を対話的に管理する。 + +## 前提チェック + +1. `which redmine-cli` で CLI がインストールされているか確認する +2. **未インストールの場合**、以下を案内して終了する: + - macOS: `brew install chippy-ao/tap/redmine-cli` + - Windows: GitHub Releases (https://github.com/chippy-ao/redmine-cli/releases) から exe を取得 + - その他: `go install github.com/chippy-ao/redmine-cli@latest` + +## フロー + +### 1. 現在の状態を表示 + +`redmine-cli config list` を実行して、現在のプロファイル一覧を表示する。 + +- プロファイルがある場合: 名前・URL・デフォルトかどうかを一覧表示 +- プロファイルがない場合: 「プロファイルが未設定です」と表示 + +### 2. 操作の選択 + +ユーザーの意図に応じて操作する。意図が明確でない場合は AskUserQuestion で以下の選択肢を提示: + +- **追加**: 新しいプロファイルを追加 +- **一覧**: 現在のプロファイルを確認(既に表示済みなら省略) +- **デフォルト変更**: デフォルトプロファイルを切り替え +- **削除**: プロファイルを削除 + +### 3. 各操作の実行 + +#### 追加 (add) + +1. AskUserQuestion でプロファイル名を聞く(例: work, oss, staging) +2. AskUserQuestion で Redmine の URL を聞く +3. AskUserQuestion で API キーを聞く +4. `redmine-cli config add --url --api-key ` を実行 +5. 成功したら `redmine-cli config list` で結果を表示 + +#### デフォルト変更 (set-default) + +1. `redmine-cli config list` で一覧取得 +2. AskUserQuestion でプロファイル名を選んでもらう +3. `redmine-cli config set-default ` を実行 + +#### 削除 (remove) + +1. `redmine-cli config list` で一覧取得 +2. AskUserQuestion でプロファイル名を選んでもらう +3. AskUserQuestion で「本当に削除しますか?」と確認 +4. 確認後 `redmine-cli config remove ` を実行 + +### 4. 続けて操作するか確認 + +操作完了後、「他に設定変更はありますか?」と確認する。 From 0da5cc5da0cb44ebf85889ad9d44cc26d2b60b2d Mon Sep 17 00:00:00 2001 From: Daichi Aoki Date: Fri, 6 Mar 2026 15:48:48 +0900 Subject: [PATCH 3/8] =?UTF-8?q?feat(redmine):=20search=E3=82=B9=E3=82=AD?= =?UTF-8?q?=E3=83=AB=E3=82=92MCP=E3=81=8B=E3=82=89CLI=E3=83=99=E3=83=BC?= =?UTF-8?q?=E3=82=B9=E3=81=AB=E7=A7=BB=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- redmine/skills/search/SKILL.md | 196 +++++++++++++++++++++++++++++++++ 1 file changed, 196 insertions(+) create mode 100644 redmine/skills/search/SKILL.md diff --git a/redmine/skills/search/SKILL.md b/redmine/skills/search/SKILL.md new file mode 100644 index 0000000..7625d2a --- /dev/null +++ b/redmine/skills/search/SKILL.md @@ -0,0 +1,196 @@ +--- +name: search +description: Redmineチケット検索・閲覧支援スキル。redmine-cli を使ってチケットを検索・閲覧し、プロジェクト状況の把握を支援する。「redmine:search」「チケットを探して」「Redmineの課題を確認」「Redmineのチケット」で起動。 +--- + +# Redmine チケット検索・閲覧 + +redmine-cli を使って、チケットの検索・閲覧を対話的に支援する。 + +## 利用する CLI コマンド + +すべてのコマンドは JSON を stdout に出力する。Bash ツールで実行し、出力をパースして整形表示する。 + +- `redmine-cli search` — キーワード・フィルタでチケット検索 +- `redmine-cli get-issue ` — チケット詳細取得(`--include` で関連データ対応) +- `redmine-cli projects` — プロジェクト一覧取得 +- `redmine-cli trackers` — トラッカー一覧取得(ID解決用) +- `redmine-cli statuses` — ステータス一覧取得(ID解決用) +- `redmine-cli categories --project ` — カテゴリ一覧取得(プロジェクト指定) +- `redmine-cli versions --project ` — バージョン一覧取得(プロジェクト指定) +- `redmine-cli config list` — プロファイル一覧取得 + +すべてのコマンドに `--profile ` を付与してプロファイルを指定する(デフォルトプロファイル使用時は省略可)。 + +## 大前提 + +- **読み取り専用**: チケットの作成・更新・削除はこのスキルではできない。ユーザーがこれらを求めた場合は、Redmine の Web UI で操作するよう案内する +- **Redmine 5.1.0 以上**が必要(キーワード検索の `any_searchable` フィルタを使用) +- 1リクエストあたり最大 100 件の取得制限がある(`--limit 100`) +- チケット情報は参考であり、最新の状態は Redmine 本体で確認するよう補足する + +## フロー + +### -1. 前提チェック + +1. `which redmine-cli` で CLI がインストールされているか確認する +2. **未インストールの場合**、以下を案内して終了する: + - macOS: `brew install chippy-ao/tap/redmine-cli` + - Windows: GitHub Releases (https://github.com/chippy-ao/redmine-cli/releases) から exe を取得 + - その他: `go install github.com/chippy-ao/redmine-cli@latest` + +### 0. プロファイル選択 + +`redmine-cli config list` を実行してプロファイルを確認する。 + +- **0件**: 「プロファイルが未設定です。今から設定しましょう」と伝え、AskUserQuestion でプロファイル名・URL・API キーを順に聞いて `redmine-cli config add` を実行する。設定完了後、そのまま検索フローに継続する +- **1件**: そのプロファイルを使用する旨を伝え、次のステップに進む +- **複数**: AskUserQuestion で以下の選択肢を提示: + - 各プロファイル名を個別の選択肢として表示 + - 「複数選択」(使いたいプロファイルを列挙してもらう) + - 「全プロファイル」(全プロファイルを横断検索) + +選択されたプロファイルを以降のコマンドで `--profile ` として使用する。 + +### 0.5. プロジェクトの選択 + +検索を開始する前に、**必ず最初にプロジェクトを確認・選択する**。ユーザーが入力でプロジェクト名を明示している場合でも、サブプロジェクトが存在する可能性があるため省略しない。 + +1. `redmine-cli projects --profile

--limit 100` を実行してプロジェクト一覧を取得する。複数プロファイル選択時は各プロファイルに対して並列で実行し、結果をマージする(プロファイル名をラベルとして付与) +2. プロジェクト一覧をユーザーに提示し、どのプロジェクトで検索するか選択してもらう + - 親プロジェクト・サブプロジェクトの関係がある場合は、階層が分かるように表示する + - **「全プロジェクト横断検索」** も選択肢として提示する +3. ユーザーの入力にプロジェクトを示唆する表現がある場合、該当するプロジェクトとそのサブプロジェクトを候補として強調する +4. 選択された `--project` を以降の検索で使用する。「全プロジェクト横断検索」が選ばれた場合は `--project` を省略する + +- **引数なしで起動された場合**: 先にプロジェクト一覧を提示して選択してもらい、その後に何を検索したいか質問する + +### 1. 絞り込み条件の確認 + +プロジェクト選択後、ユーザーの入力からフィルタ条件(ステータス・トラッカー・担当者・バージョン等)が**明確に読み取れない場合**に、キーワード以外の絞り込みオプションを提示する。 + +**提示する条件**: +- **ステータス**: 未完了のみ (`--status open`) / 完了済みのみ (`--status closed`) / すべて (`--status '*'`) +- **トラッカー**: 質問 / 障害 / 要望 など種別で絞る (`--tracker-id `) +- **担当者**: 自分が担当しているチケットのみ (`--assigned-to me`) +- **対象バージョン**: 特定バージョン向けのチケットのみ (`--version-id `) +- **特に絞り込まない**(キーワードだけで検索) + +**スキップする条件**: +- ユーザーの入力から**フィルタ条件が既に読み取れる場合**(例:「未完了のバグ」→ ステータスとトラッカーが明確)は、このステップをスキップして自然言語分解に進む +- ユーザーが明らかに急いでいる場合や、具体的なキーワード検索のみを求めている場合もスキップしてよい + +### 2. 自然言語の分解と検索 + +ユーザーからの入力を分析し、**検索キーワード**と**フィルタ条件**に分離してから検索する。 + +#### 自然言語の分解ルール + +ユーザーの入力をそのまま `--keyword` に渡さない。以下の手順で分解する: + +1. **検索キーワードの抽出**: チケットの件名・説明に含まれそうな語句を `--keyword` に渡す +2. **フィルタ条件の抽出**: トラッカー名・ステータス・担当者・**カテゴリ名・サブシステム名**・**対象バージョン名**に該当しそうな表現を識別する +3. フィルタ条件が見つかった場合、`redmine-cli trackers --profile

` / `redmine-cli statuses --profile

` / `redmine-cli versions --project --profile

` で名称マッチングし、対応する ID を解決してから `search` に渡す +4. **カテゴリ/サブシステムの識別**: カテゴリやサブシステムに該当しそうな表現がある場合、選択済みのプロジェクトに対して `redmine-cli categories --project --profile

` でカテゴリ ID を解決し、`--category-id` を指定して検索する(「全プロジェクト横断検索」の場合はカテゴリ絞り込み不可) +5. **対象バージョンの識別**: バージョン名に該当しそうな表現がある場合、`redmine-cli versions --project --profile

` でバージョン ID を解決し、`--version-id` を指定して検索する + +**分解例**: +- 「データ移行についてのなんかない? ver9への質問」→ `--keyword "データ移行"`, トラッカー=`ver9への質問`(→ 曖昧表現の解決へ) +- 「未完了バグ」→ keyword なし, `--tracker-id <バグのID>`, `--status open` +- 「山田さんが担当のチケット」→ keyword なし, `--assigned-to` で検索 +- 「母子保健のデータ移行チケット」→ `--keyword "データ移行"`, カテゴリ=`母子保健`(→ categories でカテゴリ ID を解決し `--category-id` を指定) + +#### 検索コマンドの実行 + +```bash +redmine-cli search --profile

--keyword "..." --project --status open --limit 100 +``` + +複数プロファイル選択時は、各プロファイルに対して並列で Bash 実行し、結果をマージする。 + +#### 検索結果の提示 + +- 結果の各チケットを以下の形式で見やすく提示する: + - `#ID | 件名 | ステータス | 担当者 | 優先度` +- 複数プロファイル時はプロファイル名をラベルとして付与する: + - `[work] #ID | 件名 | ...` + - `[oss] #ID | 件名 | ...` + +### 2.5. 曖昧表現の解決 + +フィルタ条件に該当しそうな表現が、トラッカー名・**カテゴリ名**の**複数にマッチしうる場合**の対応ルール。 + +1. `redmine-cli trackers --profile

` を呼び出し、候補を確認する。プロジェクトが選択済みの場合は `redmine-cli categories --project --profile

` も**並列で**呼び出す +2. 一つのみにマッチする場合はそのまま採用する +3. **複数にマッチする候補がある場合**、AskUserQuestion でユーザーに確認する + +いずれにもマッチしない場合は、その表現も `--keyword` に含めて全文検索する。 + +### 3. 名称ベースの ID 解決 + +ユーザーがトラッカー・ステータス・バージョンを**名称**で指定した場合(「バグ」「完了」「機能」等): + +1. `redmine-cli trackers --profile

` / `redmine-cli statuses --profile

` / `redmine-cli versions --project --profile

` を呼び出して一覧を取得 +2. ユーザーの指定した名称に一致する ID を特定 +3. その ID を `--tracker-id` / `--status` / `--version-id` に渡して検索 + +ユーザーに ID 番号を覚えさせない。常に名称で操作できるようにする。 + +### 3.5. 検索結果が多い場合の絞り込み + +検索結果が 25 件を超える場合、以下の優先順位で絞り込みを提案する: + +1. **プロジェクト絞り込み(「全プロジェクト横断検索」選択時のみ)**: `redmine-cli projects --profile

` で一覧を取得し、該当しそうなプロジェクトを提示 +2. **カテゴリ絞り込み**: `redmine-cli categories --project --profile

` でカテゴリ一覧を提示し、`--category-id` で絞り込む。**権限エラーが返る場合はセクション 3.6 のフォールバックに従う** +3. **ステータス絞り込み**: `--status open` または `--status closed` で未完了/完了済みを切り分ける +4. **トラッカー絞り込み**: `redmine-cli trackers --profile

` で一覧を提示 +5. **担当者絞り込み**: `--assigned-to me` で自分担当のみに限定 +6. **バージョン絞り込み**: `redmine-cli versions --project --profile

` で一覧を提示 + +### 3.6. カテゴリ/サブシステム絞り込みが使えない場合 + +`redmine-cli categories` が**権限エラー**を返す場合の対応ルール。 + +1. **権限エラー時**: カテゴリ一覧の取得ができない環境であることをユーザーに伝える +2. **カスタムフィールド型サブシステム**: サブシステムがカスタムフィールド(例: `cf_47`)で実装されている場合、REST API ではフィルタリングができないことをユーザーに伝える +3. **キーワード代替の提案と注意喚起**: 代替としてキーワード検索での絞り込みを提案する。ただし、以下の注意を必ずユーザーに伝える: + - キーワード検索はチケットの件名・説明の全文検索であり、カテゴリ分類ベースの絞り込みとは異なる + - カテゴリ名がチケットの件名・説明に含まれていない場合、取りこぼしが発生する + - 網羅的な検索が必要な場合は、**Redmine の Web UI でカテゴリを直接指定して検索する**ことを推奨する + +### 4. チケット詳細表示 + +ユーザーがチケット番号を指定したら、`redmine-cli get-issue --profile

--include journals,children,relations` で詳細を取得する。 + +- 詳細は以下の構成で表示する: + - **基本情報**: プロジェクト、トラッカー、ステータス、優先度、担当者、進捗率 + - **説明**: 長い場合は要約して表示し、「全文を見る」オプションを提示 + - **コメント履歴**: 時系列で表示、各コメントに投稿者と日時を添える + - **子チケット・関連チケット**: ある場合のみ表示 +- コメントが非常に多い場合は、最新の5件を表示し、「もっと見る」オプションを提示 + +### 5. プロジェクト一覧・メタデータ閲覧 + +ユーザーがプロジェクト情報を求めた場合: + +- `redmine-cli projects --profile

` でプロジェクト一覧を表示 +- プロジェクト選択後、`redmine-cli versions --project --profile

` でバージョン一覧を表示 +- `redmine-cli categories --project --profile

` でカテゴリ一覧を表示 + +### 6. 次のアクション提案 + +各フロー完了後、ユーザーの次のアクションを**平易な言葉**で提案する: + +- **もっと絞り込む**: 条件を変えて再検索 +- **チケットの中身を見る**: 特定チケットの詳細を確認 +- **プロジェクトの全体像**: プロジェクトのバージョンやカテゴリを確認 +- **別のキーワードで探す**: 新しいキーワードで検索し直す +- **プロファイルを切り替える**: 別の Redmine サーバーで検索 + +## エラーハンドリング + +- **CLI 未インストール**: `which redmine-cli` で検出。OS に応じたインストール方法を案内 +- **プロファイル未設定**: `redmine-cli config list` で空を検出。インラインで config add フローを実行し、設定完了後に元のフローに継続 +- **認証エラー・接続エラー**: 「Redmine への接続でエラーが発生しました。以下を確認してください: (1) プロファイルの URL が正しいか (2) API キーが有効か (3) Redmine サーバーが稼働しているか。`redmine-cli config list` でプロファイル設定を確認できます」と案内する +- **検索結果 0 件**: 「該当するチケットが見つかりませんでした。キーワードを変えるか、検索条件を緩めてみてください」と提案する +- **100件超のヒット**: 「検索結果が多数あります(全N件中100件を表示)。絞り込み条件を追加すると、目的のチケットに早く到達できます」と提案する From 7bdfab64deb34e96eaae1b65fe282426bf62a48f Mon Sep 17 00:00:00 2001 From: Daichi Aoki Date: Fri, 6 Mar 2026 15:50:36 +0900 Subject: [PATCH 4/8] =?UTF-8?q?feat(redmine):=20analyze=E3=82=B9=E3=82=AD?= =?UTF-8?q?=E3=83=AB=E3=82=92=E8=BF=BD=E5=8A=A0=EF=BC=88=E3=83=97=E3=83=AD?= =?UTF-8?q?=E3=82=B8=E3=82=A7=E3=82=AF=E3=83=88=E7=8A=B6=E6=B3=81=E5=88=86?= =?UTF-8?q?=E6=9E=90=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- redmine/skills/analyze/SKILL.md | 86 +++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 redmine/skills/analyze/SKILL.md diff --git a/redmine/skills/analyze/SKILL.md b/redmine/skills/analyze/SKILL.md new file mode 100644 index 0000000..54c7c30 --- /dev/null +++ b/redmine/skills/analyze/SKILL.md @@ -0,0 +1,86 @@ +--- +name: analyze +description: Redmineプロジェクト状況分析スキル。redmine-cli を使ってチケット群を取得し、ステータス別集計・担当者負荷・期限切れ警告などを分析する。「redmine:analyze」「プロジェクトの状況まとめて」「担当者の負荷」「期限切れチケット」「チケット分析」で起動。 +--- + +# Redmine プロジェクト状況分析 + +redmine-cli を使ってチケット群を取得し、プロジェクトの状況を集計・分析する。 + +## 利用する CLI コマンド + +- `redmine-cli search --profile

--project --limit 100` — 対象チケット群の取得 +- `redmine-cli projects --profile

` — プロジェクト一覧取得 +- `redmine-cli config list` — プロファイル一覧取得 + +## 大前提 + +- **読み取り専用**: 分析結果の表示のみ。チケットの変更は Redmine Web UI で行う +- 1リクエストあたり最大 100 件の取得制限がある +- 100件超の場合はフィルタ条件で絞り込んでから再分析を提案する + +## フロー + +### 0. 前提チェック + +1. `which redmine-cli` で CLI がインストールされているか確認する +2. **未インストールの場合**、以下を案内して終了する: + - macOS: `brew install chippy-ao/tap/redmine-cli` + - Windows: GitHub Releases (https://github.com/chippy-ao/redmine-cli/releases) から ZIP をダウンロードし、展開して `redmine-cli.exe` を取得。PATH に追加すると便利 + - その他: `go install github.com/chippy-ao/redmine-cli@latest` + +### 1. プロファイル選択 + +`redmine-cli config list` を実行してプロファイルを確認する。 + +- **0件**: 「プロファイルが未設定です。今から設定しましょう」と伝え、AskUserQuestion でプロファイル名・URL・API キーを順に聞いて `redmine-cli config add` を実行する。設定完了後、そのまま分析フローに継続する +- **1件**: そのプロファイルを使用 +- **複数**: AskUserQuestion で選択(1つ / 複数選択 / 全プロファイル) + +### 2. プロジェクト選択 + +`redmine-cli projects --profile

--limit 100` でプロジェクト一覧を取得し、ユーザーに選択してもらう。 + +### 3. チケット取得と分析 + +`redmine-cli search --profile

--project --limit 100` で対象チケット群を取得し、以下の観点で集計・分析する: + +#### 分析項目 + +- **ステータス別チケット数**: 新規、進行中、解決、完了等の分布 +- **担当者別チケット数**: 誰に何件割り当てられているか +- **期限切れチケット**: 期日を過ぎたチケットの一覧と警告 +- **優先度分布**: 緊急・高・通常・低の分布 +- **共通パターン**: 複数チケットの共通パターン(同じカテゴリ、類似のキーワード)の抽出 + +#### 追加分析(ユーザーの意図に応じて) + +- **未完了のみ分析**: `--status open` を追加して再取得 +- **特定担当者の負荷**: `--assigned-to` で絞り込んで分析 +- **バージョン別進捗**: `--version-id` で絞り込んで分析 + +### 4. 結果が100件を超える場合 + +`total_count` が 100 を超える場合: +- 「全 N 件中 100 件を分析しています」と伝える +- 以下の絞り込みを提案: + - ステータスで絞る(未完了のみ / 完了済みのみ) + - トラッカーで絞る + - 担当者で絞る + - バージョンで絞る + +### 5. 次のアクション提案 + +分析完了後、以下を提案する: + +- **条件を変えて再分析**: 別のフィルタで分析し直す +- **特定チケットの詳細を見る**: 気になるチケットの詳細確認(search スキルへ誘導) +- **別のプロジェクトを分析**: 別プロジェクトに切り替え +- **プロファイルを切り替えて分析**: 別の Redmine サーバーで分析 + +## エラーハンドリング + +- **CLI 未インストール**: OS に応じたインストール方法を案内 +- **プロファイル未設定**: インラインで config add フローを実行 +- **認証エラー・接続エラー**: プロファイルの URL / API キーを確認するよう案内 +- **検索結果 0 件**: 「対象チケットが見つかりませんでした」と伝え、条件変更を提案 From a11e276ffa3eeb8c7f00f6075b13b68c43518524 Mon Sep 17 00:00:00 2001 From: Daichi Aoki Date: Fri, 6 Mar 2026 15:51:48 +0900 Subject: [PATCH 5/8] =?UTF-8?q?docs(redmine):=20README=E3=82=92CLI?= =?UTF-8?q?=E3=83=99=E3=83=BC=E3=82=B9=E3=81=AB=E6=9B=B8=E3=81=8D=E6=8F=9B?= =?UTF-8?q?=E3=81=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- redmine/README.md | 116 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 116 insertions(+) create mode 100644 redmine/README.md diff --git a/redmine/README.md b/redmine/README.md new file mode 100644 index 0000000..e042d3f --- /dev/null +++ b/redmine/README.md @@ -0,0 +1,116 @@ +# redmine + +redmine-cli を活用したチケット検索・閲覧・分析支援プラグイン。 +複数の Redmine サーバーをプロファイルで横断操作できる。 + +## 前提条件 + +- [redmine-cli](https://github.com/chippy-ao/redmine-cli) がインストールされていること +- Redmine 5.1.0 以上のサーバーにアクセス可能であること +- Redmine REST API キーを取得済みであること + +### redmine-cli のインストール + +**macOS (Homebrew):** + +```bash +brew install chippy-ao/tap/redmine-cli +``` + +**Windows:** + +1. [GitHub Releases](https://github.com/chippy-ao/redmine-cli/releases) から ZIP をダウンロード +2. ZIP を展開し、`redmine-cli.exe` を取得 +3. コマンドプロンプトか PowerShell で `redmine-cli.exe` があるフォルダから実行: + +```powershell +.\redmine-cli.exe config add work --url https://redmine.example.com --api-key YOUR_API_KEY +.\redmine-cli.exe search --keyword "バグ" --status open +``` + +4. (任意)PATH を通すとどこからでも実行可能: + - Win + X →「システム」→「システムの詳細設定」→「環境変数」 + - `Path` を選んで「編集」→「新規」で `redmine-cli.exe` があるフォルダのパスを追加 + - コマンドプロンプトを再起動 + +**go install:** + +```bash +go install github.com/chippy-ao/redmine-cli@latest +``` + +## プラグインのインストール + +```bash +/plugin install redmine@chippy-ao-plugins +``` + +## セットアップ + +プロファイルを対話的に設定: + +```text +redmine:config +``` + +または CLI で直接設定: + +```bash +redmine-cli config add work --url https://redmine.example.com --api-key YOUR_API_KEY +``` + +## 使い方 + +### チケット検索 + +```text +redmine:search ログイン機能のバグ +``` + +または引数なしで対話的に開始: + +```text +redmine:search +``` + +### プロジェクト状況分析 + +```text +redmine:analyze +``` + +### プロファイル管理 + +```text +redmine:config +``` + +## 機能一覧 + +| スキル | 説明 | +|--------|------| +| `redmine:config` | プロファイルの追加・一覧・デフォルト変更・削除 | +| `redmine:search` | キーワード・プロジェクト・ステータス・担当者等でチケット検索、詳細表示 | +| `redmine:analyze` | ステータス別集計、担当者負荷、期限切れ警告、優先度分布 | + +## 複数の Redmine サーバーを使う + +プロファイルを複数登録して切り替え: + +```bash +redmine-cli config add work --url https://redmine-work.example.com --api-key KEY1 +redmine-cli config add oss --url https://redmine-oss.example.com --api-key KEY2 +redmine-cli config set-default work +``` + +`redmine:search` や `redmine:analyze` 起動時に、使用するプロファイルを選択できる。 +複数プロファイルを同時に選択して横断検索することも可能。 + +## 制約 + +- 読み取り専用(チケットの作成・更新・削除は不可) +- 1リクエストあたり最大 100 件の取得制限 + +## ライセンス + +MIT From f11e9c35f3bbbf7bbf6a5605a7c2b066655b107c Mon Sep 17 00:00:00 2001 From: Daichi Aoki Date: Fri, 6 Mar 2026 15:52:02 +0900 Subject: [PATCH 6/8] =?UTF-8?q?docs:=20CLAUDE.md=E3=81=AERedmine=E6=8A=80?= =?UTF-8?q?=E8=A1=93=E3=82=B9=E3=82=BF=E3=83=83=E3=82=AF=E3=82=92CLI?= =?UTF-8?q?=E3=83=99=E3=83=BC=E3=82=B9=E3=81=AB=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CLAUDE.md | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 CLAUDE.md diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..c1e5af2 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,29 @@ +# claude-code Development Guidelines + +Auto-generated from all feature plans. Last updated: 2026-02-25 + +## Active Technologies + +- Markdown (SKILL.md) + JSON (plugin.json) + redmine-cli(Go CLI、`brew install chippy-ao/tap/redmine-cli`) (001-redmine-skill) + +## Project Structure + +```text +src/ +tests/ +``` + +## Commands + +# Add commands for Markdown (SKILL.md) + JSON (plugin.json) + +## Code Style + +Markdown (SKILL.md) + JSON (plugin.json): Follow standard conventions + +## Recent Changes + +- 001-redmine-skill: Added Markdown (SKILL.md) + JSON (plugin.json) + redmine-cli(Go CLI、`brew install chippy-ao/tap/redmine-cli`) + + + From 3bb47dc45702adf6bfb539816dca12a8ae31261a Mon Sep 17 00:00:00 2001 From: Daichi Aoki Date: Fri, 6 Mar 2026 15:52:58 +0900 Subject: [PATCH 7/8] =?UTF-8?q?fix(redmine):=20=E5=85=A8=E3=82=B9=E3=82=AD?= =?UTF-8?q?=E3=83=AB=E3=81=AEWindows=E5=90=91=E3=81=91=E3=82=A4=E3=83=B3?= =?UTF-8?q?=E3=82=B9=E3=83=88=E3=83=BC=E3=83=AB=E6=A1=88=E5=86=85=E3=82=92?= =?UTF-8?q?=E7=B5=B1=E4=B8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- redmine/skills/config/SKILL.md | 2 +- redmine/skills/search/SKILL.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/redmine/skills/config/SKILL.md b/redmine/skills/config/SKILL.md index 237abf1..d973c48 100644 --- a/redmine/skills/config/SKILL.md +++ b/redmine/skills/config/SKILL.md @@ -12,7 +12,7 @@ redmine-cli のプロファイル(Redmine サーバーの URL と API キー 1. `which redmine-cli` で CLI がインストールされているか確認する 2. **未インストールの場合**、以下を案内して終了する: - macOS: `brew install chippy-ao/tap/redmine-cli` - - Windows: GitHub Releases (https://github.com/chippy-ao/redmine-cli/releases) から exe を取得 + - Windows: GitHub Releases (https://github.com/chippy-ao/redmine-cli/releases) から ZIP をダウンロードし、展開して `redmine-cli.exe` を取得。PATH に追加すると便利 - その他: `go install github.com/chippy-ao/redmine-cli@latest` ## フロー diff --git a/redmine/skills/search/SKILL.md b/redmine/skills/search/SKILL.md index 7625d2a..1f3c1ae 100644 --- a/redmine/skills/search/SKILL.md +++ b/redmine/skills/search/SKILL.md @@ -36,7 +36,7 @@ redmine-cli を使って、チケットの検索・閲覧を対話的に支援 1. `which redmine-cli` で CLI がインストールされているか確認する 2. **未インストールの場合**、以下を案内して終了する: - macOS: `brew install chippy-ao/tap/redmine-cli` - - Windows: GitHub Releases (https://github.com/chippy-ao/redmine-cli/releases) から exe を取得 + - Windows: GitHub Releases (https://github.com/chippy-ao/redmine-cli/releases) から ZIP をダウンロードし、展開して `redmine-cli.exe` を取得。PATH に追加すると便利 - その他: `go install github.com/chippy-ao/redmine-cli@latest` ### 0. プロファイル選択 From 9aa12e4d16ecfd22118ae052e51ddfc91b97081b Mon Sep 17 00:00:00 2001 From: Daichi Aoki Date: Fri, 6 Mar 2026 16:38:09 +0900 Subject: [PATCH 8/8] =?UTF-8?q?docs:=20=E3=83=AB=E3=83=BC=E3=83=88README?= =?UTF-8?q?=E3=81=A8marketplace.json=E3=82=92CLI=E3=83=99=E3=83=BC?= =?UTF-8?q?=E3=82=B9=E3=81=AB=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .claude-plugin/marketplace.json | 5 +++++ .gitignore | 4 ++++ README.md | 29 +++++++++++++++++++++++++++++ 3 files changed, 38 insertions(+) diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index ee1a1ce..a6646b5 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -8,6 +8,11 @@ "name": "law-study", "source": "./law-study", "description": "e-Gov法令APIを活用した法令勉強支援プラグイン。キーワード検索で法令を探し、AIによる要約・質問応答で学習を支援。" + }, + { + "name": "redmine", + "source": "./redmine", + "description": "redmine-cli を活用したチケット検索・閲覧・分析支援プラグイン。プロファイル管理で複数の Redmine サーバーを横断操作。" } ] } diff --git a/.gitignore b/.gitignore index 0e696f9..fb4a1fe 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,7 @@ # brain storming docs/plans/* + +specs/ +.specify/ +.claude/skills/speckit*/ \ No newline at end of file diff --git a/README.md b/README.md index 32d7821..792ad83 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,9 @@ Claude Code 用のプラグイン集 ```bash # law-studyプラグイン /plugin install law-study@chippy-ao-plugins + +# redmineプラグイン +/plugin install redmine@chippy-ao-plugins ``` ### 3. 確認 @@ -30,6 +33,7 @@ Claude Code 用のプラグイン集 | プラグイン | 説明 | |------------|------| | [law-study](./law-study/) | e-Gov法令APIを活用した法令勉強支援。キーワード検索・要約・質問応答 | +| [redmine](./redmine/) | redmine-cli を活用したチケット検索・閲覧・分析支援。複数サーバー横断操作対応 | ## 使い方 @@ -52,6 +56,31 @@ e-Gov法令APIを使った法令勉強支援。 詳細は [law-study/README.md](./law-study/README.md) を参照。 +### redmine + +redmine-cli を使ったチケット検索・閲覧・分析支援。 + +```text +# プロファイル設定 +redmine:config + +# キーワードを指定して検索 +redmine:search ログイン機能のバグ + +# プロジェクト状況分析 +redmine:analyze +``` + +**できること**: +- プロファイル管理(複数 Redmine サーバーの接続設定) +- チケット検索(キーワード、プロジェクト、ステータス、担当者等) +- チケット詳細・コメント履歴の表示 +- チケット分析(ステータス別集計、担当者負荷、期限切れ警告) + +**前提条件**: [redmine-cli](https://github.com/chippy-ao/redmine-cli) のインストールが必要。 + +詳細は [redmine/README.md](./redmine/README.md) を参照。 + ## ライセンス MIT