Skip to main content
Glama
██████╗ ██████╗  ██████╗ ██╗     ███████╗████████╗ █████╗ ██████╗ ██╗ █████╗ ████████╗
██╔══██╗██╔══██╗██╔═══██╗██║     ██╔════╝╚══██╔══╝██╔══██╗██╔══██╗██║██╔══██╗╚══██╔══╝
██████╔╝██████╔╝██║   ██║██║     █████╗     ██║   ███████║██████╔╝██║███████║   ██║
██╔═══╝ ██╔══██╗██║   ██║██║     ██╔══╝     ██║   ██╔══██║██╔══██╗██║██╔══██║   ██║
██║     ██║  ██║╚██████╔╝███████╗███████╗   ██║   ██║  ██║██║  ██║██║██║  ██║   ██║
╚═╝     ╚═╝  ╚═╝ ╚═════╝ ╚══════╝╚══════╝   ╚═╝   ╚═╝  ╚═╝╚═╝  ╚═╝╚═╝╚═╝  ╚═╝   ╚═╝

生産手段を掌握せよ - 100倍の出荷を。

npm MCP Registry License

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なのか?

  • 分離 (Isolated) - 各エージェントは専用のgitブランチを取得します。競合なし。

  • 安全 (Secure) - Dockerコンテナで、ホストからサンドボックス化されます。

  • 永続 (Durable) - Tmuxセッションは永続化されます。ウィンドウを閉じても、エージェントは作業を続けます。

  • 追跡可能 (Trackable) - 1つのデータベース、1つのCLI、すべてのエージェントを管理。

  • 一時的 (Ephemeral) - オンデマンドでエージェントを起動。作業し、PRを出し、完了します。

  • 構造化 (Structured) - チケットは構造化されたコンテキストを提供し、自由形式のチャットではありません。

  • 永続的 (Persistent) - チケットは時間とともにコンテキストを蓄積します。エージェント間で引き継ぎできます。

  • エージェントネイティブ (Agent-native) - --json モードにより、AIエージェントがCLIをプログラム的に操作できます。


Quick Start

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 がプロジェクトとチケットの選択を案内します:

操作を選択——単一エージェントの起動、バッチスポーン、または列の監視:

起動するチケットを優先度ごとにグループ化して選択:


ディープダイブ

問題

解決策

エージェント同士の変更が競合する

分離 (Isolated) - 各エージェントは専用のgitブランチとワークツリーを取得します

エージェントがマシン上でサンドボックスなしで実行される

安全 (Secure) - Dockerコンテナでホストからサンドボックス化(ホストのサンドボックスオプションを検討中)

誰が何をしているのか把握できなくなる

追跡可能 (Trackable) - すべての状態を1つのSQLiteデータベース、1つのCLIで管理

ウィンドウを閉じるとセッションが終了する

永続 (Durable) - Tmuxセッションは永続化され、いつでもデタッチ/再アタッチ

コンテキストがチャットウィンドウに散らばる

構造化 (Structured) - 要件と受け入れ基準を持つチケット

エージェントの起動が重い

一時的 (Ephemeral) - オンデマンドで起動し、作業して、PRを出して、完了

エージェント実行間でコンテキストが失われる

永続的 (Persistent) - チケットがコンテキストを蓄積し、エージェント間で引き継ぎ

インストール

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

エンティティ

説明

プロジェクト

チケットとエピックをグループ化し、ワークフローを参照します

エピック

ライフサイクルを持つ作業コンテナ(draft → active → complete)

チケット

要件と受け入れ基準を持つ個別の作業項目

スペック

静的ドキュメント(プロジェクトをまたいで、エピックにリンク可能)

ワークフロー

ステータスフロー設定(プロジェクト間で共有可能)

フェーズ

ワークフロー内のステージ

ステータス

フェーズ内のチケットの状態

アクション

再利用可能なプロンプト/アクションテンプレート

エージェント(スタッフ)

専用ワークスペースを持つ永続的な名前付きエージェント

エージェント(一時)

単一のチケットのために起動される一時エージェント

実行

チケット上で実行中のエージェントセッション

表示

ターミナル(新しいタブ)またはバックグラウンド(デタッチ)

ワークフローの例

ワークフローは、チケットがプロセスをどのように進むかを定義します。プロジェクトはワークフローを参照し、複数のプロジェクトが同じワークフローを共有できます。

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 <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 で独自の認証を処理します。


Related MCP server: Bernstein - Multi-agent orchestration

要件

  • 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

詳細については完全なトラブルシューティングガイドを参照してください。


サポート


ライセンス

Apache 2.0


npm version Downloads License

Star on GitHub | Install from NPM | Report Issues

⚒️ プロレタリアートによって作られました。

Maintenance

ActivityInactive
ResponsivenessWithin a week

Related MCP Connectors

Related MCP Servers