tagteam 0.3.0__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.
- tagteam-0.3.0/MANIFEST.in +3 -0
- tagteam-0.3.0/PKG-INFO +178 -0
- tagteam-0.3.0/README.md +156 -0
- tagteam-0.3.0/pyproject.toml +56 -0
- tagteam-0.3.0/setup.cfg +4 -0
- tagteam-0.3.0/tagteam/__init__.py +13 -0
- tagteam-0.3.0/tagteam/__main__.py +6 -0
- tagteam-0.3.0/tagteam/cli.py +418 -0
- tagteam-0.3.0/tagteam/config.py +185 -0
- tagteam-0.3.0/tagteam/cycle.py +607 -0
- tagteam-0.3.0/tagteam/data/.claude/skills/handoff/SKILL.md +153 -0
- tagteam-0.3.0/tagteam/data/checklists/code_review.md +43 -0
- tagteam-0.3.0/tagteam/data/checklists/plan_review.md +34 -0
- tagteam-0.3.0/tagteam/data/templates/cycle.md +32 -0
- tagteam-0.3.0/tagteam/data/templates/decision_log.md +26 -0
- tagteam-0.3.0/tagteam/data/templates/feedback.md +42 -0
- tagteam-0.3.0/tagteam/data/templates/handoff_impl.md +36 -0
- tagteam-0.3.0/tagteam/data/templates/handoff_plan.md +37 -0
- tagteam-0.3.0/tagteam/data/templates/implementation_log.md +23 -0
- tagteam-0.3.0/tagteam/data/templates/phase_plan.md +44 -0
- tagteam-0.3.0/tagteam/data/templates/requirements_brief.md +24 -0
- tagteam-0.3.0/tagteam/data/templates/roadmap.md +39 -0
- tagteam-0.3.0/tagteam/data/templates/sync_state.md +33 -0
- tagteam-0.3.0/tagteam/data/web/app.js +1177 -0
- tagteam-0.3.0/tagteam/data/web/conversation.js +669 -0
- tagteam-0.3.0/tagteam/data/web/index.html +179 -0
- tagteam-0.3.0/tagteam/data/web/sprites.js +379 -0
- tagteam-0.3.0/tagteam/data/web/styles.css +840 -0
- tagteam-0.3.0/tagteam/data/workflows.md +219 -0
- tagteam-0.3.0/tagteam/iterm.py +417 -0
- tagteam-0.3.0/tagteam/migrate.py +115 -0
- tagteam-0.3.0/tagteam/parser.py +240 -0
- tagteam-0.3.0/tagteam/registry.py +62 -0
- tagteam-0.3.0/tagteam/roadmap.py +184 -0
- tagteam-0.3.0/tagteam/server.py +540 -0
- tagteam-0.3.0/tagteam/session.py +418 -0
- tagteam-0.3.0/tagteam/setup.py +226 -0
- tagteam-0.3.0/tagteam/state.py +597 -0
- tagteam-0.3.0/tagteam/templates.py +42 -0
- tagteam-0.3.0/tagteam/tui/__init__.py +52 -0
- tagteam-0.3.0/tagteam/tui/__main__.py +8 -0
- tagteam-0.3.0/tagteam/tui/app.py +513 -0
- tagteam-0.3.0/tagteam/tui/art/__init__.py +1 -0
- tagteam-0.3.0/tagteam/tui/art/clock.py +16 -0
- tagteam-0.3.0/tagteam/tui/art/mayor.py +36 -0
- tagteam-0.3.0/tagteam/tui/art/rabbit.py +33 -0
- tagteam-0.3.0/tagteam/tui/art/saloon.py +61 -0
- tagteam-0.3.0/tagteam/tui/characters.py +34 -0
- tagteam-0.3.0/tagteam/tui/clock_widget.py +98 -0
- tagteam-0.3.0/tagteam/tui/conversation.py +96 -0
- tagteam-0.3.0/tagteam/tui/conversations/__init__.py +1 -0
- tagteam-0.3.0/tagteam/tui/conversations/intro.py +206 -0
- tagteam-0.3.0/tagteam/tui/conversations/transitions.py +86 -0
- tagteam-0.3.0/tagteam/tui/dialogue.py +322 -0
- tagteam-0.3.0/tagteam/tui/handoff_reader.py +69 -0
- tagteam-0.3.0/tagteam/tui/map_data.py +216 -0
- tagteam-0.3.0/tagteam/tui/map_widget.py +142 -0
- tagteam-0.3.0/tagteam/tui/review_dialogue.py +192 -0
- tagteam-0.3.0/tagteam/tui/review_replay.py +89 -0
- tagteam-0.3.0/tagteam/tui/scene.py +212 -0
- tagteam-0.3.0/tagteam/tui/sound.py +40 -0
- tagteam-0.3.0/tagteam/tui/sounds/bell.wav +0 -0
- tagteam-0.3.0/tagteam/tui/sounds/chime.wav +0 -0
- tagteam-0.3.0/tagteam/tui/sounds/coo.wav +0 -0
- tagteam-0.3.0/tagteam/tui/sounds/stamp.wav +0 -0
- tagteam-0.3.0/tagteam/tui/sounds/tick.wav +0 -0
- tagteam-0.3.0/tagteam/tui/state_watcher.py +116 -0
- tagteam-0.3.0/tagteam/tui/status_bar.py +90 -0
- tagteam-0.3.0/tagteam/watcher.py +762 -0
- tagteam-0.3.0/tagteam.egg-info/PKG-INFO +178 -0
- tagteam-0.3.0/tagteam.egg-info/SOURCES.txt +86 -0
- tagteam-0.3.0/tagteam.egg-info/dependency_links.txt +1 -0
- tagteam-0.3.0/tagteam.egg-info/entry_points.txt +3 -0
- tagteam-0.3.0/tagteam.egg-info/requires.txt +4 -0
- tagteam-0.3.0/tagteam.egg-info/top_level.txt +1 -0
- tagteam-0.3.0/tests/test_config.py +354 -0
- tagteam-0.3.0/tests/test_cycle.py +537 -0
- tagteam-0.3.0/tests/test_iterm.py +363 -0
- tagteam-0.3.0/tests/test_migrate.py +80 -0
- tagteam-0.3.0/tests/test_parser.py +342 -0
- tagteam-0.3.0/tests/test_quickstart.py +421 -0
- tagteam-0.3.0/tests/test_registry.py +107 -0
- tagteam-0.3.0/tests/test_review_dialogue.py +76 -0
- tagteam-0.3.0/tests/test_roadmap.py +455 -0
- tagteam-0.3.0/tests/test_server_validation.py +59 -0
- tagteam-0.3.0/tests/test_state_diagnose.py +277 -0
- tagteam-0.3.0/tests/test_state_watcher.py +158 -0
- tagteam-0.3.0/tests/test_templates.py +121 -0
tagteam-0.3.0/PKG-INFO
ADDED
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: tagteam
|
|
3
|
+
Version: 0.3.0
|
|
4
|
+
Summary: A collaboration framework for structured AI-to-AI handoffs with human oversight
|
|
5
|
+
License: MIT
|
|
6
|
+
Project-URL: Homepage, https://github.com/jblacketter/tagteam
|
|
7
|
+
Project-URL: Documentation, https://github.com/jblacketter/tagteam#readme
|
|
8
|
+
Project-URL: Repository, https://github.com/jblacketter/tagteam
|
|
9
|
+
Classifier: Development Status :: 3 - Alpha
|
|
10
|
+
Classifier: Intended Audience :: Developers
|
|
11
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
12
|
+
Classifier: Programming Language :: Python :: 3
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
17
|
+
Requires-Python: >=3.10
|
|
18
|
+
Description-Content-Type: text/markdown
|
|
19
|
+
Requires-Dist: pyyaml>=6.0
|
|
20
|
+
Provides-Extra: tui
|
|
21
|
+
Requires-Dist: textual>=1.0.0; extra == "tui"
|
|
22
|
+
|
|
23
|
+
# Tagteam
|
|
24
|
+
|
|
25
|
+
A collaboration framework for structured AI-to-AI handoffs with human oversight. One AI leads, another reviews, and you arbitrate — the whole cycle runs phase by phase from a roadmap.
|
|
26
|
+
|
|
27
|
+
## How it works
|
|
28
|
+
|
|
29
|
+
- **Lead** (one AI agent) plans each phase and implements the approved plan.
|
|
30
|
+
- **Reviewer** (a second AI agent) reviews both the plan and the implementation.
|
|
31
|
+
- **Arbiter** (you, the human) breaks ties and approves phases.
|
|
32
|
+
|
|
33
|
+
Work progresses phase by phase. Each phase is listed in `docs/roadmap.md` and goes through two review cycles: plan, then implementation. If the two agents can't make progress in 10 rounds, control escalates to the human arbiter.
|
|
34
|
+
|
|
35
|
+
State is tracked in `handoff-state.json` (current turn) and `docs/handoffs/<phase>_<type>_rounds.jsonl` + `_status.json` (per-cycle rounds). Either agent can pick up where the other left off at any time.
|
|
36
|
+
|
|
37
|
+
## Quick Start
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
pip install git+https://github.com/jblacketter/tagteam.git
|
|
41
|
+
cd ~/projects/myproject
|
|
42
|
+
tagteam quickstart
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
You'll be prompted for your two agent names, then quickstart sets up the workspace and starts a handoff session. It auto-detects the best terminal backend available on your machine:
|
|
46
|
+
|
|
47
|
+
- **iTerm2** (macOS, default when iTerm2 is installed) — opens three labeled tabs in a single window, auto-launching iTerm2 if it isn't already running.
|
|
48
|
+
- **tmux** (Linux, WSL, or macOS without iTerm2) — creates one `tmux` session with three labeled panes.
|
|
49
|
+
- **manual** (anywhere else, including Windows without WSL) — prints the three commands for you to run in terminals you open yourself.
|
|
50
|
+
|
|
51
|
+
When quickstart finishes it prints what to paste into the Lead and Reviewer agents to kick off the first handoff. Override the auto-detection with `--backend iterm2|tmux|manual` if you need a specific one.
|
|
52
|
+
|
|
53
|
+
## Running a handoff
|
|
54
|
+
|
|
55
|
+
**Single phase** — start a plan review, let the watcher handle the back-and-forth, and stop when the phase completes.
|
|
56
|
+
|
|
57
|
+
```text
|
|
58
|
+
/handoff start my-phase
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
**Full roadmap** — run all incomplete phases end-to-end.
|
|
62
|
+
|
|
63
|
+
```text
|
|
64
|
+
/handoff start --roadmap
|
|
65
|
+
/handoff start --roadmap api-gateway
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
| Command | Purpose | Who |
|
|
69
|
+
| ------------------------------- | ----------------------------------------------- | ---- |
|
|
70
|
+
| `/handoff` | Auto-detects role + state, does the right thing | Both |
|
|
71
|
+
| `/handoff start [phase]` | Begin a new phase (plan + review cycle) | Lead |
|
|
72
|
+
| `/handoff start [phase] impl` | Begin implementation review for a phase | Lead |
|
|
73
|
+
| `/handoff status` | Orientation, status check, drift reset | Both |
|
|
74
|
+
|
|
75
|
+
**Human-in-the-loop** — add `--confirm` to pause for approval before each automatic send.
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
tagteam watch --mode notify --confirm
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## Other platforms
|
|
82
|
+
|
|
83
|
+
<details>
|
|
84
|
+
<summary>tmux (explicit invocation)</summary>
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
tagteam quickstart --backend tmux
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
Creates one `tmux` session named `tagteam` with three labeled panes (Lead, Watcher, Reviewer). Attach later with `tmux attach -t tagteam`.
|
|
91
|
+
|
|
92
|
+
</details>
|
|
93
|
+
|
|
94
|
+
<details>
|
|
95
|
+
<summary>Windows / manual fallback</summary>
|
|
96
|
+
|
|
97
|
+
On Windows without WSL, terminal automation isn't available. Quickstart prints the commands for you to run yourself in three terminals:
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
tagteam quickstart --backend manual
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
You can also run each step individually:
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
tagteam setup
|
|
107
|
+
tagteam init
|
|
108
|
+
tagteam session start --backend manual
|
|
109
|
+
tagteam watch --mode notify
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
For full automation on Windows today, use WSL with `tmux`.
|
|
113
|
+
|
|
114
|
+
</details>
|
|
115
|
+
|
|
116
|
+
<details>
|
|
117
|
+
<summary>Advanced setup (run each step yourself)</summary>
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
tagteam setup # copy skills, templates, docs
|
|
121
|
+
tagteam init # interactive agent config → tagteam.yaml
|
|
122
|
+
tagteam session start # create terminals and auto-launch agents
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
Options:
|
|
126
|
+
|
|
127
|
+
- `tagteam session start --no-launch` — create terminals but don't start agents
|
|
128
|
+
- `tagteam session start --backend <name>` — force a specific backend
|
|
129
|
+
- `tagteam session kill` — close the current session
|
|
130
|
+
|
|
131
|
+
> **Manual mode:** you can always run handoffs without any automation by pasting `/handoff` output between agents yourself.
|
|
132
|
+
|
|
133
|
+
</details>
|
|
134
|
+
|
|
135
|
+
## The Saloon
|
|
136
|
+
|
|
137
|
+
A graphical dashboard for monitoring and controlling handoff cycles:
|
|
138
|
+
|
|
139
|
+
```bash
|
|
140
|
+
tagteam serve --dir ~/projects/myproject
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
## Configuration
|
|
144
|
+
|
|
145
|
+
Agents are defined in `tagteam.yaml`:
|
|
146
|
+
|
|
147
|
+
```yaml
|
|
148
|
+
agents:
|
|
149
|
+
lead:
|
|
150
|
+
name: claude
|
|
151
|
+
command: claude
|
|
152
|
+
reviewer:
|
|
153
|
+
name: codex
|
|
154
|
+
command: codex
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
## CLI Reference
|
|
158
|
+
|
|
159
|
+
```bash
|
|
160
|
+
tagteam quickstart # Setup + init + session start
|
|
161
|
+
tagteam session start # Auto-detect backend, launch agents
|
|
162
|
+
tagteam session start --backend manual # Force manual backend
|
|
163
|
+
tagteam session start --no-launch # Create terminals, skip agent launch
|
|
164
|
+
tagteam session kill
|
|
165
|
+
tagteam init
|
|
166
|
+
tagteam setup
|
|
167
|
+
tagteam state
|
|
168
|
+
tagteam state diagnose
|
|
169
|
+
tagteam watch --mode notify
|
|
170
|
+
tagteam roadmap phases
|
|
171
|
+
tagteam serve --dir .
|
|
172
|
+
tagteam upgrade
|
|
173
|
+
tagteam --help
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
## License
|
|
177
|
+
|
|
178
|
+
MIT
|
tagteam-0.3.0/README.md
ADDED
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
# Tagteam
|
|
2
|
+
|
|
3
|
+
A collaboration framework for structured AI-to-AI handoffs with human oversight. One AI leads, another reviews, and you arbitrate — the whole cycle runs phase by phase from a roadmap.
|
|
4
|
+
|
|
5
|
+
## How it works
|
|
6
|
+
|
|
7
|
+
- **Lead** (one AI agent) plans each phase and implements the approved plan.
|
|
8
|
+
- **Reviewer** (a second AI agent) reviews both the plan and the implementation.
|
|
9
|
+
- **Arbiter** (you, the human) breaks ties and approves phases.
|
|
10
|
+
|
|
11
|
+
Work progresses phase by phase. Each phase is listed in `docs/roadmap.md` and goes through two review cycles: plan, then implementation. If the two agents can't make progress in 10 rounds, control escalates to the human arbiter.
|
|
12
|
+
|
|
13
|
+
State is tracked in `handoff-state.json` (current turn) and `docs/handoffs/<phase>_<type>_rounds.jsonl` + `_status.json` (per-cycle rounds). Either agent can pick up where the other left off at any time.
|
|
14
|
+
|
|
15
|
+
## Quick Start
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
pip install git+https://github.com/jblacketter/tagteam.git
|
|
19
|
+
cd ~/projects/myproject
|
|
20
|
+
tagteam quickstart
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
You'll be prompted for your two agent names, then quickstart sets up the workspace and starts a handoff session. It auto-detects the best terminal backend available on your machine:
|
|
24
|
+
|
|
25
|
+
- **iTerm2** (macOS, default when iTerm2 is installed) — opens three labeled tabs in a single window, auto-launching iTerm2 if it isn't already running.
|
|
26
|
+
- **tmux** (Linux, WSL, or macOS without iTerm2) — creates one `tmux` session with three labeled panes.
|
|
27
|
+
- **manual** (anywhere else, including Windows without WSL) — prints the three commands for you to run in terminals you open yourself.
|
|
28
|
+
|
|
29
|
+
When quickstart finishes it prints what to paste into the Lead and Reviewer agents to kick off the first handoff. Override the auto-detection with `--backend iterm2|tmux|manual` if you need a specific one.
|
|
30
|
+
|
|
31
|
+
## Running a handoff
|
|
32
|
+
|
|
33
|
+
**Single phase** — start a plan review, let the watcher handle the back-and-forth, and stop when the phase completes.
|
|
34
|
+
|
|
35
|
+
```text
|
|
36
|
+
/handoff start my-phase
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
**Full roadmap** — run all incomplete phases end-to-end.
|
|
40
|
+
|
|
41
|
+
```text
|
|
42
|
+
/handoff start --roadmap
|
|
43
|
+
/handoff start --roadmap api-gateway
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
| Command | Purpose | Who |
|
|
47
|
+
| ------------------------------- | ----------------------------------------------- | ---- |
|
|
48
|
+
| `/handoff` | Auto-detects role + state, does the right thing | Both |
|
|
49
|
+
| `/handoff start [phase]` | Begin a new phase (plan + review cycle) | Lead |
|
|
50
|
+
| `/handoff start [phase] impl` | Begin implementation review for a phase | Lead |
|
|
51
|
+
| `/handoff status` | Orientation, status check, drift reset | Both |
|
|
52
|
+
|
|
53
|
+
**Human-in-the-loop** — add `--confirm` to pause for approval before each automatic send.
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
tagteam watch --mode notify --confirm
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## Other platforms
|
|
60
|
+
|
|
61
|
+
<details>
|
|
62
|
+
<summary>tmux (explicit invocation)</summary>
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
tagteam quickstart --backend tmux
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Creates one `tmux` session named `tagteam` with three labeled panes (Lead, Watcher, Reviewer). Attach later with `tmux attach -t tagteam`.
|
|
69
|
+
|
|
70
|
+
</details>
|
|
71
|
+
|
|
72
|
+
<details>
|
|
73
|
+
<summary>Windows / manual fallback</summary>
|
|
74
|
+
|
|
75
|
+
On Windows without WSL, terminal automation isn't available. Quickstart prints the commands for you to run yourself in three terminals:
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
tagteam quickstart --backend manual
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
You can also run each step individually:
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
tagteam setup
|
|
85
|
+
tagteam init
|
|
86
|
+
tagteam session start --backend manual
|
|
87
|
+
tagteam watch --mode notify
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
For full automation on Windows today, use WSL with `tmux`.
|
|
91
|
+
|
|
92
|
+
</details>
|
|
93
|
+
|
|
94
|
+
<details>
|
|
95
|
+
<summary>Advanced setup (run each step yourself)</summary>
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
tagteam setup # copy skills, templates, docs
|
|
99
|
+
tagteam init # interactive agent config → tagteam.yaml
|
|
100
|
+
tagteam session start # create terminals and auto-launch agents
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
Options:
|
|
104
|
+
|
|
105
|
+
- `tagteam session start --no-launch` — create terminals but don't start agents
|
|
106
|
+
- `tagteam session start --backend <name>` — force a specific backend
|
|
107
|
+
- `tagteam session kill` — close the current session
|
|
108
|
+
|
|
109
|
+
> **Manual mode:** you can always run handoffs without any automation by pasting `/handoff` output between agents yourself.
|
|
110
|
+
|
|
111
|
+
</details>
|
|
112
|
+
|
|
113
|
+
## The Saloon
|
|
114
|
+
|
|
115
|
+
A graphical dashboard for monitoring and controlling handoff cycles:
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
tagteam serve --dir ~/projects/myproject
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
## Configuration
|
|
122
|
+
|
|
123
|
+
Agents are defined in `tagteam.yaml`:
|
|
124
|
+
|
|
125
|
+
```yaml
|
|
126
|
+
agents:
|
|
127
|
+
lead:
|
|
128
|
+
name: claude
|
|
129
|
+
command: claude
|
|
130
|
+
reviewer:
|
|
131
|
+
name: codex
|
|
132
|
+
command: codex
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
## CLI Reference
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
tagteam quickstart # Setup + init + session start
|
|
139
|
+
tagteam session start # Auto-detect backend, launch agents
|
|
140
|
+
tagteam session start --backend manual # Force manual backend
|
|
141
|
+
tagteam session start --no-launch # Create terminals, skip agent launch
|
|
142
|
+
tagteam session kill
|
|
143
|
+
tagteam init
|
|
144
|
+
tagteam setup
|
|
145
|
+
tagteam state
|
|
146
|
+
tagteam state diagnose
|
|
147
|
+
tagteam watch --mode notify
|
|
148
|
+
tagteam roadmap phases
|
|
149
|
+
tagteam serve --dir .
|
|
150
|
+
tagteam upgrade
|
|
151
|
+
tagteam --help
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
## License
|
|
155
|
+
|
|
156
|
+
MIT
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=61.0", "wheel"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "tagteam"
|
|
7
|
+
version = "0.3.0"
|
|
8
|
+
description = "A collaboration framework for structured AI-to-AI handoffs with human oversight"
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
license = {text = "MIT"}
|
|
11
|
+
requires-python = ">=3.10"
|
|
12
|
+
dependencies = [
|
|
13
|
+
"pyyaml>=6.0",
|
|
14
|
+
]
|
|
15
|
+
classifiers = [
|
|
16
|
+
"Development Status :: 3 - Alpha",
|
|
17
|
+
"Intended Audience :: Developers",
|
|
18
|
+
"License :: OSI Approved :: MIT License",
|
|
19
|
+
"Programming Language :: Python :: 3",
|
|
20
|
+
"Programming Language :: Python :: 3.10",
|
|
21
|
+
"Programming Language :: Python :: 3.11",
|
|
22
|
+
"Programming Language :: Python :: 3.12",
|
|
23
|
+
"Programming Language :: Python :: 3.13",
|
|
24
|
+
]
|
|
25
|
+
|
|
26
|
+
[project.optional-dependencies]
|
|
27
|
+
tui = ["textual>=1.0.0"]
|
|
28
|
+
|
|
29
|
+
[project.scripts]
|
|
30
|
+
tagteam = "tagteam.cli:main"
|
|
31
|
+
tagteam-setup = "tagteam.setup:cli"
|
|
32
|
+
|
|
33
|
+
[project.urls]
|
|
34
|
+
Homepage = "https://github.com/jblacketter/tagteam"
|
|
35
|
+
Documentation = "https://github.com/jblacketter/tagteam#readme"
|
|
36
|
+
Repository = "https://github.com/jblacketter/tagteam"
|
|
37
|
+
|
|
38
|
+
[tool.pytest.ini_options]
|
|
39
|
+
testpaths = ["tests"]
|
|
40
|
+
|
|
41
|
+
[tool.setuptools]
|
|
42
|
+
packages = ["tagteam", "tagteam.tui", "tagteam.tui.art", "tagteam.tui.conversations"]
|
|
43
|
+
include-package-data = true
|
|
44
|
+
|
|
45
|
+
[tool.setuptools.package-data]
|
|
46
|
+
tagteam = [
|
|
47
|
+
"data/.claude/skills/*.md",
|
|
48
|
+
"data/.claude/skills/**/*.md",
|
|
49
|
+
"data/templates/*.md",
|
|
50
|
+
"data/checklists/*.md",
|
|
51
|
+
"data/*.md",
|
|
52
|
+
"data/web/*.html",
|
|
53
|
+
"data/web/*.css",
|
|
54
|
+
"data/web/*.js",
|
|
55
|
+
"tui/sounds/*.wav",
|
|
56
|
+
]
|
tagteam-0.3.0/setup.cfg
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Tagteam
|
|
3
|
+
|
|
4
|
+
A collaboration framework for structured AI-to-AI handoffs with human oversight.
|
|
5
|
+
Configure your lead and reviewer agents via tagteam.yaml.
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
from importlib.metadata import PackageNotFoundError, version as _pkg_version
|
|
9
|
+
|
|
10
|
+
try:
|
|
11
|
+
__version__ = _pkg_version("tagteam")
|
|
12
|
+
except PackageNotFoundError:
|
|
13
|
+
__version__ = "0.0.0+unknown"
|