turma 0.1.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
turma-0.1.2/LICENSE ADDED
@@ -0,0 +1,22 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Turma contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
22
+
turma-0.1.2/PKG-INFO ADDED
@@ -0,0 +1,107 @@
1
+ Metadata-Version: 2.4
2
+ Name: turma
3
+ Version: 0.1.2
4
+ Summary: Provider-pool-aware multi-agent coding orchestration.
5
+ Author: Turma contributors
6
+ License: MIT
7
+ Project-URL: Homepage, https://turma.sh
8
+ Project-URL: Repository, https://github.com/turma-dev/turma
9
+ Project-URL: Documentation, https://turma.sh
10
+ Project-URL: Issues, https://github.com/turma-dev/turma/issues
11
+ Keywords: ai,agents,cli,coding,orchestration,python
12
+ Classifier: Development Status :: 3 - Alpha
13
+ Classifier: Intended Audience :: Developers
14
+ Classifier: License :: OSI Approved :: MIT License
15
+ Classifier: Operating System :: OS Independent
16
+ Classifier: Programming Language :: Python :: 3
17
+ Classifier: Programming Language :: Python :: 3.11
18
+ Classifier: Programming Language :: Python :: 3.12
19
+ Classifier: Topic :: Software Development
20
+ Classifier: Topic :: Software Development :: Build Tools
21
+ Requires-Python: >=3.11
22
+ Description-Content-Type: text/markdown
23
+ License-File: LICENSE
24
+ Dynamic: license-file
25
+
26
+ # Turma
27
+
28
+ Provider-pool-aware multi-agent coding orchestration with spec-driven planning,
29
+ Beads task tracking, and resumable swarm execution.
30
+
31
+ ## Status
32
+
33
+ Early scaffold. This repo now has the initial Python package layout, corrected
34
+ design docs, baseline CLI entry point, and project configuration. The full
35
+ orchestrator described in the architecture docs is not implemented yet.
36
+
37
+ ## What It Is
38
+
39
+ Turma is designed as a two-phase workflow:
40
+
41
+ 1. Planning: generate and refine OpenSpec artifacts through an author/critic
42
+ loop with explicit human approval.
43
+ 2. Execution: translate approved tasks into a Beads DAG and route work across
44
+ multiple agent runtimes while tracking task and integration state.
45
+
46
+ The main design goal is to treat provider rate-limit pools as a routing input
47
+ without overstating that pool independence alone solves throughput.
48
+
49
+ ## Repository Layout
50
+
51
+ ```text
52
+ .
53
+ ├── .agents/ # role guidance for author / critic / implementer / reviewer
54
+ ├── .claude/commands/ # slash commands used in project context
55
+ ├── docs/
56
+ │ ├── architecture.md # detailed system design
57
+ │ └── commercial-roadmap.md # freemium and hosted-tier roadmap
58
+ ├── src/turma/ # Python package scaffold
59
+ ├── tests/ # initial test scaffold
60
+ ├── CHANGELOG.md
61
+ ├── LICENSE
62
+ ├── README.md
63
+ ├── turma.example.toml # committed config template
64
+ └── pyproject.toml
65
+ ```
66
+
67
+ ## CLI Scaffold
68
+
69
+ Default development workflow:
70
+
71
+ ```bash
72
+ uv sync
73
+ cp turma.example.toml turma.toml
74
+ uv run turma --help
75
+ uv run turma init
76
+ uv run turma plan --feature oauth-auth
77
+ uv run turma run --feature oauth-auth
78
+ uv run turma status
79
+ ```
80
+
81
+ These commands are scaffolds today. They provide the initial package and entry
82
+ point structure that the orchestrator can grow into.
83
+
84
+ Validation commands:
85
+
86
+ ```bash
87
+ uv run turma --help
88
+ uv run python -m turma --help
89
+ uv run pytest
90
+ ```
91
+
92
+ ## Core Docs
93
+
94
+ - [Architecture](docs/architecture.md)
95
+ - [Commercial roadmap](docs/commercial-roadmap.md)
96
+ - [Changelog](CHANGELOG.md)
97
+
98
+ ## Next Implementation Steps
99
+
100
+ - wire `turma plan` to the planning graph
101
+ - wire `turma run` to Beads plus worktree orchestration
102
+ - persist reconciliation metadata for resumable task recovery
103
+ - replace placeholder status output with task, PR, and CI state
104
+
105
+ ## License
106
+
107
+ MIT
turma-0.1.2/README.md ADDED
@@ -0,0 +1,82 @@
1
+ # Turma
2
+
3
+ Provider-pool-aware multi-agent coding orchestration with spec-driven planning,
4
+ Beads task tracking, and resumable swarm execution.
5
+
6
+ ## Status
7
+
8
+ Early scaffold. This repo now has the initial Python package layout, corrected
9
+ design docs, baseline CLI entry point, and project configuration. The full
10
+ orchestrator described in the architecture docs is not implemented yet.
11
+
12
+ ## What It Is
13
+
14
+ Turma is designed as a two-phase workflow:
15
+
16
+ 1. Planning: generate and refine OpenSpec artifacts through an author/critic
17
+ loop with explicit human approval.
18
+ 2. Execution: translate approved tasks into a Beads DAG and route work across
19
+ multiple agent runtimes while tracking task and integration state.
20
+
21
+ The main design goal is to treat provider rate-limit pools as a routing input
22
+ without overstating that pool independence alone solves throughput.
23
+
24
+ ## Repository Layout
25
+
26
+ ```text
27
+ .
28
+ ├── .agents/ # role guidance for author / critic / implementer / reviewer
29
+ ├── .claude/commands/ # slash commands used in project context
30
+ ├── docs/
31
+ │ ├── architecture.md # detailed system design
32
+ │ └── commercial-roadmap.md # freemium and hosted-tier roadmap
33
+ ├── src/turma/ # Python package scaffold
34
+ ├── tests/ # initial test scaffold
35
+ ├── CHANGELOG.md
36
+ ├── LICENSE
37
+ ├── README.md
38
+ ├── turma.example.toml # committed config template
39
+ └── pyproject.toml
40
+ ```
41
+
42
+ ## CLI Scaffold
43
+
44
+ Default development workflow:
45
+
46
+ ```bash
47
+ uv sync
48
+ cp turma.example.toml turma.toml
49
+ uv run turma --help
50
+ uv run turma init
51
+ uv run turma plan --feature oauth-auth
52
+ uv run turma run --feature oauth-auth
53
+ uv run turma status
54
+ ```
55
+
56
+ These commands are scaffolds today. They provide the initial package and entry
57
+ point structure that the orchestrator can grow into.
58
+
59
+ Validation commands:
60
+
61
+ ```bash
62
+ uv run turma --help
63
+ uv run python -m turma --help
64
+ uv run pytest
65
+ ```
66
+
67
+ ## Core Docs
68
+
69
+ - [Architecture](docs/architecture.md)
70
+ - [Commercial roadmap](docs/commercial-roadmap.md)
71
+ - [Changelog](CHANGELOG.md)
72
+
73
+ ## Next Implementation Steps
74
+
75
+ - wire `turma plan` to the planning graph
76
+ - wire `turma run` to Beads plus worktree orchestration
77
+ - persist reconciliation metadata for resumable task recovery
78
+ - replace placeholder status output with task, PR, and CI state
79
+
80
+ ## License
81
+
82
+ MIT
@@ -0,0 +1,50 @@
1
+ [build-system]
2
+ requires = ["setuptools>=69", "wheel"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "turma"
7
+ version = "0.1.2"
8
+ description = "Provider-pool-aware multi-agent coding orchestration."
9
+ readme = "README.md"
10
+ requires-python = ">=3.11"
11
+ license = { text = "MIT" }
12
+ authors = [
13
+ { name = "Turma contributors" }
14
+ ]
15
+ keywords = ["ai", "agents", "cli", "coding", "orchestration", "python"]
16
+ classifiers = [
17
+ "Development Status :: 3 - Alpha",
18
+ "Intended Audience :: Developers",
19
+ "License :: OSI Approved :: MIT License",
20
+ "Operating System :: OS Independent",
21
+ "Programming Language :: Python :: 3",
22
+ "Programming Language :: Python :: 3.11",
23
+ "Programming Language :: Python :: 3.12",
24
+ "Topic :: Software Development",
25
+ "Topic :: Software Development :: Build Tools",
26
+ ]
27
+ dependencies = []
28
+
29
+ [project.urls]
30
+ Homepage = "https://turma.sh"
31
+ Repository = "https://github.com/turma-dev/turma"
32
+ Documentation = "https://turma.sh"
33
+ Issues = "https://github.com/turma-dev/turma/issues"
34
+
35
+ [project.scripts]
36
+ turma = "turma.cli:main"
37
+
38
+ [tool.setuptools]
39
+ package-dir = {"" = "src"}
40
+
41
+ [tool.setuptools.packages.find]
42
+ where = ["src"]
43
+
44
+ [tool.pytest.ini_options]
45
+ testpaths = ["tests"]
46
+
47
+ [dependency-groups]
48
+ dev = [
49
+ "pytest>=9.0.2",
50
+ ]
turma-0.1.2/setup.cfg ADDED
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1,5 @@
1
+ """Turma package."""
2
+
3
+ __all__ = ["__version__"]
4
+
5
+ __version__ = "0.1.2"
@@ -0,0 +1,6 @@
1
+ from turma.cli import main
2
+
3
+
4
+ if __name__ == "__main__":
5
+ raise SystemExit(main())
6
+
@@ -0,0 +1,66 @@
1
+ """CLI entry point for the Turma project."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import argparse
6
+ from pathlib import Path
7
+
8
+ from turma import __version__
9
+ from turma.planning import run_planning
10
+ from turma.swarm import run_swarm, status_summary
11
+
12
+
13
+ def build_parser() -> argparse.ArgumentParser:
14
+ parser = argparse.ArgumentParser(
15
+ prog="turma",
16
+ description="Provider-pool-aware multi-agent coding orchestration.",
17
+ )
18
+ parser.add_argument("--version", action="version", version=f"%(prog)s {__version__}")
19
+
20
+ subparsers = parser.add_subparsers(dest="command", required=True)
21
+
22
+ init_parser = subparsers.add_parser("init", help="Initialize local project scaffolding.")
23
+ init_parser.add_argument(
24
+ "--path",
25
+ default=".",
26
+ help="Project directory to initialize. Defaults to the current directory.",
27
+ )
28
+
29
+ plan_parser = subparsers.add_parser("plan", help="Run the planning workflow scaffold.")
30
+ plan_parser.add_argument("--feature", required=True, help="Feature name to plan.")
31
+
32
+ run_parser = subparsers.add_parser("run", help="Run the implementation swarm scaffold.")
33
+ run_parser.add_argument("--feature", help="Feature name to run.")
34
+
35
+ subparsers.add_parser("status", help="Show current swarm status scaffold.")
36
+
37
+ return parser
38
+
39
+
40
+ def cmd_init(path: str) -> int:
41
+ project_path = Path(path).resolve()
42
+ print(
43
+ f"Initialization scaffold for {project_path}. "
44
+ "This repo already contains the baseline layout, config, and docs."
45
+ )
46
+ return 0
47
+
48
+
49
+ def main(argv: list[str] | None = None) -> int:
50
+ parser = build_parser()
51
+ args = parser.parse_args(argv)
52
+
53
+ if args.command == "init":
54
+ return cmd_init(args.path)
55
+ if args.command == "plan":
56
+ print(run_planning(args.feature))
57
+ return 0
58
+ if args.command == "run":
59
+ print(run_swarm(args.feature))
60
+ return 0
61
+ if args.command == "status":
62
+ print(status_summary())
63
+ return 0
64
+
65
+ parser.error("unknown command")
66
+ return 2
@@ -0,0 +1,10 @@
1
+ """Planning scaffolding for the Turma CLI."""
2
+
3
+
4
+ def run_planning(feature: str) -> str:
5
+ """Return a placeholder planning message for the requested feature."""
6
+ return (
7
+ f"Planning scaffold for feature '{feature}'. "
8
+ "Connect this command to the LangGraph planning loop in docs/architecture.md."
9
+ )
10
+
@@ -0,0 +1,20 @@
1
+ """Implementation swarm scaffolding for the Turma CLI."""
2
+
3
+
4
+ def run_swarm(feature: str | None) -> str:
5
+ """Return a placeholder swarm message for the requested feature."""
6
+ if feature:
7
+ return (
8
+ f"Swarm scaffold for feature '{feature}'. "
9
+ "Connect this command to the orchestrator described in docs/architecture.md."
10
+ )
11
+ return (
12
+ "Swarm scaffold. Connect this command to the orchestrator described in "
13
+ "docs/architecture.md."
14
+ )
15
+
16
+
17
+ def status_summary() -> str:
18
+ """Return a placeholder status message."""
19
+ return "Status scaffold. Integrate Beads, PR state, and reconciliation metadata."
20
+
@@ -0,0 +1,107 @@
1
+ Metadata-Version: 2.4
2
+ Name: turma
3
+ Version: 0.1.2
4
+ Summary: Provider-pool-aware multi-agent coding orchestration.
5
+ Author: Turma contributors
6
+ License: MIT
7
+ Project-URL: Homepage, https://turma.sh
8
+ Project-URL: Repository, https://github.com/turma-dev/turma
9
+ Project-URL: Documentation, https://turma.sh
10
+ Project-URL: Issues, https://github.com/turma-dev/turma/issues
11
+ Keywords: ai,agents,cli,coding,orchestration,python
12
+ Classifier: Development Status :: 3 - Alpha
13
+ Classifier: Intended Audience :: Developers
14
+ Classifier: License :: OSI Approved :: MIT License
15
+ Classifier: Operating System :: OS Independent
16
+ Classifier: Programming Language :: Python :: 3
17
+ Classifier: Programming Language :: Python :: 3.11
18
+ Classifier: Programming Language :: Python :: 3.12
19
+ Classifier: Topic :: Software Development
20
+ Classifier: Topic :: Software Development :: Build Tools
21
+ Requires-Python: >=3.11
22
+ Description-Content-Type: text/markdown
23
+ License-File: LICENSE
24
+ Dynamic: license-file
25
+
26
+ # Turma
27
+
28
+ Provider-pool-aware multi-agent coding orchestration with spec-driven planning,
29
+ Beads task tracking, and resumable swarm execution.
30
+
31
+ ## Status
32
+
33
+ Early scaffold. This repo now has the initial Python package layout, corrected
34
+ design docs, baseline CLI entry point, and project configuration. The full
35
+ orchestrator described in the architecture docs is not implemented yet.
36
+
37
+ ## What It Is
38
+
39
+ Turma is designed as a two-phase workflow:
40
+
41
+ 1. Planning: generate and refine OpenSpec artifacts through an author/critic
42
+ loop with explicit human approval.
43
+ 2. Execution: translate approved tasks into a Beads DAG and route work across
44
+ multiple agent runtimes while tracking task and integration state.
45
+
46
+ The main design goal is to treat provider rate-limit pools as a routing input
47
+ without overstating that pool independence alone solves throughput.
48
+
49
+ ## Repository Layout
50
+
51
+ ```text
52
+ .
53
+ ├── .agents/ # role guidance for author / critic / implementer / reviewer
54
+ ├── .claude/commands/ # slash commands used in project context
55
+ ├── docs/
56
+ │ ├── architecture.md # detailed system design
57
+ │ └── commercial-roadmap.md # freemium and hosted-tier roadmap
58
+ ├── src/turma/ # Python package scaffold
59
+ ├── tests/ # initial test scaffold
60
+ ├── CHANGELOG.md
61
+ ├── LICENSE
62
+ ├── README.md
63
+ ├── turma.example.toml # committed config template
64
+ └── pyproject.toml
65
+ ```
66
+
67
+ ## CLI Scaffold
68
+
69
+ Default development workflow:
70
+
71
+ ```bash
72
+ uv sync
73
+ cp turma.example.toml turma.toml
74
+ uv run turma --help
75
+ uv run turma init
76
+ uv run turma plan --feature oauth-auth
77
+ uv run turma run --feature oauth-auth
78
+ uv run turma status
79
+ ```
80
+
81
+ These commands are scaffolds today. They provide the initial package and entry
82
+ point structure that the orchestrator can grow into.
83
+
84
+ Validation commands:
85
+
86
+ ```bash
87
+ uv run turma --help
88
+ uv run python -m turma --help
89
+ uv run pytest
90
+ ```
91
+
92
+ ## Core Docs
93
+
94
+ - [Architecture](docs/architecture.md)
95
+ - [Commercial roadmap](docs/commercial-roadmap.md)
96
+ - [Changelog](CHANGELOG.md)
97
+
98
+ ## Next Implementation Steps
99
+
100
+ - wire `turma plan` to the planning graph
101
+ - wire `turma run` to Beads plus worktree orchestration
102
+ - persist reconciliation metadata for resumable task recovery
103
+ - replace placeholder status output with task, PR, and CI state
104
+
105
+ ## License
106
+
107
+ MIT
@@ -0,0 +1,14 @@
1
+ LICENSE
2
+ README.md
3
+ pyproject.toml
4
+ src/turma/__init__.py
5
+ src/turma/__main__.py
6
+ src/turma/cli.py
7
+ src/turma/planning.py
8
+ src/turma/swarm.py
9
+ src/turma.egg-info/PKG-INFO
10
+ src/turma.egg-info/SOURCES.txt
11
+ src/turma.egg-info/dependency_links.txt
12
+ src/turma.egg-info/entry_points.txt
13
+ src/turma.egg-info/top_level.txt
14
+ tests/test_cli.py
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ turma = turma.cli:main
@@ -0,0 +1 @@
1
+ turma
@@ -0,0 +1,6 @@
1
+ from turma.cli import build_parser
2
+
3
+
4
+ def test_parser_builds() -> None:
5
+ parser = build_parser()
6
+ assert parser.prog == "turma"