mcpField
R
rewelo

rewelo

ローカル
sebs.github.io生産性25 週間前に更新

rewelo について

Reweloは、相対ウェイトでチケットを採点・順位付けする実験的なバックログ優先順位付けツールです。CLIとSQLiteストレージを備え、DockerベースのMCPサーバーとしても動作します。

主な機能

  1. 014つの観点によるチケット採点
  2. 02相対ウェイトによる順位付け
  3. 03柔軟なタグによるチケット整理
  4. 04改訂とタグ変更の記録
  5. 05チケット間の関係管理
  6. 06複数プロジェクトへの対応

活用シーン

  1. 01プロダクトバックログの優先順位付け
  2. 02タグで絞ったチケットの比較
  3. 03チケットとタグの履歴確認
  4. 04ブロッカーと依存関係の整理

MCP 対応

CLIはstdio経由のMCPサーバーとして動作し、AIアシスタントからプロジェクト、チケット、タグ、計算を管理できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"sebs-rewelo": {
"command": "npx",
"args": [
"-y",
"rewelo"
],
"env": {
"RW_DB_PATH": "<RW_DB_PATH>"
}
}
}
}
起動コマンドnpx -y rewelo
設定が必要な環境変数
RW_DB_PATHThe SQLite database file. Default: relative-weight.db in the working directory

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmrewelo0.7.3
ocighcr.io/sebs/rewelo:0.7.3

ツール

42

掲載時のツール一覧 · 2 週間前に更新

このツールにパラメーターはありません。

詳細

Rewelo

Warning: これは実験的なソフトウェアです。サポートは提供されず、本番環境での使用を想定していません。

相対ウェイト方式を使用して、さまざまな基準でストーリーやチケットに順位を付ける優先順位付けツールです。組み込みの依存関係ゼロのデータストレージとして SQLite(Node 組み込みの node:sqlite)を使用し、CLI または Docker ベースの MCP サーバーとして利用できます。

仕組み

各チケットは、アジャイルのフィボナッチ尺度(1、2、3、5、8、13、21)を使用して、4つの次元でスコア化されます。

次元測定内容
Benefitストーリーを実装することで得られる価値
Penaltyストーリーを実装しない場合のコスト
Estimate実装に必要なリソース
Risk実装における不確実性や複雑さ

これらをもとに、ツールは実行時に優先度を計算します。

Value    = Benefit + Penalty
Cost     = Estimate + Risk
Priority = Value / Cost

優先度が高いほど、投資収益率が高いことを意味します。相対ウェイトは、バックログ全体、またはタグで絞り込んだ一部(例:機能)にわたってスコアを正規化します。詳細な仕様については、calculations.md を参照してください。

タグ

チケットは、prefix:value のペアを使用する柔軟なタグシステムで整理されます。タグは、状態、機能のグループ化、その他の分類に使われていた固定フィールドに代わるものです。

  • state:backlog、state:wip、state:done
  • feature:checkout、feature:auth
  • team:platform、priority:critical

チケットへのタグの追加と削除はすべて監査ログに記録され、state: タグの遷移からリードタイムとサイクルタイムを計算できます。

改訂履歴

このツールは、次の2つのレベルで完全な改訂履歴を保持します。

  • チケットの改訂 -- 変更前の内容(タイトル、説明、スコア)とタグのスナップショット
  • タグの改訂 -- 名前変更や編集前のタグ定義(プレフィックス、値)のスナップショット

これにより、任意の時点におけるチケットの正確な状態を再構築できます。

データモデル

データベーススキーマは db/create.sql で定義され、db/model.dbml で DBML として文書化されています。

projects
  +-- tickets              (B, P, E, R scores)
  |     +-- ticket_revisions     (content + tag snapshots)
  +-- tags                 (prefix:value pairs)
  |     +-- tag_revisions
  +-- ticket_tags          (current assignments)
  +-- ticket_tag_changes   (audit log: added/removed)
  +-- ticket_relations     (blocks, depends-on, relates-to)
  +-- ticket_deletions     (deleted tickets, for project diff)
  +-- weight_configs       (per-project B/P/E/R weights)

技術スタック

  • SQLite -- Node 組み込みの node:sqlite を使用した組み込みデータベースで、サーバーやネイティブモジュールは不要です
  • TypeScript -- CLI アプリケーションとビジネスロジック
  • Commander.js -- コマンドラインインターフェース
  • Docker -- コンテナ化されたデプロイメントで、MCP サーバーとしても利用できます

CLI コマンド

rw project create|list|delete|history|diff
                                    Manage projects, view history and changes
rw ticket  create|list|update|upsert|delete|history
                                    Manage tickets and view revision history
rw tag     create|assign|remove|delete|list|rename|log
                                    Manage tags and view audit log
rw relation create|remove|list|list-all
                                    Ticket relations (blocks, depends-on, relates-to)
rw config  weights                  View/set/reset per-project B/P/E/R weights
rw calc    weights|priority         Relative weights and weighted priority calculations
rw export  csv|json                 Export project data
rw import  csv|json                 Import project data
rw report  summary|group|distribution|health|times|dashboard|event-log
                                    Reporting, HTML dashboard and event stream
rw serve                            Start MCP server (stdio transport)

グローバルオプション:--db <path>、--json、--csv、--quiet(および互換性のために受け付けられる --no-color。rw は色を出力しません)

複数プロジェクトのサポート

このツールは、最上位の境界としてプロジェクトを中心に設計されています。タグ、チケット、すべての計算はプロジェクトごとに分離されるため、複数のチームや製品が同じインスタンスを独立して使用できます。

新しいバージョンのリリース

.github/workflows/ にある4つの GitHub Actions ワークフローで、ビルド、リリース、公開を行います。

ワークフロー実行タイミング内容
ci.ymlmain へのプッシュとプルリクエスト型チェック、ビルド、テスト、Docker イメージのスモークテストを実行します
release.ymlv* タグのプッシュタグが package.json と一致することを確認し、テストを実行して、npm tarball、SBOM、OCI イメージ、変更履歴を含む GitHub リリースを作成します。イメージを ghcr.io/sebs/rewelo にプッシュします
publish.yml手動(バージョンを指定)信頼された公開を利用して、指定したタグ付きバージョンを provenance とともに npm に公開し、その後 MCP Registry に io.github.sebs/rewelo として登録します
pages.ymlmain へのプッシュsite/ とドキュメントからウェブサイトをビルドし、GitHub Pages にデプロイします

リリース手順:

  1. バージョンを更新します。これにより、(MCP Registry のエントリーである server.json も同じバージョンに設定して)コミットが作成され、一致するタグも作成されます。
npm version patch   # 0.1.0 → 0.1.1 (or minor, major)
  1. コミットとタグをプッシュすると、release.yml がリリースをビルドします。
git push --follow-tags
  1. npm に公開します。新しいバージョンを指定して Publish ワークフローを実行するか(Actions → Publish → Run workflow)、gh workflow run publish.yml -f version=0.1.1 を実行します。npm にバージョンが表示されると、ワークフローは MCP Registry にも登録します(mcp-publisher はワークフローの GitHub OIDC トークンでログインするため、シークレットは不要です)。0.2.0-beta.1 などのプレリリースは next dist-tag で公開され、現在の最新バージョンより古いバックポート(0.6.1 の後の 0.5.2 など)は backport で公開されます。これにより、npm install rewelo では常に最新の安定版が取得されます。

初回のみ必要な設定:npmjs.com で、sebs/rewelo とワークフロー publish.yml を rewelo パッケージの信頼された公開者として追加し、Settings → Pages → Source を "GitHub Actions" に設定します。

リリース済みのイメージを実行するには:

# CLI
docker run --rm -v rw-data:/data ghcr.io/sebs/rewelo:latest project list

# MCP server
docker run --rm -i -v rw-data:/data ghcr.io/sebs/rewelo:latest serve

データベースをコンテナーの再起動後も保持するには、名前付きボリューム(rw-data)またはバインドマウントを使用します。どちらも指定しない場合、データベースはコンテナー内に保存され、コンテナーを削除すると失われます(--read-only を指定すると書き込み自体ができません)。rw はこの問題を stderr に警告します。

MCP サーバー

CLI は stdio 経由の MCP サーバーとしても動作し、AI アシスタントがプロジェクト、チケット、タグ、計算を直接管理できます。クライアントの設定、利用可能なツール、トラブルシューティングについては、mcp.md を参照してください。

使用例

examples.md では、各シナリオの手順を、コピーして貼り付けられる Claude Code のプロンプト(MCP)と、出力付きの rw コマンドの両方で紹介しています。内容は、CSV のインポート、依存関係のマッピング、重みのカスタマイズ、クイックウィン、作業の追跡、スクリプトの作成、バックログの共有とバックアップです。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。