Skip to main content

A Markdown-native control plane for AI coding CLIs

Project description

Crewplane

A Markdown-native control plane for AI coding CLIs.

Status: alpha Python 3.13+ License: Apache-2.0 Docs Security policy Contributing

Crewplane splash

Why Crewplane?

You already have AI coding tools you love. But they can't talk to each other. Claude doesn't know what Codex just wrote. Gemini can't review Claude's output.

Crewplane connects them. Define tasks in a Markdown file, assign each to an AI provider, and Crewplane runs them — in parallel when possible, in sequence when needed. Each tool reads and writes to a shared folder, so downstream tasks can build on upstream results.

No SDKs. No plugins. No vendor lock-in. If your AI tool has a CLI, it works.

Every step is a Markdown file. Inputs, outputs, reviews — all saved to .crewplane/execution-stages/ as readable Markdown. Inspect any step in your editor, diff it in git, or debug with cat. Nothing is a black box.

vs. Other Frameworks Crewplane
Autonomous loops Explicit DAG control — define exactly how agents work together, in sequence or in parallel
Hidden state Externalized to markdown — fully auditable
Tight SDK coupling CLI-first — zero provider lock-in
Black box debugging Inspect .crewplane/execution-stages/ at any step
Adapter boilerplate Works with any CLI that reads/writes files

"Crewplane doesn't try to understand your AI tools. It just gives them a shared workspace and gets out of the way."

⚠️ Security Note: {{file:path}} templates are restricted to the project root by default. Use settings.integrations.artifacts.options.allowed_template_paths for explicit external-file allowlisting.

Installation

Recommended isolated install:

uv tool install crewplane
crewplane --help

Crewplane can also be installed with the following supported methods:

# pipx
pipx install crewplane

# pip
python -m pip install crewplane

# install script for macOS and Linux
curl -fsSL https://raw.githubusercontent.com/crewplaneai/crewplane/master/install.sh | sh

# Homebrew
brew tap crewplaneai/crewplane && brew install crewplane

# npm wrapper
npm install -g crewplane

For a local checkout:

git clone https://github.com/crewplaneai/crewplane.git
cd crewplane
python -m pip install .

⚠️ Note: Provider CLIs are installed and authenticated separately. Crewplane does not install provider CLIs, does not manage provider credentials, and does not sandbox provider CLI execution.

See the installation guide for update, uninstall, and npm PATH troubleshooting.

First Run

crewplane init
crewplane validate
crewplane run --no-live

crewplane init creates .crewplane/config.yml, a default workflow, and additional example templates under .crewplane/workflows/example-templates/. The default run uses deterministic mock output and does not require provider CLIs, API keys, provider accounts, or config edits. It is scaffolding for validating the workflow and artifact path, not model output.

Inspect the first run artifacts under .crewplane/execution-stages/ and .crewplane/execution-results/, then follow provider setup when you are ready to run real provider CLIs.

Live Dashboard

For interactive runs, omit --no-live to open Crewplane's compact tmux dashboard. If you already completed the same mock run, add --force to bypass duplicate-skip:

crewplane run --force

The dashboard shows the workflow DAG, node status, selected provider output, and live log tails while the same durable artifacts are written under .crewplane/. It starts only when tmux is available, output is attached to a terminal, and provider log capture is enabled; otherwise Crewplane warns and continues with normal execution. See the observability guide for dashboard options and log inspection.

Workflow Shape

---
schema_version: "<current>"
name: "Quick Review"
nodes:
  - id: review.project
    mode: parallel
    providers: ["mock"]
---

## review.project
Review the current repository and report the highest-risk issues.

Full workflow authoring docs are in the workflow syntax reference.

Safety Boundary

Crewplane coordinates provider CLIs; it is not a security sandbox. Provider CLIs run with the permissions, approval mode, network access, and filesystem access configured for those tools.

Experimental workspace isolation can move selected provider source-tree work into Git-backed worktrees or writable snapshots, but it is still source-tree isolation only. It does not sandbox provider execution.

{{file:path}} template references are bounded to the project root by default. External files must be explicitly allowlisted with settings.integrations.artifacts.options.allowed_template_paths.

Where Next

The default mock run gives you the same workflow machinery used for real provider runs, so you can inspect the shape of the system before connecting external CLIs:

  • 🔄 DAG Execution – Run independent nodes in parallel and dependency nodes in sequence
  • 🔍 Cross-Review – Agents review each other's outputs with structured verdict detection
  • 📝 Task Files – Frontmatter+Markdown (.task.md) workflows by default
  • 🔌 Pluggable Providers – Works with any CLI-based AI tool; no API keys or auth managed by Crewplane
  • 📁 Project-Local Config – Each project gets its own .crewplane/ directory
  • 📂 Transparent Artifacts – Every intermediate step and final result saved to disk for full auditability
  • 🖥️ Live Dashboard – Optional tmux UI shows DAG progress, node status, and selected provider logs
  • 📊 Spend Observability – Run logs capture CLI capture status, provider token-report status, visible lower-bound estimates, and configured cost confidence summaries
  • Smart Caching – Workflow-signature idempotency skips identical successes and resumes failed or cancelled runs from validated node boundaries
  • 🧪 Experimental Workspace Isolation – Opt-in Git-backed worktrees and writable snapshots can isolate provider source-tree edits in ordinary supported Git repositories

When you are ready to configure a project, start with the quickstart and then move into provider setup, examples, and reference material as needed:

Contributing

If you're interested in contributing to Crewplane, please read our Contributing and local development before submitting a pull request.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

crewplane-0.1.0a3.tar.gz (377.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

crewplane-0.1.0a3-py3-none-any.whl (581.1 kB view details)

Uploaded Python 3

File details

Details for the file crewplane-0.1.0a3.tar.gz.

File metadata

  • Download URL: crewplane-0.1.0a3.tar.gz
  • Upload date:
  • Size: 377.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for crewplane-0.1.0a3.tar.gz
Algorithm Hash digest
SHA256 880e67167f5ab2231e334121ff50c6e713f9c061c00779ef186448c6cd650f78
MD5 764f7a9bbe33ada8278d1787f4d40eaa
BLAKE2b-256 6ead2c759cde833f5eb1d6cc23808172ba5c8010fbaca978f45c892193e45a8d

See more details on using hashes here.

File details

Details for the file crewplane-0.1.0a3-py3-none-any.whl.

File metadata

  • Download URL: crewplane-0.1.0a3-py3-none-any.whl
  • Upload date:
  • Size: 581.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for crewplane-0.1.0a3-py3-none-any.whl
Algorithm Hash digest
SHA256 8eefe5413bb4dfa8de7f39801a49d5d2b3e7a2c107d19500282f084cc8ad9d15
MD5 b2eebc6af8341b45fa0b5399eef83fbc
BLAKE2b-256 2fe3debeba1316e0c2a523965177a9adf9373e31d601bad10241bdb96452405a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page