A new approach to software development and human-AI collaboration, enabling concurrent work with multiple AI Agents in secure sandbox environments.
- 🐳 Provides secure sandboxed development environments for each AI Agent using Docker
- 🐙 Collaborate with multiple AI Agents simultaneously on GitHub to complete development tasks
- 🤖 Supports Claude Code and Codex CLI
# Install dependencies
pnpm install
# Build the project
pnpm build
# Run tests
pnpm test # Run all tests (unit tests + integration tests)
pnpm test:unit # Run unit tests only
pnpm test:integration # Run integration tests only# Method 1: Using the installation script (recommended)
./install-global.sh
# Method 2: Manual installation
pnpm build
cd packages/cli
pnpm link --global
# Verify installation
paula --helppaula initFollow the prompts to provide GitHub configuration and access token, then adjust the configuration files in the .paula directory (Dockerfile and paula.yaml, etc.) according to your project needs.
Paula manager supports two running modes:
# Start manager (runs in background)
paula manager start
# Check manager status
paula manager status
# View manager logs
paula manager logs
paula manager logs -f # Follow logs in real-time
# Stop manager
paula manager stop
# Restart manager (using stop and start combination)
paula manager stop && paula manager start# Run in the current terminal foreground (for debugging)
paula manager start --foregroundCreate an issue in the corresponding GitHub project and add the paula-todo label. Paula manager will automatically assign a worker to handle the issue.
Paula uses five GitHub labels to manage the issue lifecycle:
paula-todo: Add this label when creating an issue to indicate it's waiting for worker assignmentpaula-doing: After Paula assigns a worker, the label is automatically changed to this status, and worker information is commented on the issuepaula-pending: The AI agent within the worker adds this label when human confirmation is needed (e.g., work plan needs confirmation, guidance needed for issues)paula-done: After the AI agent within the worker completes the work, the label is changed to this status, waiting for human reviewpaula-continue: Human users can add this label to let the AI agent continue working (typically transitioning frompaula-doneorpaula-pending)
Issue (paula-todo)
→ Paula assign worker
→ Issue (paula-doing) + Worker comment
→ AI agent analyzes and posts plan
→ Issue (paula-pending)
→ Human confirms plan (paula-continue)
→ AI agent works
→ Issue (paula-done) + MR created
→ Human reviews and closes issue
→ Paula cleans up worker
If a human needs the AI agent to continue improving or modifying:
Issue (paula-done/pending)
→ Human adds feedback comment
→ Human changes label to (paula-continue)
→ Paula interrupts current task (if running)
→ AI agent reads recent feedback
→ AI agent continues working
→ Issue (paula-done) + MR updated
Task Interruption Mechanism: When a user actively adds the paula-continue label, if the AI agent within the worker is executing a task, Paula will automatically interrupt the current task, then restart the task and read the latest feedback. This ensures that the AI agent can respond promptly to the user's new instructions.
If a worker stops unexpectedly, it can be recovered by removing the completion label:
Issue (paula-done)
→ Human removes paula-done label
→ Issue (paula-doing)
→ Paula detects and resumes worker
→ Worker continues from where it left off
paula worker pspaula worker up worker-1paula worker down worker-1# View logs (default shows last 100 lines)
paula worker logs worker-1
# Follow logs in real-time
paula worker logs -f worker-1
# View last 50 lines of logs
paula worker logs --tail 50 worker-1
# Show timestamps
paula worker logs -t worker-1paula worker shell worker-1paula worker exec worker-1 ls -la