coprogrammer 0.1.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.
- coprogrammer-0.1.0/LICENSE +21 -0
- coprogrammer-0.1.0/PKG-INFO +250 -0
- coprogrammer-0.1.0/README.md +209 -0
- coprogrammer-0.1.0/pyproject.toml +33 -0
- coprogrammer-0.1.0/setup.cfg +4 -0
- coprogrammer-0.1.0/src/coprogrammer/__init__.py +5 -0
- coprogrammer-0.1.0/src/coprogrammer/__main__.py +5 -0
- coprogrammer-0.1.0/src/coprogrammer/cli.py +1875 -0
- coprogrammer-0.1.0/src/coprogrammer/mcp_server.py +371 -0
- coprogrammer-0.1.0/src/coprogrammer.egg-info/PKG-INFO +250 -0
- coprogrammer-0.1.0/src/coprogrammer.egg-info/SOURCES.txt +13 -0
- coprogrammer-0.1.0/src/coprogrammer.egg-info/dependency_links.txt +1 -0
- coprogrammer-0.1.0/src/coprogrammer.egg-info/entry_points.txt +2 -0
- coprogrammer-0.1.0/src/coprogrammer.egg-info/top_level.txt +1 -0
- coprogrammer-0.1.0/tests/test_cli.py +766 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Qiu Guanzong
|
|
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.
|
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: coprogrammer
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: Open protocol and toolkit for semantic integration in multi-agent software development.
|
|
5
|
+
Author: Qiu Guanzong
|
|
6
|
+
License: MIT License
|
|
7
|
+
|
|
8
|
+
Copyright (c) 2026 Qiu Guanzong
|
|
9
|
+
|
|
10
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
11
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
12
|
+
in the Software without restriction, including without limitation the rights
|
|
13
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
14
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
15
|
+
furnished to do so, subject to the following conditions:
|
|
16
|
+
|
|
17
|
+
The above copyright notice and this permission notice shall be included in all
|
|
18
|
+
copies or substantial portions of the Software.
|
|
19
|
+
|
|
20
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
21
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
22
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
23
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
24
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
25
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
26
|
+
SOFTWARE.
|
|
27
|
+
|
|
28
|
+
Project-URL: Homepage, https://github.com/QIU-Guanzong/CoProgrammer
|
|
29
|
+
Project-URL: Repository, https://github.com/QIU-Guanzong/CoProgrammer
|
|
30
|
+
Project-URL: Issues, https://github.com/QIU-Guanzong/CoProgrammer/issues
|
|
31
|
+
Keywords: ai,software-development,multi-agent,merge,code-review
|
|
32
|
+
Classifier: Development Status :: 2 - Pre-Alpha
|
|
33
|
+
Classifier: Intended Audience :: Developers
|
|
34
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
35
|
+
Classifier: Programming Language :: Python :: 3
|
|
36
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
37
|
+
Requires-Python: >=3.10
|
|
38
|
+
Description-Content-Type: text/markdown
|
|
39
|
+
License-File: LICENSE
|
|
40
|
+
Dynamic: license-file
|
|
41
|
+
|
|
42
|
+
# CoProgrammer
|
|
43
|
+
|
|
44
|
+
CoProgrammer is an open protocol and toolkit for multi-agent software
|
|
45
|
+
development in the AI coding era.
|
|
46
|
+
|
|
47
|
+
CoProgrammer 同时支持中文团队协作场景:PR 分支消化报告可以用
|
|
48
|
+
`zh-CN` 输出,也可以通过仓库变量切回英文。
|
|
49
|
+
|
|
50
|
+
The project starts from one practical belief:
|
|
51
|
+
|
|
52
|
+
> AI-era merging is not only a text conflict problem. It is a semantic
|
|
53
|
+
> integration problem.
|
|
54
|
+
|
|
55
|
+
When several humans and AI agents work in parallel, the hard part is no longer
|
|
56
|
+
choosing one side of a merge conflict. The hard part is understanding what each
|
|
57
|
+
branch learned, preserving the useful insight, discarding noise, and rebuilding
|
|
58
|
+
the smallest safe patch on top of the current main branch.
|
|
59
|
+
|
|
60
|
+
## Where CoProgrammer Sits
|
|
61
|
+
|
|
62
|
+
CoProgrammer is **not** another parallel-agent orchestrator. It is the missing
|
|
63
|
+
layer between orchestrators and the merge queue:
|
|
64
|
+
|
|
65
|
+
```text
|
|
66
|
+
UPSTREAM agent runtimes & orchestrators
|
|
67
|
+
(Conductor, Sculptor, Vibe Kanban, Claude Squad,
|
|
68
|
+
Codex, Copilot Cloud Agent, OpenHands, ...)
|
|
69
|
+
→ produce parallel branches
|
|
70
|
+
│
|
|
71
|
+
COPROGRAMMER integration & governance layer
|
|
72
|
+
protocol → telemetry → conflict forecast →
|
|
73
|
+
branch digest → integration plan →
|
|
74
|
+
minimal patch → integration record → policy update
|
|
75
|
+
│
|
|
76
|
+
DOWNSTREAM landing infrastructure
|
|
77
|
+
(Merge Queue / Merge Trains / Mergify / Graphite,
|
|
78
|
+
CI, CODEOWNERS, branch protection)
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Orchestrators solve "run N agents in parallel without stepping on each other."
|
|
82
|
+
CoProgrammer solves "when N branches come back, decide what deserves to reach
|
|
83
|
+
`main`, and rebuild it safely under main-branch constraints." See
|
|
84
|
+
`docs/ORCHESTRATOR_INTEGRATION.md` for concrete hookup recipes.
|
|
85
|
+
|
|
86
|
+
## Core Loop
|
|
87
|
+
|
|
88
|
+
CoProgrammer organizes collaboration as a continuous loop:
|
|
89
|
+
|
|
90
|
+
1. **Protocol before coding**: define main-branch principles, module
|
|
91
|
+
boundaries, shared contracts, protected files, and agent permissions.
|
|
92
|
+
2. **Telemetry during coding**: agents publish heartbeats, contract changes,
|
|
93
|
+
current file ownership, experiments, and blockers.
|
|
94
|
+
3. **Digest after coding**: a feature branch is summarized by intent, core
|
|
95
|
+
contribution, noise, contract changes, risks, and integration plan.
|
|
96
|
+
4. **Semantic integration**: instead of directly merging a large AI branch, an
|
|
97
|
+
integration patch is rebuilt from latest `main` under main-branch
|
|
98
|
+
constraints.
|
|
99
|
+
5. **Validation and feedback**: tests, contract checks, owner review, and merge
|
|
100
|
+
records update the protocol for the next cycle.
|
|
101
|
+
|
|
102
|
+
## Repository Map
|
|
103
|
+
|
|
104
|
+
```text
|
|
105
|
+
.
|
|
106
|
+
├── docs/ Research route, framework, and MVP design
|
|
107
|
+
├── protocols/ Human-readable collaboration protocols
|
|
108
|
+
├── research/ Structured research leads and prior-art data
|
|
109
|
+
├── schemas/ JSON schemas for machine-readable agent artifacts
|
|
110
|
+
├── templates/ Task, heartbeat, digest, and integration templates
|
|
111
|
+
├── src/coprogrammer/ First CLI scaffold
|
|
112
|
+
├── tests/ Unit tests for the CLI scaffold
|
|
113
|
+
├── AGENTS.md Minimal stable instructions for coding agents
|
|
114
|
+
├── .coprogrammer.json Project policy config
|
|
115
|
+
└── .github/ PR template, issue templates, CI, and PR digest workflow
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
Start with:
|
|
119
|
+
|
|
120
|
+
- `docs/COORDINATION_LIFECYCLE.md` for the before/during/after collaboration
|
|
121
|
+
loop: project covenant, Manager Plane synchronization, and post-PR semantic
|
|
122
|
+
integration;
|
|
123
|
+
- `docs/ECOSYSTEM_EXTENSION_STRATEGY.md` for the research method and MCP,
|
|
124
|
+
skill, plugin, GitHub automation, and open-source library integration plan;
|
|
125
|
+
- `docs/PLUGIN_QUICKSTART.md` for installing and using the repo-local
|
|
126
|
+
CoProgrammer Codex plugin;
|
|
127
|
+
- `docs/COMPREHENSIVE_RESEARCH_PLAN.md` for the research program and six-week sprint;
|
|
128
|
+
- `docs/RESEARCH_UPDATE_2026-05-25.md` for the latest Manager Plane evidence update;
|
|
129
|
+
- `docs/RESEARCH_PROTOCOL.md` for how to capture and evaluate research leads;
|
|
130
|
+
- `docs/FAILURE_TAXONOMY.md` for the failure modes CoProgrammer targets;
|
|
131
|
+
- `docs/RESEARCH_LANDSCAPE.md` for current tool landscape and gaps;
|
|
132
|
+
- `docs/OPEN_SOURCE_SCAN.md` for adjacent open-source projects and reusable features;
|
|
133
|
+
- `docs/FEATURE_GAP_MATRIX.md` for product-level comparison;
|
|
134
|
+
- `docs/DISCUSSIONS.md` for discussion categories and research intake;
|
|
135
|
+
- `docs/ARCHITECTURE.md` for the system architecture;
|
|
136
|
+
- `docs/MANAGER_PLANE.md` for the cloud/self-hosted control plane hypothesis;
|
|
137
|
+
- `docs/MANAGER_API_SKETCH.md` for the first Manager API surface;
|
|
138
|
+
- `docs/EVENT_LOG_PROTOTYPE.md` for the local Manager Plane prototype;
|
|
139
|
+
- `docs/AGENT_RUNTIME_INTEROP.md` for integrating with Codex, Copilot, OpenHands, and other runtimes;
|
|
140
|
+
- `docs/CONTEXT_FILE_STRATEGY.md` for keeping `AGENTS.md` small and structured state separate;
|
|
141
|
+
- `docs/INTEGRATION_PATCH_DESIGN.md` for the minimal-patch reconstruction design;
|
|
142
|
+
- `docs/MODEL_ROUTING_POLICY.md` for routing simple work to `codex-5.3` and high-risk work to review;
|
|
143
|
+
- `docs/HIGH_STAR_PROJECT_SCAN_2026-05-26.md` for high-star project patterns to borrow;
|
|
144
|
+
- `docs/FRAMEWORK.md` for the research framework;
|
|
145
|
+
- `docs/ORCHESTRATOR_INTEGRATION.md` for feeding Conductor, Sculptor, Vibe
|
|
146
|
+
Kanban, and cloud-agent branches into CoProgrammer;
|
|
147
|
+
- `docs/STRATEGY_MEMO_2026-06-10.md` for the latest positioning and priority
|
|
148
|
+
decisions;
|
|
149
|
+
- `docs/EVAL_PLAN.md` for the AgenticFlict-based evaluation plan;
|
|
150
|
+
- `ACKNOWLEDGMENTS.md` for the projects we learn from and how we credit them.
|
|
151
|
+
|
|
152
|
+
## Install (pick your surface)
|
|
153
|
+
|
|
154
|
+
CoProgrammer ships one core through several thin wrappers — use whichever
|
|
155
|
+
your stack already speaks (details: `docs/DISTRIBUTION_STRATEGY.md`):
|
|
156
|
+
|
|
157
|
+
**MCP server** (Claude Code, Codex, Cursor, any MCP client):
|
|
158
|
+
|
|
159
|
+
```json
|
|
160
|
+
{ "mcpServers": { "coprogrammer": {
|
|
161
|
+
"command": "uvx", "args": ["coprogrammer", "mcp", "serve"] } } }
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
Tools exposed: `digest_branch`, `manager_status`, `manager_forecast`,
|
|
165
|
+
`lease_request`, `heartbeat`, `contract_propose`.
|
|
166
|
+
|
|
167
|
+
**Agent Skills** (SKILL.md open standard — Claude Code, Codex CLI, Gemini
|
|
168
|
+
CLI, Copilot, Cursor, 35+ tools): copy `plugins/coprogrammer/skills/*` into
|
|
169
|
+
your agent's skills directory.
|
|
170
|
+
|
|
171
|
+
**GitHub Action** (PR branch digest, zero setup):
|
|
172
|
+
|
|
173
|
+
```yaml
|
|
174
|
+
- uses: actions/checkout@v4
|
|
175
|
+
with: { fetch-depth: 0 }
|
|
176
|
+
- uses: QIU-Guanzong/CoProgrammer@v0
|
|
177
|
+
with: { language: zh-CN }
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
**CLI**: `pipx install coprogrammer` (or from source:
|
|
181
|
+
`python -m pip install -e .`).
|
|
182
|
+
|
|
183
|
+
**Codex plugin**: `codex plugin marketplace add <this repo>` — see
|
|
184
|
+
`docs/PLUGIN_QUICKSTART.md`.
|
|
185
|
+
|
|
186
|
+
## First MVP
|
|
187
|
+
|
|
188
|
+
The first useful version is a **Branch Digest Bot**:
|
|
189
|
+
|
|
190
|
+
- reads a PR diff and commit history;
|
|
191
|
+
- detects contract-sensitive files and architecture risk signals;
|
|
192
|
+
- generates a branch digest draft;
|
|
193
|
+
- asks reviewers to approve an integration plan before merging;
|
|
194
|
+
- keeps direct AI-generated mega-branches out of `main`.
|
|
195
|
+
|
|
196
|
+
The first GitHub Actions version is included in
|
|
197
|
+
`.github/workflows/pr-digest.yml`. It generates `branch-digest.md`, uploads it
|
|
198
|
+
as an artifact, and updates a stable PR comment for same-repository PRs.
|
|
199
|
+
|
|
200
|
+
This repository already contains a minimal local CLI prototype:
|
|
201
|
+
|
|
202
|
+
```bash
|
|
203
|
+
python -m coprogrammer digest --base origin/main --head HEAD --output branch-digest.md
|
|
204
|
+
python -m coprogrammer digest --base origin/main --head HEAD --language zh-CN
|
|
205
|
+
python -m coprogrammer digest --base origin/main --working-tree
|
|
206
|
+
python -m coprogrammer config validate
|
|
207
|
+
python -m coprogrammer agents check
|
|
208
|
+
python -m coprogrammer manifest validate templates/change-manifest.json
|
|
209
|
+
python -m coprogrammer integration-plan validate templates/integration-plan.json
|
|
210
|
+
python -m coprogrammer heartbeat new --agent agent-a --task "Implement login API"
|
|
211
|
+
python -m coprogrammer manager lease request --holder agent-a --pattern "src/api/**"
|
|
212
|
+
python -m coprogrammer manager contract propose --proposer agent-a --kind api --name "POST /login" --summary "Add login endpoint"
|
|
213
|
+
python -m coprogrammer manager forecast --base origin/main --fail-on-conflict
|
|
214
|
+
python -m coprogrammer manager status
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
Language can also be controlled by `COPROGRAMMER_LANGUAGE=en|zh-CN`.
|
|
218
|
+
|
|
219
|
+
For local development:
|
|
220
|
+
|
|
221
|
+
```bash
|
|
222
|
+
python -m pip install -e .
|
|
223
|
+
python -m unittest discover -s tests
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
## Project Goals
|
|
227
|
+
|
|
228
|
+
- Create an open protocol for AI-assisted multi-agent collaboration.
|
|
229
|
+
- Make branch intent, contracts, and insights first-class artifacts.
|
|
230
|
+
- Reduce merge conflicts by forecasting ownership and contract collisions early.
|
|
231
|
+
- Preserve useful experiments without merging noisy generated code.
|
|
232
|
+
- Help reviewers inspect integration plans instead of massive raw diffs.
|
|
233
|
+
|
|
234
|
+
## Non-Goals
|
|
235
|
+
|
|
236
|
+
- CoProgrammer is not a replacement for Git, GitHub, GitLab, or CI.
|
|
237
|
+
- CoProgrammer does not blindly auto-merge AI output.
|
|
238
|
+
- CoProgrammer does not treat formatting churn, dependency upgrades, and feature
|
|
239
|
+
logic as the same kind of change.
|
|
240
|
+
|
|
241
|
+
## Status
|
|
242
|
+
|
|
243
|
+
This is an early research and tooling scaffold. The current focus is:
|
|
244
|
+
|
|
245
|
+
1. protocol design;
|
|
246
|
+
2. branch digest format;
|
|
247
|
+
3. lightweight CLI;
|
|
248
|
+
4. GitHub Action integration;
|
|
249
|
+
5. project policy and risk scoring;
|
|
250
|
+
6. later: semantic integration bot and multi-agent orchestrator.
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
# CoProgrammer
|
|
2
|
+
|
|
3
|
+
CoProgrammer is an open protocol and toolkit for multi-agent software
|
|
4
|
+
development in the AI coding era.
|
|
5
|
+
|
|
6
|
+
CoProgrammer 同时支持中文团队协作场景:PR 分支消化报告可以用
|
|
7
|
+
`zh-CN` 输出,也可以通过仓库变量切回英文。
|
|
8
|
+
|
|
9
|
+
The project starts from one practical belief:
|
|
10
|
+
|
|
11
|
+
> AI-era merging is not only a text conflict problem. It is a semantic
|
|
12
|
+
> integration problem.
|
|
13
|
+
|
|
14
|
+
When several humans and AI agents work in parallel, the hard part is no longer
|
|
15
|
+
choosing one side of a merge conflict. The hard part is understanding what each
|
|
16
|
+
branch learned, preserving the useful insight, discarding noise, and rebuilding
|
|
17
|
+
the smallest safe patch on top of the current main branch.
|
|
18
|
+
|
|
19
|
+
## Where CoProgrammer Sits
|
|
20
|
+
|
|
21
|
+
CoProgrammer is **not** another parallel-agent orchestrator. It is the missing
|
|
22
|
+
layer between orchestrators and the merge queue:
|
|
23
|
+
|
|
24
|
+
```text
|
|
25
|
+
UPSTREAM agent runtimes & orchestrators
|
|
26
|
+
(Conductor, Sculptor, Vibe Kanban, Claude Squad,
|
|
27
|
+
Codex, Copilot Cloud Agent, OpenHands, ...)
|
|
28
|
+
→ produce parallel branches
|
|
29
|
+
│
|
|
30
|
+
COPROGRAMMER integration & governance layer
|
|
31
|
+
protocol → telemetry → conflict forecast →
|
|
32
|
+
branch digest → integration plan →
|
|
33
|
+
minimal patch → integration record → policy update
|
|
34
|
+
│
|
|
35
|
+
DOWNSTREAM landing infrastructure
|
|
36
|
+
(Merge Queue / Merge Trains / Mergify / Graphite,
|
|
37
|
+
CI, CODEOWNERS, branch protection)
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Orchestrators solve "run N agents in parallel without stepping on each other."
|
|
41
|
+
CoProgrammer solves "when N branches come back, decide what deserves to reach
|
|
42
|
+
`main`, and rebuild it safely under main-branch constraints." See
|
|
43
|
+
`docs/ORCHESTRATOR_INTEGRATION.md` for concrete hookup recipes.
|
|
44
|
+
|
|
45
|
+
## Core Loop
|
|
46
|
+
|
|
47
|
+
CoProgrammer organizes collaboration as a continuous loop:
|
|
48
|
+
|
|
49
|
+
1. **Protocol before coding**: define main-branch principles, module
|
|
50
|
+
boundaries, shared contracts, protected files, and agent permissions.
|
|
51
|
+
2. **Telemetry during coding**: agents publish heartbeats, contract changes,
|
|
52
|
+
current file ownership, experiments, and blockers.
|
|
53
|
+
3. **Digest after coding**: a feature branch is summarized by intent, core
|
|
54
|
+
contribution, noise, contract changes, risks, and integration plan.
|
|
55
|
+
4. **Semantic integration**: instead of directly merging a large AI branch, an
|
|
56
|
+
integration patch is rebuilt from latest `main` under main-branch
|
|
57
|
+
constraints.
|
|
58
|
+
5. **Validation and feedback**: tests, contract checks, owner review, and merge
|
|
59
|
+
records update the protocol for the next cycle.
|
|
60
|
+
|
|
61
|
+
## Repository Map
|
|
62
|
+
|
|
63
|
+
```text
|
|
64
|
+
.
|
|
65
|
+
├── docs/ Research route, framework, and MVP design
|
|
66
|
+
├── protocols/ Human-readable collaboration protocols
|
|
67
|
+
├── research/ Structured research leads and prior-art data
|
|
68
|
+
├── schemas/ JSON schemas for machine-readable agent artifacts
|
|
69
|
+
├── templates/ Task, heartbeat, digest, and integration templates
|
|
70
|
+
├── src/coprogrammer/ First CLI scaffold
|
|
71
|
+
├── tests/ Unit tests for the CLI scaffold
|
|
72
|
+
├── AGENTS.md Minimal stable instructions for coding agents
|
|
73
|
+
├── .coprogrammer.json Project policy config
|
|
74
|
+
└── .github/ PR template, issue templates, CI, and PR digest workflow
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Start with:
|
|
78
|
+
|
|
79
|
+
- `docs/COORDINATION_LIFECYCLE.md` for the before/during/after collaboration
|
|
80
|
+
loop: project covenant, Manager Plane synchronization, and post-PR semantic
|
|
81
|
+
integration;
|
|
82
|
+
- `docs/ECOSYSTEM_EXTENSION_STRATEGY.md` for the research method and MCP,
|
|
83
|
+
skill, plugin, GitHub automation, and open-source library integration plan;
|
|
84
|
+
- `docs/PLUGIN_QUICKSTART.md` for installing and using the repo-local
|
|
85
|
+
CoProgrammer Codex plugin;
|
|
86
|
+
- `docs/COMPREHENSIVE_RESEARCH_PLAN.md` for the research program and six-week sprint;
|
|
87
|
+
- `docs/RESEARCH_UPDATE_2026-05-25.md` for the latest Manager Plane evidence update;
|
|
88
|
+
- `docs/RESEARCH_PROTOCOL.md` for how to capture and evaluate research leads;
|
|
89
|
+
- `docs/FAILURE_TAXONOMY.md` for the failure modes CoProgrammer targets;
|
|
90
|
+
- `docs/RESEARCH_LANDSCAPE.md` for current tool landscape and gaps;
|
|
91
|
+
- `docs/OPEN_SOURCE_SCAN.md` for adjacent open-source projects and reusable features;
|
|
92
|
+
- `docs/FEATURE_GAP_MATRIX.md` for product-level comparison;
|
|
93
|
+
- `docs/DISCUSSIONS.md` for discussion categories and research intake;
|
|
94
|
+
- `docs/ARCHITECTURE.md` for the system architecture;
|
|
95
|
+
- `docs/MANAGER_PLANE.md` for the cloud/self-hosted control plane hypothesis;
|
|
96
|
+
- `docs/MANAGER_API_SKETCH.md` for the first Manager API surface;
|
|
97
|
+
- `docs/EVENT_LOG_PROTOTYPE.md` for the local Manager Plane prototype;
|
|
98
|
+
- `docs/AGENT_RUNTIME_INTEROP.md` for integrating with Codex, Copilot, OpenHands, and other runtimes;
|
|
99
|
+
- `docs/CONTEXT_FILE_STRATEGY.md` for keeping `AGENTS.md` small and structured state separate;
|
|
100
|
+
- `docs/INTEGRATION_PATCH_DESIGN.md` for the minimal-patch reconstruction design;
|
|
101
|
+
- `docs/MODEL_ROUTING_POLICY.md` for routing simple work to `codex-5.3` and high-risk work to review;
|
|
102
|
+
- `docs/HIGH_STAR_PROJECT_SCAN_2026-05-26.md` for high-star project patterns to borrow;
|
|
103
|
+
- `docs/FRAMEWORK.md` for the research framework;
|
|
104
|
+
- `docs/ORCHESTRATOR_INTEGRATION.md` for feeding Conductor, Sculptor, Vibe
|
|
105
|
+
Kanban, and cloud-agent branches into CoProgrammer;
|
|
106
|
+
- `docs/STRATEGY_MEMO_2026-06-10.md` for the latest positioning and priority
|
|
107
|
+
decisions;
|
|
108
|
+
- `docs/EVAL_PLAN.md` for the AgenticFlict-based evaluation plan;
|
|
109
|
+
- `ACKNOWLEDGMENTS.md` for the projects we learn from and how we credit them.
|
|
110
|
+
|
|
111
|
+
## Install (pick your surface)
|
|
112
|
+
|
|
113
|
+
CoProgrammer ships one core through several thin wrappers — use whichever
|
|
114
|
+
your stack already speaks (details: `docs/DISTRIBUTION_STRATEGY.md`):
|
|
115
|
+
|
|
116
|
+
**MCP server** (Claude Code, Codex, Cursor, any MCP client):
|
|
117
|
+
|
|
118
|
+
```json
|
|
119
|
+
{ "mcpServers": { "coprogrammer": {
|
|
120
|
+
"command": "uvx", "args": ["coprogrammer", "mcp", "serve"] } } }
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
Tools exposed: `digest_branch`, `manager_status`, `manager_forecast`,
|
|
124
|
+
`lease_request`, `heartbeat`, `contract_propose`.
|
|
125
|
+
|
|
126
|
+
**Agent Skills** (SKILL.md open standard — Claude Code, Codex CLI, Gemini
|
|
127
|
+
CLI, Copilot, Cursor, 35+ tools): copy `plugins/coprogrammer/skills/*` into
|
|
128
|
+
your agent's skills directory.
|
|
129
|
+
|
|
130
|
+
**GitHub Action** (PR branch digest, zero setup):
|
|
131
|
+
|
|
132
|
+
```yaml
|
|
133
|
+
- uses: actions/checkout@v4
|
|
134
|
+
with: { fetch-depth: 0 }
|
|
135
|
+
- uses: QIU-Guanzong/CoProgrammer@v0
|
|
136
|
+
with: { language: zh-CN }
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
**CLI**: `pipx install coprogrammer` (or from source:
|
|
140
|
+
`python -m pip install -e .`).
|
|
141
|
+
|
|
142
|
+
**Codex plugin**: `codex plugin marketplace add <this repo>` — see
|
|
143
|
+
`docs/PLUGIN_QUICKSTART.md`.
|
|
144
|
+
|
|
145
|
+
## First MVP
|
|
146
|
+
|
|
147
|
+
The first useful version is a **Branch Digest Bot**:
|
|
148
|
+
|
|
149
|
+
- reads a PR diff and commit history;
|
|
150
|
+
- detects contract-sensitive files and architecture risk signals;
|
|
151
|
+
- generates a branch digest draft;
|
|
152
|
+
- asks reviewers to approve an integration plan before merging;
|
|
153
|
+
- keeps direct AI-generated mega-branches out of `main`.
|
|
154
|
+
|
|
155
|
+
The first GitHub Actions version is included in
|
|
156
|
+
`.github/workflows/pr-digest.yml`. It generates `branch-digest.md`, uploads it
|
|
157
|
+
as an artifact, and updates a stable PR comment for same-repository PRs.
|
|
158
|
+
|
|
159
|
+
This repository already contains a minimal local CLI prototype:
|
|
160
|
+
|
|
161
|
+
```bash
|
|
162
|
+
python -m coprogrammer digest --base origin/main --head HEAD --output branch-digest.md
|
|
163
|
+
python -m coprogrammer digest --base origin/main --head HEAD --language zh-CN
|
|
164
|
+
python -m coprogrammer digest --base origin/main --working-tree
|
|
165
|
+
python -m coprogrammer config validate
|
|
166
|
+
python -m coprogrammer agents check
|
|
167
|
+
python -m coprogrammer manifest validate templates/change-manifest.json
|
|
168
|
+
python -m coprogrammer integration-plan validate templates/integration-plan.json
|
|
169
|
+
python -m coprogrammer heartbeat new --agent agent-a --task "Implement login API"
|
|
170
|
+
python -m coprogrammer manager lease request --holder agent-a --pattern "src/api/**"
|
|
171
|
+
python -m coprogrammer manager contract propose --proposer agent-a --kind api --name "POST /login" --summary "Add login endpoint"
|
|
172
|
+
python -m coprogrammer manager forecast --base origin/main --fail-on-conflict
|
|
173
|
+
python -m coprogrammer manager status
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
Language can also be controlled by `COPROGRAMMER_LANGUAGE=en|zh-CN`.
|
|
177
|
+
|
|
178
|
+
For local development:
|
|
179
|
+
|
|
180
|
+
```bash
|
|
181
|
+
python -m pip install -e .
|
|
182
|
+
python -m unittest discover -s tests
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
## Project Goals
|
|
186
|
+
|
|
187
|
+
- Create an open protocol for AI-assisted multi-agent collaboration.
|
|
188
|
+
- Make branch intent, contracts, and insights first-class artifacts.
|
|
189
|
+
- Reduce merge conflicts by forecasting ownership and contract collisions early.
|
|
190
|
+
- Preserve useful experiments without merging noisy generated code.
|
|
191
|
+
- Help reviewers inspect integration plans instead of massive raw diffs.
|
|
192
|
+
|
|
193
|
+
## Non-Goals
|
|
194
|
+
|
|
195
|
+
- CoProgrammer is not a replacement for Git, GitHub, GitLab, or CI.
|
|
196
|
+
- CoProgrammer does not blindly auto-merge AI output.
|
|
197
|
+
- CoProgrammer does not treat formatting churn, dependency upgrades, and feature
|
|
198
|
+
logic as the same kind of change.
|
|
199
|
+
|
|
200
|
+
## Status
|
|
201
|
+
|
|
202
|
+
This is an early research and tooling scaffold. The current focus is:
|
|
203
|
+
|
|
204
|
+
1. protocol design;
|
|
205
|
+
2. branch digest format;
|
|
206
|
+
3. lightweight CLI;
|
|
207
|
+
4. GitHub Action integration;
|
|
208
|
+
5. project policy and risk scoring;
|
|
209
|
+
6. later: semantic integration bot and multi-agent orchestrator.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=68"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "coprogrammer"
|
|
7
|
+
version = "0.1.0"
|
|
8
|
+
description = "Open protocol and toolkit for semantic integration in multi-agent software development."
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
requires-python = ">=3.10"
|
|
11
|
+
license = { file = "LICENSE" }
|
|
12
|
+
authors = [
|
|
13
|
+
{ name = "Qiu Guanzong" }
|
|
14
|
+
]
|
|
15
|
+
keywords = ["ai", "software-development", "multi-agent", "merge", "code-review"]
|
|
16
|
+
classifiers = [
|
|
17
|
+
"Development Status :: 2 - Pre-Alpha",
|
|
18
|
+
"Intended Audience :: Developers",
|
|
19
|
+
"License :: OSI Approved :: MIT License",
|
|
20
|
+
"Programming Language :: Python :: 3",
|
|
21
|
+
"Programming Language :: Python :: 3 :: Only",
|
|
22
|
+
]
|
|
23
|
+
|
|
24
|
+
[project.urls]
|
|
25
|
+
Homepage = "https://github.com/QIU-Guanzong/CoProgrammer"
|
|
26
|
+
Repository = "https://github.com/QIU-Guanzong/CoProgrammer"
|
|
27
|
+
Issues = "https://github.com/QIU-Guanzong/CoProgrammer/issues"
|
|
28
|
+
|
|
29
|
+
[project.scripts]
|
|
30
|
+
coprogrammer = "coprogrammer.cli:main"
|
|
31
|
+
|
|
32
|
+
[tool.setuptools.packages.find]
|
|
33
|
+
where = ["src"]
|