Skip to main content

Provider-pool-aware multi-agent coding orchestration.

Project description

Turma

Provider-pool-aware multi-agent coding orchestration with spec-driven planning, Beads task tracking, and resumable swarm execution.

Status

Early implementation phase. This repo now has the Python package layout, OpenSpec workflow scaffolding, a working turma init command, a working single-pass turma plan command, baseline CI, and public architecture documentation. The full author/critic planning loop and execution orchestrator described in the architecture docs are not implemented yet.

What It Is

Turma is designed as a two-phase workflow:

  1. Planning: generate and refine OpenSpec artifacts through an author/critic loop with explicit human approval.
  2. Execution: translate approved tasks into a Beads DAG and route work across multiple agent runtimes while tracking task and integration state.

The main design goal is to treat provider rate-limit pools as a routing input without overstating that pool independence alone solves throughput.

Repository Layout

.
├── .github/workflows/          # minimal CI
├── .agents/                    # role guidance for author / critic / implementer / reviewer
├── .claude/commands/           # slash commands used in project context
├── openspec/                   # feature specs and changes
├── docs/
│   ├── architecture.md         # public system model
├── src/turma/                  # Python package and CLI
├── tests/                      # automated tests
├── CHANGELOG.md
├── LICENSE
├── README.md
├── turma.example.toml         # committed config template
└── pyproject.toml

CLI Scaffold

Default development workflow:

uv sync
uv run turma --help
uv run turma init
uv run turma plan --feature oauth-auth
uv run turma run --feature oauth-auth
uv run turma status

Current command status:

  • turma init is implemented
  • turma plan is implemented as a single-pass author workflow
  • turma run and turma status are still scaffolds

turma init expects turma.example.toml to exist in the target directory. It creates turma.toml from that template and updates .gitignore with Turma-managed entries.

turma plan --feature <name> currently:

  • reads planning.author_model from turma.toml
  • requires .agents/author.md
  • scaffolds an OpenSpec change with openspec
  • generates proposal, design, and tasks in a fixed order
  • supports Claude and Codex-backed author generation

It does not yet run a critic loop, commit changes, or orchestrate execution.

Validation commands:

uv run turma --help
uv run python -m turma --help
uv run pytest

Core Docs

Next Implementation Steps

  • add the critic loop and approval flow on top of turma plan
  • wire turma run to Beads plus worktree orchestration
  • persist reconciliation metadata for resumable task recovery
  • replace placeholder status output with task, PR, and CI state

License

MIT

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

turma-0.1.5.tar.gz (17.4 kB view details)

Uploaded Source

Built Distribution

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

turma-0.1.5-py3-none-any.whl (12.7 kB view details)

Uploaded Python 3

File details

Details for the file turma-0.1.5.tar.gz.

File metadata

  • Download URL: turma-0.1.5.tar.gz
  • Upload date:
  • Size: 17.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for turma-0.1.5.tar.gz
Algorithm Hash digest
SHA256 0a9482e3727640f2e4e05ff37993e22527d28835240937072b3e2e27b609e298
MD5 b7b67e5ad368fa5b44e4b2170cc61059
BLAKE2b-256 6d01fa93fc5fec53cb1b81953b76b7f7a7b611666a0c135044c2cf4106ab1d52

See more details on using hashes here.

File details

Details for the file turma-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: turma-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 12.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for turma-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 d4f21c6985daa85b4c4995f72fe8e1a90a871e52774e585a718684dd8f033fcf
MD5 e35711f926a4da00fe57a5c71b4d3a50
BLAKE2b-256 9a061d65a47d6a872e0a61dbc792997c0540c6e97b1006ee01b69e84dd7ec3c8

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