proletariat-cli について
prlt は、チケット、ボード、ワークフローを一つのコマンドラインから管理するエージェントオーケストレーションプラットフォームです。各エージェントは独立した git ブランチとワークスペースで動作するため、複数の作業を並行して進めたい開発者に適しています。現在はベータ版であり、コマンドが変更される可能性があります。
主な機能
- 01選択したチケットに対してエージェントをオンデマンドで起動
- 02エージェントごとに独立した git ブランチと worktree
- 03ウィンドウを閉じても維持される tmux セッション
- 04状態管理に用いる単一の SQLite データベース
- 05AI エージェントがコマンドラインを操作するための JSON 出力モード
- 06Docker またはホストでの実行環境
活用シーン
- 01複数のチケットのコードを並行して生成し PR を作成する
- 02エージェントによるレビューやチケット整理を実行する
- 03ターミナルを閉じた後もバックグラウンドのエージェントに作業を継続させる
MCP 対応
prlt は 100 以上のツールを備えた MCP サーバーを内蔵しており、MCP クライアントからチケットとエージェント実行を管理できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
██████╗ ██████╗ ██████╗ ██╗ ███████╗████████╗ █████╗ ██████╗ ██╗ █████╗ ████████╗
██╔══██╗██╔══██╗██╔═══██╗██║ ██╔════╝╚══██╔══╝██╔══██╗██╔══██╗██║██╔══██╗╚══██╔══╝
██████╔╝██████╔╝██║ ██║██║ █████╗ ██║ ███████║██████╔╝██║███████║ ██║
██╔═══╝ ██╔══██╗██║ ██║██║ ██╔══╝ ██║ ██╔══██║██╔══██╗██║██╔══██║ ██║
██║ ██║ ██║╚██████╔╝███████╗███████╗ ██║ ██║ ██║██║ ██║██║██║ ██║ ██║
╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚══════╝╚══════╝ ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝╚═╝ ╚═╝ ╚═╝
生産手段を掌握しよう — 100倍の速さでリリース。
AI 労働のためのエージェントオーケストレーションプラットフォームです。 あらゆる作業に対応するワーカーを、必要に応じて起動できます。
億万長者を含む、テーマに沿ったエージェントたち — ついに、彼らが私たちのために働きます。
⚠️ ベータソフトウェア — 現在も積極的に開発中です。コマンドや API はバージョン間で変更される可能性があり、バグの修正も進めています。
さあ、リリースしましょう 通話を予約 — prlt の実行をお手伝いします。フィードバックやアイデア、マルチエージェントのワークフロー、そして仕事/労働の未来(および経済学における労働理論)についてもお話しできます。
概要
prlt は AI 労働のためのエージェントオーケストレーションプラットフォームです。必要に応じてワーカーを起動し、1 つの CLI からマルチエージェント開発を調整できます。隔離されたワークスペース、安全なコンテナ、永続的な状態を備えています。
brew install chrismcdermut/proletariat/prlt # macOS (Homebrew)
# or
npm install -g @proletariat/cli # any platform (npm)
prlt new
prlt ticket create --title "Add OAuth" --category feature
prlt work spawn # Interactive: select tickets, environment, action
エージェントは専用のブランチで起動し、コードを書いて PR を作成します。あなたがレビューしてマージします。
prlt を選ぶ理由
- 隔離 - 各エージェントに専用の git ブランチが割り当てられます。競合はありません。
- 安全 - Docker コンテナを使用し、ホスト環境から隔離します。
- 継続性 - Tmux セッションは保持されます。ウィンドウを閉じても、エージェントは作業を続けます。
- 追跡可能 - データベースは 1 つ、CLI も 1 つで、すべてのエージェントを管理できます。
- 一時的 - 必要に応じてエージェントを起動できます。作業し、PR を作成し、完了します。
- 構造化 - チケットによって、自由形式のチャットではなく、構造化されたコンテキストを提供します。
- 永続的 - チケットには時間とともにコンテキストが蓄積されます。エージェント間で引き継げます。
- エージェント向け -
--jsonモードを使うと、AI エージェントがプログラムから CLI を操作できます。
クイックスタート
brew install chrismcdermut/proletariat/prlt # Install (Homebrew, recommended)
# or
npm install -g @proletariat/cli # Install (npm, all platforms)
prlt new # Create HQ, add repos, choose theme
prlt ticket create --title "Add OAuth" --category feature
prlt work spawn # Interactive: select tickets, environment, action
# Agent creates PR → You review → Merge → Done
ワークフロー図(クリックして展開)
sequenceDiagram
participant You
participant prlt
participant Agent
participant GitHub
You->>prlt: prlt ticket create
You->>prlt: prlt work spawn
prlt->>prlt: Create branch
prlt->>prlt: Create workspace
prlt->>Agent: Spawn agent
Agent->>Agent: Read ticket
Agent->>Agent: Write code
Agent->>GitHub: Commit
Agent->>GitHub: Open PR
Agent->>prlt: Update status
prlt->>You: PR ready
You->>GitHub: Review & approve
コードを書く以外にも、実装、チケットの整理、レビューを行うエージェントを起動できます。
インタラクティブメニュー
prlt work を実行すると、プロジェクトとチケットの選択が案内されます。
操作を選択します — 単一のエージェントを開始する、複数のエージェントを一括起動する、または列を監視する操作があります。
優先度別にグループ化されたチケットから、起動するものを選択します。
詳細
| 問題 | 解決策 |
|---|---|
| エージェント同士の変更が競合する | 分離 - 各エージェントに専用の git ブランチとワークツリーを割り当てます |
| エージェントがサンドボックス化されずにマシン上で動作する | セキュア - Docker コンテナを使用し、ホストからサンドボックス化します(ホストのサンドボックスオプションを調査中) |
| 誰が何をしているか把握できなくなる | 追跡可能 - すべての状態を 1 つの SQLite データベースと 1 つの CLI で管理します |
| ウィンドウを閉じるとセッションが終了する | 永続的 - Tmux セッションは保持され、いつでもデタッチ/再アタッチできます |
| チャットウィンドウ間でコンテキストが分散する | 構造化 - 要件と受け入れ基準を備えたチケットを使用します |
| エージェントの起動に手間がかかる | エフェメラル - 必要に応じて起動し、作業と PR を行い、完了したら終了します |
| エージェントの実行間でコンテキストが失われる | 永続的 - チケットにコンテキストが蓄積され、エージェント間で引き継がれます |
インストール
Homebrew(推奨)
brew install chrismcdermut/proletariat/prlt
Apple Silicon(arm64)と Intel(x86_64)の両方の Mac で動作します。コンパイラーは不要です。
アップグレード:
brew update
brew upgrade prlt
npm / pnpm(すべてのプラットフォーム)
npm install -g @proletariat/cli
# or
pnpm install -g @proletariat/cli
pnpm 10 以降に関する注意: pnpm 10 では、ネイティブアドオンのビルドスクリプトがデフォルトでブロックされます。インストール後に
prltでネイティブモジュールのエラーが発生した場合は、グローバルストアでpnpm approve-buildsを実行して再インストールするか、代わりにnpm/brewを使用してください。
確認:
prlt --version
MCP サーバー
prlt には 100 以上のツールを備えた MCP サーバーが組み込まれています。AI クライアントに追加してください:
Claude Code(~/.claude.json):
{
"mcpServers": {
"prlt": { "command": "prlt", "args": ["mcp-server"] }
}
}
Cursor/その他のクライアント(npx 経由):
{
"mcpServers": {
"prlt": { "command": "npx", "args": ["-y", "@proletariat/cli", "mcp-server"] }
}
}
掲載先:MCP Registry | npm
データモデル
Workspace (HQ)
├── Projects
│ ├── Epics → Tickets
│ └── (references a Workflow)
├── Workflows → Phases → Statuses (can be shared across projects)
├── Specs (can span projects)
├── Actions (reusable templates)
├── Agents
│ ├── Staff (persistent, named)
│ └── Temp (ephemeral, per-ticket)
└── Executions (running sessions)
├── Docker
│ ├── Tmux session
│ ├── Terminal or Background display
│ └── Safe or YOLO permissions
└── Host
├── Tmux session
├── Terminal or Background display
└── Safe or YOLO permissions
| エンティティ | 説明 |
|---|---|
| プロジェクト | チケットとエピックをグループ化し、ワークフローを参照します |
| エピック | ライフサイクル(ドラフト → アクティブ → 完了)を持つ作業コンテナ |
| チケット | 要件と受け入れ基準を含む個別の作業項目 |
| 仕様 | 静的なドキュメント(複数のプロジェクトにまたがり、エピックにリンクできます) |
| ワークフロー | ステータスフローの設定(複数のプロジェクトで共有できます) |
| フェーズ | ワークフロー内の段階 |
| ステータス | フェーズ内のチケットの状態 |
| アクション | 再利用可能なプロンプト/アクションのテンプレート |
| エージェント(常駐) | 専用のワークスペースを持つ、名前付きの永続的なエージェント |
| エージェント(一時) | 1 つのチケット用に起動される一時的なエージェント |
| 実行 | チケット上で実行中のエージェントセッション |
| 表示 | ターミナル(新しいタブ)またはバックグラウンド(デタッチ) |
ワークフローの例
ワークフローでは、プロセスに沿ってチケットをどのように進めるかを定義します。プロジェクトはワークフローを参照し、複数のプロジェクトで同じワークフローを共有できます。
Kanban Workflow
├── Backlog # New tickets land here
├── In Progress # Agent working (prlt work spawn)
├── Review # PR ready (prlt work ready)
└── Done # Merged (prlt work complete)
Scrum Workflow
├── Backlog
├── Sprint
│ ├── To Do
│ ├── In Progress
│ └── In Review
└── Done
作業の進行に応じて、チケットはステータス間を移動します。エージェントは、作業開始時、PR 作成時、またはタスク完了時にチケットを自動的に移動します。
ワークスペースの構成
各エージェントには、すべてのリポジトリのコピーが割り当てられます(リポジトリのスコープ指定は近日対応予定)。作業は分離されたブランチ上で行われます。
my-project/
├── .proletariat/
│ └── workspace.db # Tickets, executions, state
├── repos/
│ ├── frontend/ # Your repos
│ ├── backend/
│ └── infra/
└── agents/
├── staff/
│ └── alice/ # Named agent with persistent workspace
│ ├── frontend/
│ ├── backend/
│ └── infra/
└── temp/
├── agent-abc123/ # Ephemeral: Working on TKT-042 (OAuth)
│ ├── frontend/ # All repos on branch: feat/TKT-042-oauth
│ ├── backend/
│ └── infra/
└── agent-def456/ # Ephemeral: Working on TKT-043 (API)
├── frontend/ # All repos on branch: feat/TKT-043-api
├── backend/
└── infra/
エージェントの命名テーマ
テーマによってエージェントの名前が決まります。スタッフエージェントにはテーマ名がそのまま使われます(例:bezos、camry)。一時エージェントには形容詞の接頭辞が付きます(例:bold-bezos、keen-camry)。現在、一時エージェント名には数字の接尾辞(bold-bezos-1)も付いていますが、まもなく廃止されます。
組み込みテーマ:
| テーマ | 説明 | 名前の例 |
|---|---|---|
billionaires | テック業界の創業者と経営幹部(デフォルト) | musk、gates、bezos |
toyotas | トヨタの車種 | camry、supra、tacoma |
companies | 主要なテック企業 | stripe、vercel、linear |
billionaires — ついに、彼らが私たちのために働いてくれます。
テーマのコマンド:
prlt agent themes list # List available themes
prlt agent themes set billionaires # Set active theme
prlt agent themes create mytheme # Create custom theme
prlt agent themes add-names mytheme # Add names to custom theme
テーマは prlt new の実行時に選択します。
コマンドの3つの使い方
1. 対話形式(人間向け)
フラグを指定せずに実行すると、ガイド付きプロンプトが表示されます。
$ prlt ticket create
? Title: Add password reset
? Description: Email-based password reset flow
? Priority: P1
? Category: feature
✓ Created TKT-043
prlt ticket でチケットの詳細を表示します。
2. JSON モード(AI エージェント向け)
--json を追加すると、機械で読み取り可能な出力になります。
$ prlt work start --json
{
"prompt": {
"type": "list",
"message": "Select ticket to work on:",
"choices": [
{
"name": "[P1] TKT-042 - Add user authentication",
"value": "TKT-042",
"command": "prlt work start TKT-042 --json"
}
]
}
}
AI エージェントはこれを解析して選択を行い、次のコマンドを呼び出します。
3. フラグ(スクリプト/CI)
必要な情報をすべて直接指定します。
prlt ticket create \
--title "Add OAuth" \
--description "Google and GitHub OAuth" \
--priority P1 \
--category feature
実行モード
環境 — エージェントの実行場所:
| 環境 | フラグ | 適した用途 |
|---|---|---|
| 🐳 Docker | (devcontainer がある場合のデフォルト) | 安全性 — 完全に分離されたコンテナー |
| 🏃 ホスト | --run-on-host | 速度 — コンテナーのオーバーヘッドなし |
表示 — 実行状況の確認方法:
| 表示 | フラグ | 適した用途 |
|---|---|---|
| 📺 ターミナル | --display terminal | 新しいターミナルタブで確認 |
| 🔇 バックグラウンド | --display background | 切り離して実行し、後から再接続 |
権限 — エージェントのアクセスレベル:
| モード | フラグ | 説明 |
|---|---|---|
| 🔒 安全 | (デフォルト) | エージェントが権限を求めます |
| 🕺 YOLO | --skip-permissions | プロンプトなしで全アクセス権を付与します。安全に自律実行するには Docker を使用してください。 |
すべてのセッションは内部で tmux 上で実行されます。ウィンドウを閉じても、エージェントは作業を続けます。
# Default: Docker + terminal (if devcontainer exists)
prlt work start TKT-042
# Docker + background
prlt work start TKT-042 --display background
# Host + background (fast, no container)
prlt work start TKT-042 --run-on-host --display background
# Docker + YOLO (full autonomy, safely sandboxed)
prlt work start TKT-042 --skip-permissions
エージェントの並列実行
複数のチケットを同時に処理できます。
対話形式(人間向け):
$ prlt work spawn
? Spawn mode: Select specific tickets
? Select tickets:
◉ [P1] TKT-042 - Add user authentication
◉ [P1] TKT-043 - Add API rate limiting
◯ [P2] TKT-044 - Add email notifications
? Action: implement
? Environment: docker
Spawning 2 tickets...
JSON モード(AI エージェント向け): (複数選択機能は作業中)
$ prlt work spawn --json --many
{
"prompt": {
"type": "checkbox",
"message": "Select tickets to spawn:",
"choices": [
{"name": "[P1] TKT-042 - Add user authentication", "value": "TKT-042"},
{"name": "[P1] TKT-043 - Add API rate limiting", "value": "TKT-043"}
]
}
}
フラグ(スクリプト/CI):
prlt work spawn TKT-042 TKT-043 --action implement --mode docker
各エージェントは専用のブランチで作業します。競合はありません。
スケーリング: 主な制限要因はお使いのマシンです。同時に50以上のエージェントを実行することも可能ですが、CPU、RAM、Docker とホストモードのどちらを実行するかによって異なります。
prlt execution で実行中のエージェントを監視できます。
flowchart LR
subgraph You
spawn[prlt work spawn]
end
subgraph Agents
A1[Agent 1<br/>TKT-042 OAuth]
A2[Agent 2<br/>TKT-043 Rate Limit]
A3[Agent 3<br/>TKT-044 Notifications]
end
subgraph GitHub
PR1[PR #101<br/>feat/TKT-042-oauth]
PR2[PR #102<br/>feat/TKT-043-rate-limit]
PR3[PR #103<br/>feat/TKT-044-notifications]
end
spawn --> A1
spawn --> A2
spawn --> A3
A1 --> PR1
A2 --> PR2
A3 --> PR3
エージェントが作成したレビュー可能な PR:
コマンドリファレンス
コマンドリファレンス全文(クリックして展開)
| 名前空間 | コマンド | 説明 |
|---|---|---|
| チケット | prlt ticket create | 新しいチケットを作成 |
prlt ticket list | すべてのチケットを一覧表示 | |
prlt ticket view | チケットの詳細を表示 | |
prlt ticket edit | チケットを編集 | |
prlt ticket move | ステータスを変更 | |
prlt ticket delete | チケットを削除 | |
prlt ticket complete | チケットを完了としてマーク | |
prlt ticket bulk | チケットの一括操作 | |
prlt ticket link block | ブロックしているチケットをリンク | |
prlt ticket link relates | 関連するチケットをリンク | |
| 作業 | prlt work start | チケットでエージェントを起動 |
prlt work spawn | 複数のチケットで一括起動 | |
prlt work complete | 作業を完了としてマーク | |
prlt work ready | レビュー準備完了としてマーク | |
prlt work revise | 修正を依頼 | |
prlt work watch | 作業の進捗を監視 | |
| 実行 | prlt execution list | 実行中のエージェントを一覧表示 |
prlt execution logs | エージェントの出力を表示 | |
prlt execution stop | エージェントを停止 | |
| エージェント | prlt agent list | すべてのエージェントを一覧表示 |
prlt agent status | エージェントのステータスを確認 | |
prlt agent shell | エージェントのワークスペースでシェルを開く | |
prlt agent visit | ワークスペースに移動 | |
prlt agent login | コンテナ内でClaudeを認証 | |
prlt agent rebuild | エージェントのワークスペースを再構築 | |
prlt agent restart | エージェントを再起動 | |
prlt agent staff add | 指定したエージェントを追加 | |
prlt agent staff list | スタッフエージェントを一覧表示 | |
prlt agent temp list | 一時エージェントを一覧表示 | |
prlt agent temp cleanup | 一時エージェントを削除 | |
| エージェントのテーマ | prlt agent themes list | 利用可能なテーマを一覧表示 |
prlt agent themes set | アクティブなテーマを設定 | |
prlt agent themes create | カスタムテーマを作成 | |
prlt agent themes add-names | テーマに名前を追加 | |
| ボード | prlt board | カンバンボードを表示 |
prlt board watch | リアルタイムで更新 | |
| プロジェクト | prlt project create | プロジェクトを作成 |
prlt project list | プロジェクトを一覧表示 | |
prlt project view | プロジェクトの詳細を表示 | |
prlt project archive | プロジェクトをアーカイブ | |
prlt project unarchive | プロジェクトをアーカイブ解除 | |
prlt project delete | プロジェクトを削除 | |
| action | prlt action create | アクションのテンプレートを作成 |
prlt action list | アクションの一覧を表示 | |
prlt action show | アクションの詳細を表示 | |
prlt action run | アクションを実行 | |
prlt action update | アクションを更新 | |
prlt action delete | アクションを削除 | |
| branch | prlt branch create | ブランチを作成 |
prlt branch list | ブランチの一覧を表示 | |
prlt branch validate | ブランチ名を検証 | |
| pr | prlt pr create | プルリクエストを作成 |
prlt pr status | PR のステータスを確認 | |
prlt pr link | PR をチケットにリンク | |
| gh | prlt gh login | GitHub にログイン |
prlt gh status | 認証ステータスを確認 | |
prlt gh token | GitHub トークンを取得 | |
| repo | prlt repo add | リポジトリを追加 |
prlt repo list | リポジトリの一覧を表示 | |
prlt repo view | リポジトリの詳細を表示 | |
prlt repo remove | リポジトリを削除 | |
| docker | prlt docker list | コンテナの一覧を表示 |
prlt docker status | Docker のステータスを確認 | |
prlt docker start | コンテナを起動 | |
prlt docker stop | コンテナを停止 | |
prlt docker restart | コンテナを再起動 | |
prlt docker logs | コンテナのログを表示 | |
prlt docker shell | コンテナのシェルに接続 | |
prlt docker sync | コンテナのファイルを同期 | |
prlt docker clean | 停止中のコンテナを削除 | |
prlt docker prune | 未使用のリソースを削除 | |
| session | prlt session list | アクティブな tmux セッションの一覧を表示 |
prlt session attach | tmux セッションに接続 | |
| workspace | prlt init | マシン設定を初期化 |
prlt new | 新しい HQ ワークスペースを作成 | |
prlt workspace list | ワークスペースの一覧を表示 | |
prlt workspace add | ワークスペースを追加 | |
prlt workspace use | ワークスペースを切り替え | |
| utility | prlt whoami | 現在のコンテキストを表示 |
prlt claude | Claude の臨時セッションをすばやく開始 | |
prlt commit | Conventional Commit 形式でコミット | |
prlt autocomplete setup | シェルの自動補完を設定 |
フラグとオプションを確認するには、prlt <command> --help を実行してください。
使用例
機能の並行開発
# Create tickets for each feature
prlt ticket create --title "Add OAuth" --category feature
prlt ticket create --title "Add API rate limiting" --category feature
prlt ticket create --title "Add email notifications" --category feature
# Spawn all three in parallel (Docker for isolation)
prlt work spawn TKT-001 TKT-002 TKT-003 --mode docker
# Watch the board as they work
prlt board watch
3 つのエージェント、3 つのブランチ、3 つの PR。レビューしてマージします。
バグバッシュ
# Spawn all bugs at once
prlt work spawn --all --column Backlog --category bug
# Or pick specific ones
prlt work spawn TKT-010 TKT-011 TKT-012
グルーミングセッション
エージェントにチケットの要件を整理させます。
prlt work groom TKT-042
エージェントが受け入れ条件、サブタスク、見積もりを追加します。
環境変数
| 変数 | 目的 |
|---|---|
GITHUB_TOKEN | GitHub 操作(PR など) |
Claude Code は claude login を通じて独自に認証を処理します。
要件
- Node.js 20 以降(22 LTS を推奨)
- Git
- Claude Code(認証には
claude loginを実行) - SQLite
- Tmux(セッションの永続化)
- Docker(任意。隔離実行用)
インストールのトラブルシューティング
bun install が better-sqlite3 で失敗する
症状:bun install -g @proletariat/cli の実行中、better-sqlite3 のネイティブモジュールのビルド時に isexe または node-gyp のエラーが発生して失敗します。
原因:Bun の node-gyp 互換性には制限があります。node-gyp 内の which 依存関係は isexe を使用しており、Bun のランタイムシムと互換性がありません。
解決方法:代わりに npm または Homebrew を使用してください。
# Option 1: Homebrew (macOS, recommended)
brew install chrismcdermut/proletariat/prlt
# Option 2: npm (all platforms)
npm install -g @proletariat/cli
# Option 3: pnpm
pnpm install -g @proletariat/cli
Bun を使用する必要がある場合は、Node.js 22(LTS)もインストールし、better-sqlite3 がプリビルド済みバイナリを使用するようにしてください。
npm rebuild better-sqlite3
npm の EACCES: permission denied
症状:npm install -g @proletariat/cli の実行中、/opt/homebrew/lib/node_modules または /usr/local/lib/node_modules で EACCES: permission denied が発生して失敗します。
解決方法:npm がユーザー書き込み可能なディレクトリを使用するよう設定してください。
mkdir -p ~/.npm-global
npm config set prefix '~/.npm-global'
export PATH="$HOME/.npm-global/bin:$PATH"
# Add the export line to your ~/.zshrc or ~/.bashrc
npm install -g @proletariat/cli
または、代わりに Homebrew を使用してください(macOS)。
brew install chrismcdermut/proletariat/prlt
インストール後のネイティブモジュールのエラー
症状:prlt は起動しますが、better_sqlite3.node または ABI の不一致に関するエラーでクラッシュします。
解決方法:
# Rebuild for the current Node version
npm rebuild better-sqlite3
# Verify it works
node -e "require('better-sqlite3')"
# If still failing, reinstall
npm install -g @proletariat/cli --force
詳しくは、トラブルシューティングガイド全文をご覧ください。
サポート
- Discord:discord.gg/tmZyjNNSvw
- GitHub の Issue:バグの報告や機能のリクエスト
- セットアップのサポート:通話を予約 - 導入をお手伝いします
ライセンス
Apache 2.0
GitHub でスターを付ける | NPM からインストール | 問題を報告
プロレタリアートが ⚒️ を込めて作成しました。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。