Proletariat Cli

io.github.chrismcdermut由 GitHub 账号 chrismcdermut 发布v0.3.134更新于 Oct 28, 2026

Agent orchestration platform - multi-agent spawning, tickets, boards, and workflows

概览

AI 生成的概览

prlt 的本地 MCP 服务器,这是一个智能体编排命令行工具,让助手创建工单、启动编码智能体并跟踪其工作。

可以做什么
  • 创建、列出、查看、编辑、移动、关联和删除工单、史诗、项目与规格文档
  • 启动、批量启动、监视、完成或要求返工工单上的智能体工作,并梳理需求
  • 管理智能体、命名主题、执行会话、tmux 会话与 Docker 容器
  • 创建分支和拉取请求,将 PR 关联到工单,并检查 GitHub 认证状态
  • 查看并实时监视看板、工作流、阶段与状态
  • 运行可复用的动作模板,以及工作区、仓库和实用工具命令
适用场景
适合希望让助手在一个地方驱动多智能体开发流程的场景:登记工单、在独立分支上启动编码智能体,并跟踪它们的拉取请求直到合并。适合已在 git 仓库中协作、希望用结构化工单上下文替代自由聊天的团队。
运行要求
作为本地进程运行,通常以 prlt mcp-server 或通过 npx 调用 @proletariat/cli 包启动。需要 Node.js 20 及以上、Git、SQLite 和 tmux;Docker 可选,用于隔离执行。Claude Code 需单独登录认证,GitHub 操作使用 GITHUB_TOKEN 环境变量。
安装前请注意
处于测试阶段,命令和 API 可能随版本变化。智能体会写代码、提交、创建拉取请求,并可移动或删除工单、项目和动作。YOLO 权限模式让智能体无需确认即拥有完全访问权,应与 Docker 隔离配合使用;主机模式则在容器外运行智能体。GitHub 操作需要 GITHUB_TOKEN。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Proletariat Cli,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

██████╗ ██████╗  ██████╗ ██╗     ███████╗████████╗ █████╗ ██████╗ ██╗ █████╗ ████████╗██╔══██╗██╔══██╗██╔═══██╗██║     ██╔════╝╚══██╔══╝██╔══██╗██╔══██╗██║██╔══██╗╚══██╔══╝██████╔╝██████╔╝██║   ██║██║     █████╗     ██║   ███████║██████╔╝██║███████║   ██║██╔═══╝ ██╔══██╗██║   ██║██║     ██╔══╝     ██║   ██╔══██║██╔══██╗██║██╔══██║   ██║██║     ██║  ██║╚██████╔╝███████╗███████╗   ██║   ██║  ██║██║  ██║██║██║  ██║   ██║╚═╝     ╚═╝  ╚═╝ ╚═════╝ ╚══════╝╚══════╝   ╚═╝   ╚═╝  ╚═╝╚═╝  ╚═╝╚═╝╚═╝  ╚═╝   ╚═╝

Seize the means of production - Ship 100x.

[npm] [MCP Registry] [License]

Agent orchestration platform for AI labor. Spin up workers for all work, on demand.

Themed agents, including billionaires - Finally, they work for us.

⚠️ Beta Software — Under active development. Commands and APIs may change between versions, and bugs are actively being squashed.

Let's get you shipping Book a call - I'm happy to help you get prlt running or chat feedback, ideas, multi-agent workflows, and the future of work/labor (and economic labor theory..)


TLDR

prlt is an agent orchestration platform for AI labor. Spin up workers on demand, coordinate multi-agent development from one CLI. Isolated workspaces, secure containers, persistent state.

bash
brew install chrismcdermut/proletariat/prlt    # macOS (Homebrew)# ornpm install -g @proletariat/cli        # any platform (npm)
prlt newprlt ticket create --title "Add OAuth" --category featureprlt work spawn   # Interactive: select tickets, environment, action

Agent spawns in its own branch, writes code, opens PR. You review and merge.

Why prlt?

  • Isolated - Each agent gets its own git branch. No conflicts.
  • Secure - Docker containers, sandboxed from your host.
  • Durable - Tmux sessions persist. Close window, agent keeps working.
  • Trackable - One database, one CLI, all your agents.
  • Ephemeral - Spawn agents on demand. They work, they PR, they're done.
  • Structured - Tickets provide structured context, not freeform chat.
  • Persistent - Tickets accumulate context over time. Hand off between agents.
  • Agent-native - --json mode lets AI agents drive the CLI programmatically.

Quick Start

bash
brew install chrismcdermut/proletariat/prlt  # Install (Homebrew, recommended)# ornpm install -g @proletariat/cli              # Install (npm, all platforms)
prlt new                           # Create HQ, add repos, choose themeprlt ticket create --title "Add OAuth" --category featureprlt work spawn                    # Interactive: select tickets, environment, action# Agent creates PR → You review → Merge → Done
Workflow Diagram (click to expand)
mermaid
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

Spawn agents to implement, groom, or review—not just write code.

Interactive Menus

prlt work guides you through project and ticket selection:

[Project Selection]

Choose your operation—start a single agent, batch spawn, or watch a column:

[Work Operations Menu]

Select tickets to spawn, grouped by priority:

[Ticket Selection]


Deep Dive

ProblemSolution
Agents conflict with each other's changesIsolated - Each agent gets its own git branch and worktree
Agents run unsandboxed on your machineSecure - Docker containers, sandboxed from your host (looking into host sandbox options)
You lose track of who's doing whatTrackable - All state in one SQLite database, one CLI
Sessions die when you close a windowDurable - Tmux sessions persist, detach/reattach anytime
Context scattered across chat windowsStructured - Tickets with requirements, acceptance criteria
Starting agents is heavyweightEphemeral - Spawn on demand, they work, they PR, they're done
Context lost between agent runsPersistent - Tickets accumulate context, hand off between agents

Installation

Homebrew (recommended)
bash
brew install chrismcdermut/proletariat/prlt

Works on both Apple Silicon (arm64) and Intel (x86_64) Macs. No compiler needed.

Upgrade:

bash
brew updatebrew upgrade prlt
npm / pnpm (all platforms)
bash
npm install -g @proletariat/cli# orpnpm install -g @proletariat/cli

pnpm 10+ note: pnpm 10 blocks native addon build scripts by default. If prlt fails with a native module error after install, run pnpm approve-builds in the global store and reinstall, or use npm / brew instead.

Verify:

bash
prlt --version

MCP Server

prlt includes a built-in MCP server with 100+ tools. Add it to your AI client:

Claude Code (~/.claude.json):

json
{  "mcpServers": {    "prlt": { "command": "prlt", "args": ["mcp-server"] }  }}

Cursor / Other clients (via npx):

json
{  "mcpServers": {    "prlt": { "command": "npx", "args": ["-y", "@proletariat/cli", "mcp-server"] }  }}

Listed on: MCP Registry | npm

Data Model

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
EntityDescription
ProjectGroups tickets and epics, references a workflow
EpicWork container with lifecycle (draft → active → complete)
TicketIndividual work item with requirements and acceptance criteria
SpecStatic documentation (can span projects, linked to epics)
WorkflowStatus flow configuration (can be shared across projects)
PhaseStage in a workflow
StatusTicket state within a phase
ActionReusable prompt/action templates
Agent (Staff)Persistent named agent with dedicated workspace
Agent (Temp)Ephemeral agent spawned for a single ticket
ExecutionRunning agent session on a ticket
DisplayTerminal (new tab) or Background (detached)

Example Workflow

A workflow defines how tickets move through your process. Projects reference a workflow, and multiple projects can share the same one.

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

Tickets flow through statuses as work progresses. Agents automatically move tickets when they start work, open PRs, or complete tasks.

Workspace Structure

Each agent gets a copy of all repos (repo scoping coming soon). Work happens on isolated branches.

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/

Agent Naming Themes

Themes control how agents are named. Staff agents use theme names directly (e.g., bezos, camry). Ephemeral agents add an adjective prefix (e.g., bold-bezos, keen-camry). Currently ephemeral names also include a number suffix (bold-bezos-1), but this will be removed soon.

Built-in Themes:

ThemeDescriptionExample Names
billionairesTech founders & executives (default)musk, gates, bezos
toyotasToyota vehicle modelscamry, supra, tacoma
companiesMajor tech companiesstripe, vercel, linear

billionaires — Finally, they work for us.

Theme Commands:

bash
prlt agent themes list              # List available themesprlt agent themes set billionaires  # Set active themeprlt agent themes create mytheme    # Create custom themeprlt agent themes add-names mytheme # Add names to custom theme

Themes are selected during prlt new.

Three Ways to Use Commands

1. Interactive (Humans)

Run without flags—get guided prompts:

bash
$ prlt ticket create
? Title: Add password reset? Description: Email-based password reset flow? Priority: P1? Category: feature
✓ Created TKT-043

View ticket details with prlt ticket:

[Ticket View]

2. JSON Mode (AI Agents)

Add --json for machine-readable output:

bash
$ prlt work start --json
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 agents parse this, make selections, call the next command.

3. Flags (Scripts/CI)

Pass everything directly:

bash
prlt ticket create \  --title "Add OAuth" \  --description "Google and GitHub OAuth" \  --priority P1 \  --category feature

Execution Modes

Environment - where the agent runs:

EnvironmentFlagBest For
🐳 Docker(default if devcontainer exists)Safety—fully isolated container
🏃 Host--run-on-hostSpeed—no container overhead

Display - how you see it:

DisplayFlagBest For
📺 Terminal--display terminalWatch in new terminal tab
🔇 Background--display backgroundDetached, reattach later

Permissions - agent access level:

ModeFlagDescription
🔒 Safe(default)Agent prompts for permissions
🕺 YOLO--skip-permissionsNo prompts, full access. Use with Docker for safe autonomy.

All sessions run in tmux under the hood—close the window, agent keeps working.

bash
# Default: Docker + terminal (if devcontainer exists)prlt work start TKT-042
# Docker + backgroundprlt 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

Parallel Agents

Work on multiple tickets simultaneously.

Interactive (humans):

bash
$ 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 mode (AI agents): (multi-select WIP)

bash
$ prlt work spawn --json --many
json
{  "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"}    ]  }}

Flags (scripts/CI):

bash
prlt work spawn TKT-042 TKT-043 --action implement --mode docker

Each agent works in its own branch. No conflicts.

Scaling: The main limit is your machine. 50+ concurrent agents is achievable—depends on CPU, RAM, and whether you're running Docker or host mode.

Monitor running agents with prlt execution:

[Execution List]

mermaid
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

Agent-created PRs ready for review:

[GitHub Pull Requests]

Command Reference

Full Command Reference (click to expand)
NamespaceCommandDescription
ticketprlt ticket createCreate new ticket
prlt ticket listList all tickets
prlt ticket view View ticket details
prlt ticket edit Edit ticket
prlt ticket move Change status
prlt ticket delete Delete ticket
prlt ticket complete Mark ticket complete
prlt ticket bulkBulk ticket operations
prlt ticket link block Link blocking ticket
prlt ticket link relates Link related ticket
workprlt work start Spawn agent on ticket
prlt work spawnBatch spawn tickets
prlt work complete Mark work done
prlt work ready Mark ready for review
prlt work revise Request revision
prlt work watchWatch work progress
executionprlt execution listList running agents
prlt execution logs View agent output
prlt execution stop Stop an agent
agentprlt agent listList all agents
prlt agent status Check agent status
prlt agent shell Shell into agent workspace
prlt agent visit Navigate to workspace
prlt agent login Auth Claude in container
prlt agent rebuild Rebuild agent workspace
prlt agent restart Restart agent
prlt agent staff add Add named agents
prlt agent staff listList staff agents
prlt agent temp listList ephemeral agents
prlt agent temp cleanupRemove ephemeral agents
agent themesprlt agent themes listList available themes
prlt agent themes set Set active theme
prlt agent themes create Create custom theme
prlt agent themes add-namesAdd names to theme
boardprlt boardView kanban board
prlt board watchReal-time updates
projectprlt project createCreate project
prlt project listList projects
prlt project view View project details
prlt project archive Archive project
prlt project unarchive Unarchive project
prlt project delete Delete project
actionprlt action createCreate action template
prlt action listList actions
prlt action show Show action details
prlt action run Run action
prlt action update Update action
prlt action delete Delete action
branchprlt branch createCreate branch
prlt branch listList branches
prlt branch validateValidate branch name
prprlt pr createCreate pull request
prlt pr status Check PR status
prlt pr link Link PR to ticket
ghprlt gh loginLogin to GitHub
prlt gh statusCheck auth status
prlt gh tokenGet GitHub token
repoprlt repo add Add repository
prlt repo listList repositories
prlt repo view View repository details
prlt repo remove Remove repository
dockerprlt docker listList containers
prlt docker statusCheck Docker status
prlt docker start Start container
prlt docker stop Stop container
prlt docker restart Restart container
prlt docker logs View container logs
prlt docker shell Shell into container
prlt docker sync Sync container files
prlt docker cleanRemove stopped containers
prlt docker pruneRemove unused resources
sessionprlt session listList active tmux sessions
prlt session attach Attach to tmux session
workspaceprlt initInitialize machine config
prlt newCreate new HQ workspace
prlt workspace listList workspaces
prlt workspace addAdd workspace
prlt workspace use Switch workspace
utilityprlt whoamiShow current context
prlt claudeQuick ad-hoc Claude session
prlt commitConventional commit
prlt autocomplete setupSetup shell autocomplete

Run prlt <command> --help for flags and options.

Use Cases

Parallel Feature Development
bash
# Create tickets for each featureprlt ticket create --title "Add OAuth" --category featureprlt ticket create --title "Add API rate limiting" --category featureprlt 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 workprlt board watch

Three agents, three branches, three PRs. You review and merge.

Bug Bash
bash
# Spawn all bugs at onceprlt work spawn --all --column Backlog --category bug
# Or pick specific onesprlt work spawn TKT-010 TKT-011 TKT-012
Grooming Session

Have an agent refine ticket requirements:

bash
prlt work groom TKT-042

Agent adds acceptance criteria, subtasks, estimates.


Environment Variables

VariablePurpose
GITHUB_TOKENGitHub operations (PRs, etc.)

Claude Code handles its own authentication via claude login.


Requirements

  • Node.js 20+ (22 LTS recommended)
  • Git
  • Claude Code (claude login to authenticate)
  • SQLite
  • Tmux (session persistence)
  • Docker (optional—for isolated execution)

Troubleshooting Installation

bun install fails on better-sqlite3

Symptom: bun install -g @proletariat/cli fails with isexe or node-gyp errors during the better-sqlite3 native module build.

Cause: Bun's node-gyp compatibility is limited. The which dependency inside node-gyp uses isexe, which is incompatible with Bun's runtime shims.

Fix: Use npm or Homebrew instead:

bash
# Option 1: Homebrew (macOS, recommended)brew install chrismcdermut/proletariat/prlt
# Option 2: npm (all platforms)npm install -g @proletariat/cli
# Option 3: pnpmpnpm install -g @proletariat/cli

If you must use Bun, ensure Node.js 22 (LTS) is also installed and set better-sqlite3 to use its prebuilt binaries:

bash
npm rebuild better-sqlite3

npm EACCES: permission denied

Symptom: npm install -g @proletariat/cli fails with EACCES: permission denied on /opt/homebrew/lib/node_modules or /usr/local/lib/node_modules.

Fix: Configure npm to use a user-writable directory:

bash
mkdir -p ~/.npm-globalnpm config set prefix '~/.npm-global'export PATH="$HOME/.npm-global/bin:$PATH"# Add the export line to your ~/.zshrc or ~/.bashrcnpm install -g @proletariat/cli

Or use Homebrew instead (macOS):

bash
brew install chrismcdermut/proletariat/prlt

Native module errors after install

Symptom: prlt runs but crashes with better_sqlite3.node or ABI mismatch errors.

Fix:

bash
# Rebuild for the current Node versionnpm rebuild better-sqlite3
# Verify it worksnode -e "require('better-sqlite3')"
# If still failing, reinstallnpm install -g @proletariat/cli --force

See the full troubleshooting guide for more details.


Support


License

Apache 2.0


[npm version] [Downloads] [License]

Star on GitHub | Install from NPM | Report Issues

Made with ⚒️ by the proletariat.

来源:apps/cli/README.md,提交 0f0f9fa

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.3.134最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分