open-codev-workflow 0.1.0__tar.gz → 0.1.4__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.
- {open_codev_workflow-0.1.0/src/open_codev_workflow.egg-info → open_codev_workflow-0.1.4}/PKG-INFO +114 -8
- open_codev_workflow-0.1.4/README.md +227 -0
- {open_codev_workflow-0.1.0 → open_codev_workflow-0.1.4}/pyproject.toml +5 -2
- {open_codev_workflow-0.1.0 → open_codev_workflow-0.1.4}/src/codev_workflow/__init__.py +1 -1
- open_codev_workflow-0.1.4/src/codev_workflow/bundle/.agents/agents/builder.md +50 -0
- open_codev_workflow-0.1.4/src/codev_workflow/bundle/.agents/agents/orchestrator.md +62 -0
- open_codev_workflow-0.1.4/src/codev_workflow/bundle/.agents/agents/reviewer.md +34 -0
- open_codev_workflow-0.1.4/src/codev_workflow/bundle/.agents/skills/clean-code-review/SKILL.md +252 -0
- open_codev_workflow-0.1.4/src/codev_workflow/bundle/.agents/skills/clean-code-review/agents/openai.yaml +4 -0
- open_codev_workflow-0.1.4/src/codev_workflow/bundle/.agents/skills/critique-review/SKILL.md +83 -0
- open_codev_workflow-0.1.4/src/codev_workflow/bundle/.agents/skills/critique-review/agents/openai.yaml +4 -0
- open_codev_workflow-0.1.4/src/codev_workflow/bundle/.agents/skills/critique-review/assets/suggested-edit.template.md +38 -0
- {open_codev_workflow-0.1.0 → open_codev_workflow-0.1.4}/src/codev_workflow/bundle/.agents/skills/plan-delivery/SKILL.md +42 -4
- {open_codev_workflow-0.1.0 → open_codev_workflow-0.1.4}/src/codev_workflow/bundle/.agents/skills/plan-delivery/assets/delivery-plan.template.md +7 -1
- open_codev_workflow-0.1.4/src/codev_workflow/bundle/.agents/skills/pr-review/SKILL.md +114 -0
- open_codev_workflow-0.1.4/src/codev_workflow/bundle/.agents/skills/pr-review/agents/openai.yaml +4 -0
- open_codev_workflow-0.1.4/src/codev_workflow/bundle/.agents/skills/pr-review/scripts/publish_review.py +439 -0
- open_codev_workflow-0.1.4/src/codev_workflow/bundle/.agents/skills/pr-review/scripts/set-github-token.ps1 +34 -0
- {open_codev_workflow-0.1.0 → open_codev_workflow-0.1.4}/src/codev_workflow/bundle/.agents/skills/review-change/SKILL.md +7 -2
- open_codev_workflow-0.1.4/src/codev_workflow/bundle/.junie/agents/builder.md +41 -0
- open_codev_workflow-0.1.4/src/codev_workflow/bundle/.junie/agents/orchestrator.md +56 -0
- open_codev_workflow-0.1.4/src/codev_workflow/bundle/.junie/agents/reviewer.md +26 -0
- open_codev_workflow-0.1.4/src/codev_workflow/bundle/.junie/commands/pr-review.md +21 -0
- {open_codev_workflow-0.1.0 → open_codev_workflow-0.1.4}/src/codev_workflow/bundle/.opencode/agents/reviewer.md +4 -0
- {open_codev_workflow-0.1.0 → open_codev_workflow-0.1.4}/src/codev_workflow/bundle/AGENTS.md +18 -0
- {open_codev_workflow-0.1.0 → open_codev_workflow-0.1.4}/src/codev_workflow/bundle/docs/AI-WORKFLOW-PROMPTS.md +6 -2
- {open_codev_workflow-0.1.0 → open_codev_workflow-0.1.4}/src/codev_workflow/bundle/docs/WORKFLOW-COOKBOOK.md +9 -1
- {open_codev_workflow-0.1.0 → open_codev_workflow-0.1.4}/src/codev_workflow/bundle/docs/WORKFLOW-HUMAN.md +9 -0
- {open_codev_workflow-0.1.0 → open_codev_workflow-0.1.4}/src/codev_workflow/bundle/docs/for-ai/WORKFLOW-AGENTS.md +25 -8
- {open_codev_workflow-0.1.0 → open_codev_workflow-0.1.4}/src/codev_workflow/bundle/docs/handbooks/IDEA-TO-PRODUCTION-HANDBOOK.md +8 -0
- {open_codev_workflow-0.1.0 → open_codev_workflow-0.1.4}/src/codev_workflow/bundle/docs/handbooks/LANGUAGE-AGNOSTIC-PROJECT-HANDBOOK.md +13 -5
- {open_codev_workflow-0.1.0 → open_codev_workflow-0.1.4}/src/codev_workflow/bundle/docs/handbooks/PYTHON-PROJECT-HANDBOOK.md +16 -21
- {open_codev_workflow-0.1.0 → open_codev_workflow-0.1.4}/src/codev_workflow/bundle/evals/development-workflow/scenarios.json +38 -1
- {open_codev_workflow-0.1.0 → open_codev_workflow-0.1.4}/src/codev_workflow/bundle/scripts/validate-development-workflow.py +3 -0
- {open_codev_workflow-0.1.0 → open_codev_workflow-0.1.4}/src/codev_workflow/cli.py +16 -2
- {open_codev_workflow-0.1.0 → open_codev_workflow-0.1.4}/src/codev_workflow/installer.py +16 -2
- {open_codev_workflow-0.1.0 → open_codev_workflow-0.1.4/src/open_codev_workflow.egg-info}/PKG-INFO +114 -8
- {open_codev_workflow-0.1.0 → open_codev_workflow-0.1.4}/src/open_codev_workflow.egg-info/SOURCES.txt +20 -1
- {open_codev_workflow-0.1.0 → open_codev_workflow-0.1.4}/tests/test_cli.py +34 -0
- {open_codev_workflow-0.1.0 → open_codev_workflow-0.1.4}/tests/test_installer.py +59 -4
- open_codev_workflow-0.1.4/tests/test_pr_review.py +163 -0
- open_codev_workflow-0.1.4/tests/test_verify_release.py +39 -0
- open_codev_workflow-0.1.4/tests/test_version.py +73 -0
- open_codev_workflow-0.1.0/README.md +0 -121
- {open_codev_workflow-0.1.0 → open_codev_workflow-0.1.4}/LICENSE +0 -0
- {open_codev_workflow-0.1.0 → open_codev_workflow-0.1.4}/setup.cfg +0 -0
- {open_codev_workflow-0.1.0 → open_codev_workflow-0.1.4}/src/codev_workflow/__main__.py +0 -0
- {open_codev_workflow-0.1.0 → open_codev_workflow-0.1.4}/src/codev_workflow/bundle/.agents/skills/build-change/SKILL.md +0 -0
- {open_codev_workflow-0.1.0 → open_codev_workflow-0.1.4}/src/codev_workflow/bundle/.agents/skills/build-change/agents/openai.yaml +0 -0
- {open_codev_workflow-0.1.0 → open_codev_workflow-0.1.4}/src/codev_workflow/bundle/.agents/skills/build-change/assets/implementation-plan.template.md +0 -0
- {open_codev_workflow-0.1.0 → open_codev_workflow-0.1.4}/src/codev_workflow/bundle/.agents/skills/define-product/SKILL.md +0 -0
- {open_codev_workflow-0.1.0 → open_codev_workflow-0.1.4}/src/codev_workflow/bundle/.agents/skills/define-product/agents/openai.yaml +0 -0
- {open_codev_workflow-0.1.0 → open_codev_workflow-0.1.4}/src/codev_workflow/bundle/.agents/skills/define-product/assets/brief.template.md +0 -0
- {open_codev_workflow-0.1.0 → open_codev_workflow-0.1.4}/src/codev_workflow/bundle/.agents/skills/design-solution/SKILL.md +0 -0
- {open_codev_workflow-0.1.0 → open_codev_workflow-0.1.4}/src/codev_workflow/bundle/.agents/skills/design-solution/agents/openai.yaml +0 -0
- {open_codev_workflow-0.1.0 → open_codev_workflow-0.1.4}/src/codev_workflow/bundle/.agents/skills/design-solution/assets/decision.template.md +0 -0
- {open_codev_workflow-0.1.0 → open_codev_workflow-0.1.4}/src/codev_workflow/bundle/.agents/skills/design-solution/assets/design.template.md +0 -0
- {open_codev_workflow-0.1.0 → open_codev_workflow-0.1.4}/src/codev_workflow/bundle/.agents/skills/launch-product/SKILL.md +0 -0
- {open_codev_workflow-0.1.0 → open_codev_workflow-0.1.4}/src/codev_workflow/bundle/.agents/skills/launch-product/agents/openai.yaml +0 -0
- {open_codev_workflow-0.1.0 → open_codev_workflow-0.1.4}/src/codev_workflow/bundle/.agents/skills/launch-product/assets/launch-plan.template.md +0 -0
- {open_codev_workflow-0.1.0 → open_codev_workflow-0.1.4}/src/codev_workflow/bundle/.agents/skills/plan-delivery/agents/openai.yaml +0 -0
- {open_codev_workflow-0.1.0 → open_codev_workflow-0.1.4}/src/codev_workflow/bundle/.agents/skills/review-change/agents/openai.yaml +0 -0
- {open_codev_workflow-0.1.0 → open_codev_workflow-0.1.4}/src/codev_workflow/bundle/.agents/skills/specify-project/SKILL.md +0 -0
- {open_codev_workflow-0.1.0 → open_codev_workflow-0.1.4}/src/codev_workflow/bundle/.agents/skills/specify-project/agents/openai.yaml +0 -0
- {open_codev_workflow-0.1.0 → open_codev_workflow-0.1.4}/src/codev_workflow/bundle/.agents/skills/specify-project/assets/specification.template.md +0 -0
- {open_codev_workflow-0.1.0 → open_codev_workflow-0.1.4}/src/codev_workflow/bundle/.agents/skills/specify-project/references/interview-coverage.md +0 -0
- {open_codev_workflow-0.1.0 → open_codev_workflow-0.1.4}/src/codev_workflow/bundle/.agents/skills/specify-project/scripts/validate_specification.py +0 -0
- {open_codev_workflow-0.1.0 → open_codev_workflow-0.1.4}/src/codev_workflow/bundle/.opencode/agents/builder.md +0 -0
- {open_codev_workflow-0.1.0 → open_codev_workflow-0.1.4}/src/codev_workflow/bundle/.opencode/agents/orchestrator.md +0 -0
- {open_codev_workflow-0.1.0 → open_codev_workflow-0.1.4}/src/codev_workflow/bundle/scripts/evaluate-development-workflow.py +0 -0
- {open_codev_workflow-0.1.0 → open_codev_workflow-0.1.4}/src/open_codev_workflow.egg-info/dependency_links.txt +0 -0
- {open_codev_workflow-0.1.0 → open_codev_workflow-0.1.4}/src/open_codev_workflow.egg-info/entry_points.txt +0 -0
- {open_codev_workflow-0.1.0 → open_codev_workflow-0.1.4}/src/open_codev_workflow.egg-info/requires.txt +0 -0
- {open_codev_workflow-0.1.0 → open_codev_workflow-0.1.4}/src/open_codev_workflow.egg-info/top_level.txt +0 -0
{open_codev_workflow-0.1.0/src/open_codev_workflow.egg-info → open_codev_workflow-0.1.4}/PKG-INFO
RENAMED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: open-codev-workflow
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.4
|
|
4
4
|
Summary: Human-guided AI software delivery for real repositories.
|
|
5
5
|
Author: Martin Urban
|
|
6
6
|
License-Expression: BSD-3-Clause
|
|
7
7
|
Project-URL: Homepage, https://github.com/urban233/CoDev
|
|
8
8
|
Project-URL: Repository, https://github.com/urban233/CoDev
|
|
9
9
|
Project-URL: Issues, https://github.com/urban233/CoDev/issues
|
|
10
|
-
Keywords: ai,developer-tools,software-delivery,codex,opencode
|
|
10
|
+
Keywords: ai,developer-tools,software-delivery,antigravity,codex,junie,opencode
|
|
11
11
|
Classifier: Development Status :: 3 - Alpha
|
|
12
12
|
Classifier: Environment :: Console
|
|
13
13
|
Classifier: Intended Audience :: Developers
|
|
@@ -37,6 +37,13 @@ Dynamic: license-file
|
|
|
37
37
|
|
|
38
38
|

|
|
39
39
|

|
|
40
|
+

|
|
41
|
+

|
|
42
|
+

|
|
43
|
+

|
|
44
|
+

|
|
45
|
+

|
|
46
|
+

|
|
40
47
|
|
|
41
48
|
CoDev installs a small, production-minded collaboration system into any Git
|
|
42
49
|
repository. It helps a developer and AI move through four understandable steps:
|
|
@@ -73,9 +80,9 @@ For private, air-gapped, or pre-release distribution, install the supplied
|
|
|
73
80
|
wheel directly instead of publishing it to a package index:
|
|
74
81
|
|
|
75
82
|
```shell
|
|
76
|
-
pipx install ./dist/open_codev_workflow-0.1.
|
|
83
|
+
pipx install ./dist/open_codev_workflow-0.1.1-py3-none-any.whl
|
|
77
84
|
# or
|
|
78
|
-
uv tool install ./dist/open_codev_workflow-0.1.
|
|
85
|
+
uv tool install ./dist/open_codev_workflow-0.1.1-py3-none-any.whl
|
|
79
86
|
```
|
|
80
87
|
|
|
81
88
|
Store the wheel with its SHA-256 checksum in a controlled artifact location.
|
|
@@ -99,23 +106,122 @@ codev remove --target ../my-project --dry-run
|
|
|
99
106
|
`init`, `diff`, and `update` preflight the entire operation. A locally modified
|
|
100
107
|
managed file becomes a visible conflict; CoDev never silently replaces it.
|
|
101
108
|
|
|
109
|
+
## GitHub Pull Request reviews
|
|
110
|
+
|
|
111
|
+
The installed `pr-review` skill reviews an existing GitHub Pull Request and can
|
|
112
|
+
prepare validated inline comments for the exact PR head. It uses the GitHub CLI
|
|
113
|
+
credential store by default, so agents do not need to read or print a token.
|
|
114
|
+
|
|
115
|
+
### Install and authenticate GitHub CLI on Windows
|
|
116
|
+
|
|
117
|
+
Install the official package from PowerShell with WinGet:
|
|
118
|
+
|
|
119
|
+
```powershell
|
|
120
|
+
winget install --id GitHub.cli --source winget
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
Open a new Windows Terminal window after installation, then verify and sign in:
|
|
124
|
+
|
|
125
|
+
```powershell
|
|
126
|
+
gh --version
|
|
127
|
+
gh auth login --web
|
|
128
|
+
gh auth status --active
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
Choose `GitHub.com`, the HTTPS protocol, and the browser login flow. `gh` stores
|
|
132
|
+
the credential using the Windows credential store when available. See the
|
|
133
|
+
[official Windows installation guide](https://github.com/cli/cli/blob/trunk/docs/install_windows.md)
|
|
134
|
+
and [`gh auth login` documentation](https://cli.github.com/manual/gh_auth_login).
|
|
135
|
+
|
|
136
|
+
Run the PR publisher in dry-run mode first:
|
|
137
|
+
|
|
138
|
+
```powershell
|
|
139
|
+
python .agents\skills\pr-review\scripts\publish_review.py `
|
|
140
|
+
--repo OWNER/REPO `
|
|
141
|
+
--pr 123 `
|
|
142
|
+
--review review.json
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
The publisher automatically uses authenticated `gh api` when no
|
|
146
|
+
`GITHUB_TOKEN` or `GH_TOKEN` is set. Use `--auth gh` to require that backend or
|
|
147
|
+
`--auth token` for headless environments that provide a token variable. Add
|
|
148
|
+
`--publish` only after explicitly authorizing a GitHub review, and use
|
|
149
|
+
`--submit comment` only when it should be submitted immediately.
|
|
150
|
+
|
|
151
|
+
If a desktop agent does not inherit the Windows machine PATH, the publisher
|
|
152
|
+
also checks the standard `C:\\Program Files\\GitHub CLI\\gh.exe` location. For a
|
|
153
|
+
custom installation, set `CODEV_GH_PATH` to the full path of `gh.exe`.
|
|
154
|
+
|
|
155
|
+
To copy the already-authenticated `gh` credential into `GH_TOKEN` for the
|
|
156
|
+
current PowerShell process and the CLI started from it, dot-source the bundled
|
|
157
|
+
helper:
|
|
158
|
+
|
|
159
|
+
```powershell
|
|
160
|
+
. .agents\\skills\\pr-review\\scripts\\set-github-token.ps1
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
The helper calls `gh auth token` without printing the result and does not
|
|
164
|
+
persist it. The `gh` credential must be valid in the same process context. This
|
|
165
|
+
is useful for a CLI that needs `GH_TOKEN`; launch that CLI from the shell where
|
|
166
|
+
the helper has been dot-sourced. Do not put the token in a repository file or
|
|
167
|
+
command-line argument.
|
|
168
|
+
|
|
169
|
+
One-line equivalent:
|
|
170
|
+
|
|
171
|
+
```powershell
|
|
172
|
+
$g=Get-Command gh -ErrorAction SilentlyContinue;if($g){$p=$g.Source}else{$p='C:\\Program Files\\GitHub CLI\\gh.exe'};$env:GH_TOKEN=(& $p auth token --hostname github.com 2>$null).Trim()
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
Fetch the complete GitHub PR context before asking an agent to review it:
|
|
176
|
+
|
|
177
|
+
```powershell
|
|
178
|
+
python .agents\\skills\\pr-review\\scripts\\publish_review.py `
|
|
179
|
+
--repo OWNER/REPO `
|
|
180
|
+
--pr 123 `
|
|
181
|
+
--fetch `
|
|
182
|
+
--output-dir .codev\\pr-review\\123
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
This writes PR metadata, the patch, changed files, commits, reviews, comments,
|
|
186
|
+
and check runs. Use repeated `--include metadata`, `--include diff`, or other
|
|
187
|
+
parts to fetch a smaller set.
|
|
188
|
+
|
|
189
|
+
The installed Junie project command is also available directly inside Junie:
|
|
190
|
+
|
|
191
|
+
```text
|
|
192
|
+
/pr-review repo=OWNER/REPO pr=123
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
Project-specific Junie commands live under `.junie/commands`, so this command
|
|
196
|
+
is versioned with the repository and appears in Junie’s `/` command list.
|
|
197
|
+
|
|
102
198
|
## What gets installed
|
|
103
199
|
|
|
104
200
|
```text
|
|
105
201
|
my-project/
|
|
106
202
|
├── AGENTS.md # a managed policy block; local text survives
|
|
107
|
-
├── .agents/skills/ #
|
|
203
|
+
├── .agents/skills/ # lifecycle, PR, and specialist review skills
|
|
204
|
+
├── .agents/agents/ # Antigravity subagents
|
|
108
205
|
├── .opencode/agents/ # orchestrator, builder, reviewer
|
|
109
206
|
├── .opencode/opencode.json # safely merged; existing agent settings survive
|
|
207
|
+
├── .junie/agents/ # Junie subagents
|
|
110
208
|
├── docs/ # workflow, prompts, handbooks, cookbook
|
|
111
209
|
├── evals/development-workflow/ # behavioral scenarios
|
|
112
210
|
├── scripts/ # deterministic validators
|
|
113
211
|
└── .codev/lock.json # installed version and source hashes
|
|
114
212
|
```
|
|
115
213
|
|
|
116
|
-
Use `--platform codex` to omit the OpenCode
|
|
117
|
-
|
|
118
|
-
|
|
214
|
+
Use `--platform codex` to omit the OpenCode, Junie, and Antigravity adapters.
|
|
215
|
+
Use `--platform opencode`, `--platform junie`, or `--platform antigravity` to
|
|
216
|
+
select one adapter, or use `--platform all` for every supported platform. Core
|
|
217
|
+
skills and human/AI workflow references are installed for every platform.
|
|
218
|
+
|
|
219
|
+
To add an adapter to an existing installation, pass it to `update`, for example
|
|
220
|
+
`codev update --platform junie`. Use `diff --platform junie` to preview the
|
|
221
|
+
platform expansion first.
|
|
222
|
+
|
|
223
|
+
The Antigravity adapter follows its official workspace location:
|
|
224
|
+
`.agents/agents/<name>.md`.
|
|
119
225
|
|
|
120
226
|
## Design principles
|
|
121
227
|
|
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="assets/codev-mark.svg" width="96" height="96" alt="CoDev mark">
|
|
3
|
+
</p>
|
|
4
|
+
|
|
5
|
+
<h1 align="center">CoDev</h1>
|
|
6
|
+
|
|
7
|
+
<p align="center"><strong>Human-guided AI software delivery.</strong></p>
|
|
8
|
+
|
|
9
|
+

|
|
10
|
+

|
|
11
|
+

|
|
12
|
+

|
|
13
|
+

|
|
14
|
+

|
|
15
|
+

|
|
16
|
+

|
|
17
|
+

|
|
18
|
+
|
|
19
|
+
CoDev installs a small, production-minded collaboration system into any Git
|
|
20
|
+
repository. It helps a developer and AI move through four understandable steps:
|
|
21
|
+
**Understand, Build, Review, and Ship**. It supports bounded three-agent
|
|
22
|
+
execution without turning product development into an unattended coding loop.
|
|
23
|
+
|
|
24
|
+
## Why CoDev
|
|
25
|
+
|
|
26
|
+
- One workflow for solo developers and multi-developer teams.
|
|
27
|
+
- Repository-grounded plans instead of invented APIs or architecture.
|
|
28
|
+
- A bounded builder and an independent, read-only reviewer.
|
|
29
|
+
- Human authority over material decisions, merge, deployment, and rollout.
|
|
30
|
+
- Versioned, conflict-aware installation across existing repositories.
|
|
31
|
+
- No runtime dependency in the software being built.
|
|
32
|
+
|
|
33
|
+
## Quick start
|
|
34
|
+
|
|
35
|
+
CoDev is a Python 3.11+ command-line tool. Target repositories may use any
|
|
36
|
+
language or build system. Install it with an isolated tool manager; `pipx` and
|
|
37
|
+
`uv tool` are the two supported, primary installation methods. Neither adds
|
|
38
|
+
CoDev or its dependencies to a target repository.
|
|
39
|
+
|
|
40
|
+
### Install from PyPI
|
|
41
|
+
|
|
42
|
+
```shell
|
|
43
|
+
pipx install open-codev-workflow
|
|
44
|
+
# or
|
|
45
|
+
uv tool install open-codev-workflow
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### Install from a wheel
|
|
49
|
+
|
|
50
|
+
For private, air-gapped, or pre-release distribution, install the supplied
|
|
51
|
+
wheel directly instead of publishing it to a package index:
|
|
52
|
+
|
|
53
|
+
```shell
|
|
54
|
+
pipx install ./dist/open_codev_workflow-0.1.1-py3-none-any.whl
|
|
55
|
+
# or
|
|
56
|
+
uv tool install ./dist/open_codev_workflow-0.1.1-py3-none-any.whl
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Store the wheel with its SHA-256 checksum in a controlled artifact location.
|
|
60
|
+
The development workflow for building a wheel is documented below.
|
|
61
|
+
|
|
62
|
+
### Initialize a repository
|
|
63
|
+
|
|
64
|
+
```shell
|
|
65
|
+
codev init --target ../my-project --platform all
|
|
66
|
+
codev check --target ../my-project
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
To preview or apply a later bundle update:
|
|
70
|
+
|
|
71
|
+
```shell
|
|
72
|
+
codev diff --target ../my-project
|
|
73
|
+
codev update --target ../my-project
|
|
74
|
+
codev remove --target ../my-project --dry-run
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
`init`, `diff`, and `update` preflight the entire operation. A locally modified
|
|
78
|
+
managed file becomes a visible conflict; CoDev never silently replaces it.
|
|
79
|
+
|
|
80
|
+
## GitHub Pull Request reviews
|
|
81
|
+
|
|
82
|
+
The installed `pr-review` skill reviews an existing GitHub Pull Request and can
|
|
83
|
+
prepare validated inline comments for the exact PR head. It uses the GitHub CLI
|
|
84
|
+
credential store by default, so agents do not need to read or print a token.
|
|
85
|
+
|
|
86
|
+
### Install and authenticate GitHub CLI on Windows
|
|
87
|
+
|
|
88
|
+
Install the official package from PowerShell with WinGet:
|
|
89
|
+
|
|
90
|
+
```powershell
|
|
91
|
+
winget install --id GitHub.cli --source winget
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Open a new Windows Terminal window after installation, then verify and sign in:
|
|
95
|
+
|
|
96
|
+
```powershell
|
|
97
|
+
gh --version
|
|
98
|
+
gh auth login --web
|
|
99
|
+
gh auth status --active
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
Choose `GitHub.com`, the HTTPS protocol, and the browser login flow. `gh` stores
|
|
103
|
+
the credential using the Windows credential store when available. See the
|
|
104
|
+
[official Windows installation guide](https://github.com/cli/cli/blob/trunk/docs/install_windows.md)
|
|
105
|
+
and [`gh auth login` documentation](https://cli.github.com/manual/gh_auth_login).
|
|
106
|
+
|
|
107
|
+
Run the PR publisher in dry-run mode first:
|
|
108
|
+
|
|
109
|
+
```powershell
|
|
110
|
+
python .agents\skills\pr-review\scripts\publish_review.py `
|
|
111
|
+
--repo OWNER/REPO `
|
|
112
|
+
--pr 123 `
|
|
113
|
+
--review review.json
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
The publisher automatically uses authenticated `gh api` when no
|
|
117
|
+
`GITHUB_TOKEN` or `GH_TOKEN` is set. Use `--auth gh` to require that backend or
|
|
118
|
+
`--auth token` for headless environments that provide a token variable. Add
|
|
119
|
+
`--publish` only after explicitly authorizing a GitHub review, and use
|
|
120
|
+
`--submit comment` only when it should be submitted immediately.
|
|
121
|
+
|
|
122
|
+
If a desktop agent does not inherit the Windows machine PATH, the publisher
|
|
123
|
+
also checks the standard `C:\\Program Files\\GitHub CLI\\gh.exe` location. For a
|
|
124
|
+
custom installation, set `CODEV_GH_PATH` to the full path of `gh.exe`.
|
|
125
|
+
|
|
126
|
+
To copy the already-authenticated `gh` credential into `GH_TOKEN` for the
|
|
127
|
+
current PowerShell process and the CLI started from it, dot-source the bundled
|
|
128
|
+
helper:
|
|
129
|
+
|
|
130
|
+
```powershell
|
|
131
|
+
. .agents\\skills\\pr-review\\scripts\\set-github-token.ps1
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
The helper calls `gh auth token` without printing the result and does not
|
|
135
|
+
persist it. The `gh` credential must be valid in the same process context. This
|
|
136
|
+
is useful for a CLI that needs `GH_TOKEN`; launch that CLI from the shell where
|
|
137
|
+
the helper has been dot-sourced. Do not put the token in a repository file or
|
|
138
|
+
command-line argument.
|
|
139
|
+
|
|
140
|
+
One-line equivalent:
|
|
141
|
+
|
|
142
|
+
```powershell
|
|
143
|
+
$g=Get-Command gh -ErrorAction SilentlyContinue;if($g){$p=$g.Source}else{$p='C:\\Program Files\\GitHub CLI\\gh.exe'};$env:GH_TOKEN=(& $p auth token --hostname github.com 2>$null).Trim()
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
Fetch the complete GitHub PR context before asking an agent to review it:
|
|
147
|
+
|
|
148
|
+
```powershell
|
|
149
|
+
python .agents\\skills\\pr-review\\scripts\\publish_review.py `
|
|
150
|
+
--repo OWNER/REPO `
|
|
151
|
+
--pr 123 `
|
|
152
|
+
--fetch `
|
|
153
|
+
--output-dir .codev\\pr-review\\123
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
This writes PR metadata, the patch, changed files, commits, reviews, comments,
|
|
157
|
+
and check runs. Use repeated `--include metadata`, `--include diff`, or other
|
|
158
|
+
parts to fetch a smaller set.
|
|
159
|
+
|
|
160
|
+
The installed Junie project command is also available directly inside Junie:
|
|
161
|
+
|
|
162
|
+
```text
|
|
163
|
+
/pr-review repo=OWNER/REPO pr=123
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
Project-specific Junie commands live under `.junie/commands`, so this command
|
|
167
|
+
is versioned with the repository and appears in Junie’s `/` command list.
|
|
168
|
+
|
|
169
|
+
## What gets installed
|
|
170
|
+
|
|
171
|
+
```text
|
|
172
|
+
my-project/
|
|
173
|
+
├── AGENTS.md # a managed policy block; local text survives
|
|
174
|
+
├── .agents/skills/ # lifecycle, PR, and specialist review skills
|
|
175
|
+
├── .agents/agents/ # Antigravity subagents
|
|
176
|
+
├── .opencode/agents/ # orchestrator, builder, reviewer
|
|
177
|
+
├── .opencode/opencode.json # safely merged; existing agent settings survive
|
|
178
|
+
├── .junie/agents/ # Junie subagents
|
|
179
|
+
├── docs/ # workflow, prompts, handbooks, cookbook
|
|
180
|
+
├── evals/development-workflow/ # behavioral scenarios
|
|
181
|
+
├── scripts/ # deterministic validators
|
|
182
|
+
└── .codev/lock.json # installed version and source hashes
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
Use `--platform codex` to omit the OpenCode, Junie, and Antigravity adapters.
|
|
186
|
+
Use `--platform opencode`, `--platform junie`, or `--platform antigravity` to
|
|
187
|
+
select one adapter, or use `--platform all` for every supported platform. Core
|
|
188
|
+
skills and human/AI workflow references are installed for every platform.
|
|
189
|
+
|
|
190
|
+
To add an adapter to an existing installation, pass it to `update`, for example
|
|
191
|
+
`codev update --platform junie`. Use `diff --platform junie` to preview the
|
|
192
|
+
platform expansion first.
|
|
193
|
+
|
|
194
|
+
The Antigravity adapter follows its official workspace location:
|
|
195
|
+
`.agents/agents/<name>.md`.
|
|
196
|
+
|
|
197
|
+
## Design principles
|
|
198
|
+
|
|
199
|
+
1. **Local at use time.** Agents read ordinary files in the target repository.
|
|
200
|
+
2. **Central at maintenance time.** This repository is the canonical source.
|
|
201
|
+
3. **Human at authority boundaries.** Automation supplies evidence, not approval.
|
|
202
|
+
4. **Small by default.** Deeper design and delivery planning appear only when
|
|
203
|
+
risk or coordination requires them.
|
|
204
|
+
5. **Safe to adopt.** Existing instructions and OpenCode settings are preserved.
|
|
205
|
+
|
|
206
|
+
Read [Architecture](docs/architecture.md) for the distribution model,
|
|
207
|
+
[Adoption](docs/adoption.md) for rollout guidance, and
|
|
208
|
+
[Brand](docs/brand.md) for the visual and writing system.
|
|
209
|
+
|
|
210
|
+
## Development
|
|
211
|
+
|
|
212
|
+
```shell
|
|
213
|
+
python -m unittest discover -s tests -v
|
|
214
|
+
python -m compileall -q src tests
|
|
215
|
+
python -m codev_workflow --version
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
Optional development checks:
|
|
219
|
+
|
|
220
|
+
```shell
|
|
221
|
+
ruff check .
|
|
222
|
+
ruff format --check .
|
|
223
|
+
mypy
|
|
224
|
+
python -m build
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
CoDev is licensed under BSD-3-Clause.
|
|
@@ -4,13 +4,13 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "open-codev-workflow"
|
|
7
|
-
version = "0.1.
|
|
7
|
+
version = "0.1.4"
|
|
8
8
|
description = "Human-guided AI software delivery for real repositories."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.11"
|
|
11
11
|
license = "BSD-3-Clause"
|
|
12
12
|
authors = [{ name = "Martin Urban" }]
|
|
13
|
-
keywords = ["ai", "developer-tools", "software-delivery", "codex", "opencode"]
|
|
13
|
+
keywords = ["ai", "developer-tools", "software-delivery", "antigravity", "codex", "junie", "opencode"]
|
|
14
14
|
classifiers = [
|
|
15
15
|
"Development Status :: 3 - Alpha",
|
|
16
16
|
"Environment :: Console",
|
|
@@ -55,7 +55,10 @@ codev_workflow = [
|
|
|
55
55
|
"bundle/.agents/skills/*/assets/*",
|
|
56
56
|
"bundle/.agents/skills/*/references/*",
|
|
57
57
|
"bundle/.agents/skills/*/scripts/*",
|
|
58
|
+
"bundle/.agents/agents/*.md",
|
|
58
59
|
"bundle/.opencode/agents/*.md",
|
|
60
|
+
"bundle/.junie/agents/*.md",
|
|
61
|
+
"bundle/.junie/commands/*.md",
|
|
59
62
|
"bundle/docs/*.md",
|
|
60
63
|
"bundle/docs/for-ai/*.md",
|
|
61
64
|
"bundle/docs/handbooks/*.md",
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: builder
|
|
3
|
+
description: Bounded implementation subagent that executes one accepted work-item plan.
|
|
4
|
+
mainAgent: false
|
|
5
|
+
subagent: true
|
|
6
|
+
model: inherit
|
|
7
|
+
commandExecutionPolicy: sandbox
|
|
8
|
+
tools:
|
|
9
|
+
- view_file
|
|
10
|
+
- grep_search
|
|
11
|
+
- replace_file_content
|
|
12
|
+
- run_command
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
Implement exactly one bounded work item delegated by the orchestrator. Follow
|
|
16
|
+
`AGENTS.md`, `docs/for-ai/WORKFLOW-AGENTS.md`, and `build-change`. Treat the
|
|
17
|
+
accepted implementation plan and its cited brief/specification/design/API as
|
|
18
|
+
authority; do not redesign them to make coding easier.
|
|
19
|
+
|
|
20
|
+
Before editing:
|
|
21
|
+
|
|
22
|
+
1. inspect the actual files, symbols, tests, build commands, conventions, Git
|
|
23
|
+
state, and nearby comparable implementation;
|
|
24
|
+
2. verify the base snapshot and check for unrelated or concurrent changes;
|
|
25
|
+
3. compare repository facts with the accepted plan; and
|
|
26
|
+
4. return `BLOCKED` with exact evidence when a material mismatch, missing
|
|
27
|
+
decision, scope expansion, collision, or unavailable validation prevents safe
|
|
28
|
+
execution. Do not invent the missing answer.
|
|
29
|
+
|
|
30
|
+
When ready, implement the smallest coherent review purpose. Stay within allowed
|
|
31
|
+
scope, reuse repository patterns, put tests with behavior, and avoid unrelated
|
|
32
|
+
cleanup. Never weaken tests, silently change contracts, add unaccepted
|
|
33
|
+
dependencies, or modify accepted planning artifacts. Keep the repository
|
|
34
|
+
buildable and stop after two failed attempts with the same root cause.
|
|
35
|
+
|
|
36
|
+
Run the specified formatter, static checks, affected tests, and proportionate
|
|
37
|
+
broader validation. Inspect the complete diff. Return only observable handoff
|
|
38
|
+
information:
|
|
39
|
+
|
|
40
|
+
- **Delivered:** outcome and behavior;
|
|
41
|
+
- **Changed:** files and components;
|
|
42
|
+
- **Base/head snapshot:** exact values;
|
|
43
|
+
- **Validation actually run:** commands and outcomes;
|
|
44
|
+
- **Acceptance evidence:** criterion mapped to evidence;
|
|
45
|
+
- **Scope deviations:** none or explicitly accepted deviations;
|
|
46
|
+
- **Known limitations:** risks and follow-up; and
|
|
47
|
+
- **Review state:** `AWAITING INDEPENDENT REVIEW`.
|
|
48
|
+
|
|
49
|
+
Do not invoke another agent, approve the change, commit, push, merge, publish,
|
|
50
|
+
deploy, migrate data, or expand rollout.
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: orchestrator
|
|
3
|
+
description: Human-controlled workflow orchestrator for planning, delegated building, and independent review.
|
|
4
|
+
mainAgent: true
|
|
5
|
+
subagent: true
|
|
6
|
+
model: inherit
|
|
7
|
+
commandExecutionPolicy: sandbox
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
Act as the human's primary engineering partner. Follow `AGENTS.md`,
|
|
11
|
+
`docs/for-ai/WORKFLOW-AGENTS.md`, and the applicable repository skills. Present
|
|
12
|
+
the work as `Understand`, `Build`, `Review`, or `Ship` and select the lightest
|
|
13
|
+
safe path without requiring the human to know skill names.
|
|
14
|
+
|
|
15
|
+
For Understand and Ship work, use the applicable lifecycle skill directly.
|
|
16
|
+
Create or revise planning artifacts only when the selected skill requires them
|
|
17
|
+
and the human has authorized the write. Never implement product code while
|
|
18
|
+
acting as orchestrator.
|
|
19
|
+
|
|
20
|
+
## Three-agent Build protocol
|
|
21
|
+
|
|
22
|
+
For one ready work item:
|
|
23
|
+
|
|
24
|
+
1. Read the work item, upstream brief/specification/design/API authority,
|
|
25
|
+
repository instructions, current code and tests, ownership, and Git state.
|
|
26
|
+
2. Confirm the item is ready. Return unresolved product questions to
|
|
27
|
+
`define-product`, architectural or contract questions to `design-solution`,
|
|
28
|
+
and dependency or assignment problems to `plan-delivery`.
|
|
29
|
+
3. Use `build-change` to frame and ground the change. Present the focus card.
|
|
30
|
+
For delegated, multi-session, cross-component, normal-risk, or higher-risk
|
|
31
|
+
work, render the complete
|
|
32
|
+
`.agents/skills/build-change/assets/implementation-plan.template.md` in the
|
|
33
|
+
conversation. Do not ask the human to write it.
|
|
34
|
+
4. Obtain one precise human decision for any material product, API, data,
|
|
35
|
+
dependency, architecture, security, destructive, scope, or risk choice. Ask
|
|
36
|
+
for approval before starting delegated implementation. Do not delegate an
|
|
37
|
+
unresolved or unaccepted plan.
|
|
38
|
+
5. Use Antigravity's `invoke_subagent` capability to start `builder` with the
|
|
39
|
+
accepted work item and implementation plan, exact authority links, base
|
|
40
|
+
commit, allowed scope, integration constraints, validation, and stop
|
|
41
|
+
conditions. Pass task-local artifacts, not private reasoning or a broad
|
|
42
|
+
conversation transcript.
|
|
43
|
+
6. When the builder returns, verify that its evidence receipt identifies an
|
|
44
|
+
exact head snapshot, actual validation, deviations, limitations, and changed
|
|
45
|
+
files. If evidence is missing, return the task for evidence rather than
|
|
46
|
+
guessing.
|
|
47
|
+
7. Use `invoke_subagent` to start `reviewer` in a fresh task with the exact
|
|
48
|
+
base-to-head snapshot, work item, accepted plan, upstream authority, and
|
|
49
|
+
builder evidence receipt.
|
|
50
|
+
8. If the reviewer returns actionable findings, send the findings and original
|
|
51
|
+
accepted plan back to `builder`. Do not let the reviewer edit. Repeat review
|
|
52
|
+
after correction. After two correction attempts with the same root cause,
|
|
53
|
+
or whenever the accepted plan must change materially, stop for the human
|
|
54
|
+
with evidence and a recommendation.
|
|
55
|
+
9. Return the final evidence receipt, reviewer decision, residual risks, and
|
|
56
|
+
exact snapshot. Never claim approval and stop before commit, merge, publish,
|
|
57
|
+
deploy, migration, or rollout expansion unless the human explicitly grants
|
|
58
|
+
the corresponding authority.
|
|
59
|
+
|
|
60
|
+
Keep progress visible at plan acceptance, builder completion, reviewer result,
|
|
61
|
+
and any stop condition. Do not spawn unrelated agents or parallel builders in
|
|
62
|
+
the same worktree.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: reviewer
|
|
3
|
+
description: Independent reviewer for one exact code change.
|
|
4
|
+
mainAgent: false
|
|
5
|
+
subagent: true
|
|
6
|
+
model: inherit
|
|
7
|
+
commandExecutionPolicy: sandbox
|
|
8
|
+
tools:
|
|
9
|
+
- view_file
|
|
10
|
+
- grep_search
|
|
11
|
+
- run_command
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
Use the `review-change` skill. Review the exact supplied base-to-head diff,
|
|
15
|
+
acceptance criteria, relevant design/API, repository context, and validation
|
|
16
|
+
evidence without relying on the implementing agent's private reasoning.
|
|
17
|
+
|
|
18
|
+
Confirm the exact base and head snapshots before reviewing. If the diff,
|
|
19
|
+
authority, acceptance criteria, or builder evidence is missing or ambiguous,
|
|
20
|
+
return `BLOCKED BY MISSING EVIDENCE` rather than reconstructing it from chat.
|
|
21
|
+
|
|
22
|
+
Prioritize correctness, security/privacy, data loss, concurrency, compatibility,
|
|
23
|
+
error behavior, test quality, architecture, scope, maintainability, and rollout.
|
|
24
|
+
Assess tests by whether a small, representative suite catches realistic
|
|
25
|
+
regressions and important boundary behavior; coverage percentages are
|
|
26
|
+
diagnostic only. Do not persist on theoretical, rare, low-impact edge cases
|
|
27
|
+
unless they affect safety, data integrity, compatibility, or likely regressions.
|
|
28
|
+
Lead with actionable findings ordered P0 through P3. Give a tight location,
|
|
29
|
+
evidence, impact, and testable correction for each finding.
|
|
30
|
+
|
|
31
|
+
Do not edit code or planning artifacts. Do not invent requirements, block on
|
|
32
|
+
personal style, communicate with the builder directly, or authorize merge. End
|
|
33
|
+
with `READY FOR HUMAN APPROVAL`, `CHANGES REQUIRED`, or
|
|
34
|
+
`BLOCKED BY MISSING EVIDENCE` and name residual risks.
|