open-codev-workflow 0.1.4__tar.gz → 0.1.7__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.4 → open_codev_workflow-0.1.7}/PKG-INFO +17 -7
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/README.md +16 -6
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/pyproject.toml +3 -1
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/src/codev_workflow/__init__.py +1 -1
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/src/codev_workflow/bundle/.agents/agents/builder.md +1 -1
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/src/codev_workflow/bundle/.agents/agents/orchestrator.md +1 -1
- open_codev_workflow-0.1.7/src/codev_workflow/bundle/.agents/skills/audit-google-python-style/SKILL.md +156 -0
- open_codev_workflow-0.1.7/src/codev_workflow/bundle/.agents/skills/audit-google-python-style/agents/openai.yaml +7 -0
- open_codev_workflow-0.1.7/src/codev_workflow/bundle/.agents/skills/audit-google-python-style/references/check-matrix.md +49 -0
- open_codev_workflow-0.1.7/src/codev_workflow/bundle/.agents/skills/audit-google-python-style/scripts/check_google_rules.py +342 -0
- open_codev_workflow-0.1.7/src/codev_workflow/bundle/.agents/skills/audit-google-typescript-style/SKILL.md +136 -0
- open_codev_workflow-0.1.7/src/codev_workflow/bundle/.agents/skills/audit-google-typescript-style/agents/openai.yaml +7 -0
- open_codev_workflow-0.1.7/src/codev_workflow/bundle/.agents/skills/audit-google-typescript-style/references/check-matrix.md +33 -0
- open_codev_workflow-0.1.7/src/codev_workflow/bundle/.agents/skills/audit-google-typescript-style/scripts/check_google_rules.mjs +136 -0
- open_codev_workflow-0.1.7/src/codev_workflow/bundle/.agents/skills/github-actions-ci-results/SKILL.md +97 -0
- open_codev_workflow-0.1.7/src/codev_workflow/bundle/.agents/skills/github-actions-ci-results/agents/openai.yaml +4 -0
- open_codev_workflow-0.1.7/src/codev_workflow/bundle/.agents/skills/github-actions-ci-results/references/gh-command-cookbook.md +65 -0
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/src/codev_workflow/bundle/.agents/skills/pr-review/SKILL.md +45 -12
- open_codev_workflow-0.1.7/src/codev_workflow/bundle/.codex/agents/builder.toml +44 -0
- open_codev_workflow-0.1.7/src/codev_workflow/bundle/.codex/agents/orchestrator.toml +40 -0
- open_codev_workflow-0.1.7/src/codev_workflow/bundle/.codex/agents/reviewer.toml +29 -0
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/src/codev_workflow/bundle/.junie/agents/builder.md +1 -1
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/src/codev_workflow/bundle/.junie/agents/orchestrator.md +1 -1
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/src/codev_workflow/bundle/.opencode/agents/builder.md +1 -1
- open_codev_workflow-0.1.7/src/codev_workflow/bundle/.opencode/agents/code-audit.md +89 -0
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/src/codev_workflow/bundle/.opencode/agents/orchestrator.md +1 -1
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/src/codev_workflow/bundle/AGENTS.md +1 -1
- open_codev_workflow-0.1.7/src/codev_workflow/bundle/docs/for-ai/ai-agent-guidelines.md +239 -0
- open_codev_workflow-0.1.7/src/codev_workflow/bundle/docs/for-human/development-guide.md +219 -0
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/src/codev_workflow/bundle/scripts/validate-development-workflow.py +3 -9
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/src/codev_workflow/cli.py +28 -6
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/src/codev_workflow/installer.py +82 -8
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/src/open_codev_workflow.egg-info/PKG-INFO +17 -7
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/src/open_codev_workflow.egg-info/SOURCES.txt +17 -7
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/tests/test_cli.py +63 -4
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/tests/test_installer.py +117 -4
- open_codev_workflow-0.1.7/tests/test_verify_release.py +88 -0
- open_codev_workflow-0.1.4/src/codev_workflow/bundle/docs/AI-WORKFLOW-PROMPTS.md +0 -322
- open_codev_workflow-0.1.4/src/codev_workflow/bundle/docs/WORKFLOW-COOKBOOK.md +0 -427
- open_codev_workflow-0.1.4/src/codev_workflow/bundle/docs/WORKFLOW-HUMAN.md +0 -221
- open_codev_workflow-0.1.4/src/codev_workflow/bundle/docs/for-ai/WORKFLOW-AGENTS.md +0 -188
- open_codev_workflow-0.1.4/src/codev_workflow/bundle/docs/handbooks/IDEA-TO-PRODUCTION-HANDBOOK.md +0 -1198
- open_codev_workflow-0.1.4/src/codev_workflow/bundle/docs/handbooks/LANGUAGE-AGNOSTIC-PROJECT-HANDBOOK.md +0 -753
- open_codev_workflow-0.1.4/src/codev_workflow/bundle/docs/handbooks/PYTHON-PROJECT-HANDBOOK.md +0 -955
- open_codev_workflow-0.1.4/tests/test_verify_release.py +0 -39
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/LICENSE +0 -0
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/setup.cfg +0 -0
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/src/codev_workflow/__main__.py +0 -0
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/src/codev_workflow/bundle/.agents/agents/reviewer.md +0 -0
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/src/codev_workflow/bundle/.agents/skills/build-change/SKILL.md +0 -0
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/src/codev_workflow/bundle/.agents/skills/build-change/agents/openai.yaml +0 -0
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/src/codev_workflow/bundle/.agents/skills/build-change/assets/implementation-plan.template.md +0 -0
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/src/codev_workflow/bundle/.agents/skills/clean-code-review/SKILL.md +0 -0
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/src/codev_workflow/bundle/.agents/skills/clean-code-review/agents/openai.yaml +0 -0
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/src/codev_workflow/bundle/.agents/skills/critique-review/SKILL.md +0 -0
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/src/codev_workflow/bundle/.agents/skills/critique-review/agents/openai.yaml +0 -0
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/src/codev_workflow/bundle/.agents/skills/critique-review/assets/suggested-edit.template.md +0 -0
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/src/codev_workflow/bundle/.agents/skills/define-product/SKILL.md +0 -0
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/src/codev_workflow/bundle/.agents/skills/define-product/agents/openai.yaml +0 -0
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/src/codev_workflow/bundle/.agents/skills/define-product/assets/brief.template.md +0 -0
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/src/codev_workflow/bundle/.agents/skills/design-solution/SKILL.md +0 -0
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/src/codev_workflow/bundle/.agents/skills/design-solution/agents/openai.yaml +0 -0
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/src/codev_workflow/bundle/.agents/skills/design-solution/assets/decision.template.md +0 -0
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/src/codev_workflow/bundle/.agents/skills/design-solution/assets/design.template.md +0 -0
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/src/codev_workflow/bundle/.agents/skills/launch-product/SKILL.md +0 -0
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/src/codev_workflow/bundle/.agents/skills/launch-product/agents/openai.yaml +0 -0
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/src/codev_workflow/bundle/.agents/skills/launch-product/assets/launch-plan.template.md +0 -0
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/src/codev_workflow/bundle/.agents/skills/plan-delivery/SKILL.md +0 -0
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/src/codev_workflow/bundle/.agents/skills/plan-delivery/agents/openai.yaml +0 -0
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/src/codev_workflow/bundle/.agents/skills/plan-delivery/assets/delivery-plan.template.md +0 -0
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/src/codev_workflow/bundle/.agents/skills/pr-review/agents/openai.yaml +0 -0
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/src/codev_workflow/bundle/.agents/skills/pr-review/scripts/publish_review.py +0 -0
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/src/codev_workflow/bundle/.agents/skills/pr-review/scripts/set-github-token.ps1 +0 -0
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/src/codev_workflow/bundle/.agents/skills/review-change/SKILL.md +0 -0
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/src/codev_workflow/bundle/.agents/skills/review-change/agents/openai.yaml +0 -0
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/src/codev_workflow/bundle/.agents/skills/specify-project/SKILL.md +0 -0
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/src/codev_workflow/bundle/.agents/skills/specify-project/agents/openai.yaml +0 -0
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/src/codev_workflow/bundle/.agents/skills/specify-project/assets/specification.template.md +0 -0
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/src/codev_workflow/bundle/.agents/skills/specify-project/references/interview-coverage.md +0 -0
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/src/codev_workflow/bundle/.agents/skills/specify-project/scripts/validate_specification.py +0 -0
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/src/codev_workflow/bundle/.junie/agents/reviewer.md +0 -0
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/src/codev_workflow/bundle/.junie/commands/pr-review.md +0 -0
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/src/codev_workflow/bundle/.opencode/agents/reviewer.md +0 -0
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/src/codev_workflow/bundle/evals/development-workflow/scenarios.json +0 -0
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/src/codev_workflow/bundle/scripts/evaluate-development-workflow.py +0 -0
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/src/open_codev_workflow.egg-info/dependency_links.txt +0 -0
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/src/open_codev_workflow.egg-info/entry_points.txt +0 -0
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/src/open_codev_workflow.egg-info/requires.txt +0 -0
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/src/open_codev_workflow.egg-info/top_level.txt +0 -0
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/tests/test_pr_review.py +0 -0
- {open_codev_workflow-0.1.4 → open_codev_workflow-0.1.7}/tests/test_version.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: open-codev-workflow
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.7
|
|
4
4
|
Summary: Human-guided AI software delivery for real repositories.
|
|
5
5
|
Author: Martin Urban
|
|
6
6
|
License-Expression: BSD-3-Clause
|
|
@@ -91,7 +91,7 @@ The development workflow for building a wheel is documented below.
|
|
|
91
91
|
### Initialize a repository
|
|
92
92
|
|
|
93
93
|
```shell
|
|
94
|
-
codev init --target ../my-project --platform all
|
|
94
|
+
codev init --target ../my-project --agent-platform all
|
|
95
95
|
codev check --target ../my-project
|
|
96
96
|
```
|
|
97
97
|
|
|
@@ -202,27 +202,37 @@ my-project/
|
|
|
202
202
|
├── AGENTS.md # a managed policy block; local text survives
|
|
203
203
|
├── .agents/skills/ # lifecycle, PR, and specialist review skills
|
|
204
204
|
├── .agents/agents/ # Antigravity subagents
|
|
205
|
+
├── .codex/agents/ # Codex orchestrator, builder, reviewer
|
|
205
206
|
├── .opencode/agents/ # orchestrator, builder, reviewer
|
|
206
207
|
├── .opencode/opencode.json # safely merged; existing agent settings survive
|
|
207
208
|
├── .junie/agents/ # Junie subagents
|
|
208
|
-
├── docs/ #
|
|
209
|
+
├── docs/ # AI guidance and human delivery guide
|
|
209
210
|
├── evals/development-workflow/ # behavioral scenarios
|
|
210
211
|
├── scripts/ # deterministic validators
|
|
211
212
|
└── .codev/lock.json # installed version and source hashes
|
|
212
213
|
```
|
|
213
214
|
|
|
214
|
-
Use `--platform codex` to omit the OpenCode, Junie, and Antigravity adapters.
|
|
215
|
-
|
|
216
|
-
|
|
215
|
+
Use `--agent-platform codex` to omit the OpenCode, Junie, and Antigravity adapters.
|
|
216
|
+
The Codex adapter installs TOML agents under `.codex/agents/`.
|
|
217
|
+
Use `--agent-platform opencode`, `--agent-platform junie`, or
|
|
218
|
+
`--agent-platform antigravity` to select one adapter, or use
|
|
219
|
+
`--agent-platform all` for every supported platform. Core
|
|
217
220
|
skills and human/AI workflow references are installed for every platform.
|
|
218
221
|
|
|
222
|
+
The human delivery guide is installed at `docs/for-human/development-guide.md`.
|
|
223
|
+
The cookbook, prompt templates, and detailed handbooks are maintained as
|
|
224
|
+
dedicated Wiki pages.
|
|
225
|
+
|
|
219
226
|
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
|
|
227
|
+
`codev update --agent-platform junie`. Use `diff --agent-platform junie` to preview the
|
|
221
228
|
platform expansion first.
|
|
222
229
|
|
|
223
230
|
The Antigravity adapter follows its official workspace location:
|
|
224
231
|
`.agents/agents/<name>.md`.
|
|
225
232
|
|
|
233
|
+
The Codex adapter follows its official workspace location:
|
|
234
|
+
`.codex/agents/<name>.toml`.
|
|
235
|
+
|
|
226
236
|
## Design principles
|
|
227
237
|
|
|
228
238
|
1. **Local at use time.** Agents read ordinary files in the target repository.
|
|
@@ -62,7 +62,7 @@ The development workflow for building a wheel is documented below.
|
|
|
62
62
|
### Initialize a repository
|
|
63
63
|
|
|
64
64
|
```shell
|
|
65
|
-
codev init --target ../my-project --platform all
|
|
65
|
+
codev init --target ../my-project --agent-platform all
|
|
66
66
|
codev check --target ../my-project
|
|
67
67
|
```
|
|
68
68
|
|
|
@@ -173,27 +173,37 @@ my-project/
|
|
|
173
173
|
├── AGENTS.md # a managed policy block; local text survives
|
|
174
174
|
├── .agents/skills/ # lifecycle, PR, and specialist review skills
|
|
175
175
|
├── .agents/agents/ # Antigravity subagents
|
|
176
|
+
├── .codex/agents/ # Codex orchestrator, builder, reviewer
|
|
176
177
|
├── .opencode/agents/ # orchestrator, builder, reviewer
|
|
177
178
|
├── .opencode/opencode.json # safely merged; existing agent settings survive
|
|
178
179
|
├── .junie/agents/ # Junie subagents
|
|
179
|
-
├── docs/ #
|
|
180
|
+
├── docs/ # AI guidance and human delivery guide
|
|
180
181
|
├── evals/development-workflow/ # behavioral scenarios
|
|
181
182
|
├── scripts/ # deterministic validators
|
|
182
183
|
└── .codev/lock.json # installed version and source hashes
|
|
183
184
|
```
|
|
184
185
|
|
|
185
|
-
Use `--platform codex` to omit the OpenCode, Junie, and Antigravity adapters.
|
|
186
|
-
|
|
187
|
-
|
|
186
|
+
Use `--agent-platform codex` to omit the OpenCode, Junie, and Antigravity adapters.
|
|
187
|
+
The Codex adapter installs TOML agents under `.codex/agents/`.
|
|
188
|
+
Use `--agent-platform opencode`, `--agent-platform junie`, or
|
|
189
|
+
`--agent-platform antigravity` to select one adapter, or use
|
|
190
|
+
`--agent-platform all` for every supported platform. Core
|
|
188
191
|
skills and human/AI workflow references are installed for every platform.
|
|
189
192
|
|
|
193
|
+
The human delivery guide is installed at `docs/for-human/development-guide.md`.
|
|
194
|
+
The cookbook, prompt templates, and detailed handbooks are maintained as
|
|
195
|
+
dedicated Wiki pages.
|
|
196
|
+
|
|
190
197
|
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
|
|
198
|
+
`codev update --agent-platform junie`. Use `diff --agent-platform junie` to preview the
|
|
192
199
|
platform expansion first.
|
|
193
200
|
|
|
194
201
|
The Antigravity adapter follows its official workspace location:
|
|
195
202
|
`.agents/agents/<name>.md`.
|
|
196
203
|
|
|
204
|
+
The Codex adapter follows its official workspace location:
|
|
205
|
+
`.codex/agents/<name>.toml`.
|
|
206
|
+
|
|
197
207
|
## Design principles
|
|
198
208
|
|
|
199
209
|
1. **Local at use time.** Agents read ordinary files in the target repository.
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "open-codev-workflow"
|
|
7
|
-
version = "0.1.
|
|
7
|
+
version = "0.1.7"
|
|
8
8
|
description = "Human-guided AI software delivery for real repositories."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.11"
|
|
@@ -56,11 +56,13 @@ codev_workflow = [
|
|
|
56
56
|
"bundle/.agents/skills/*/references/*",
|
|
57
57
|
"bundle/.agents/skills/*/scripts/*",
|
|
58
58
|
"bundle/.agents/agents/*.md",
|
|
59
|
+
"bundle/.codex/agents/*.toml",
|
|
59
60
|
"bundle/.opencode/agents/*.md",
|
|
60
61
|
"bundle/.junie/agents/*.md",
|
|
61
62
|
"bundle/.junie/commands/*.md",
|
|
62
63
|
"bundle/docs/*.md",
|
|
63
64
|
"bundle/docs/for-ai/*.md",
|
|
65
|
+
"bundle/docs/for-human/*.md",
|
|
64
66
|
"bundle/docs/handbooks/*.md",
|
|
65
67
|
"bundle/evals/development-workflow/*.json",
|
|
66
68
|
"bundle/scripts/*.py",
|
|
@@ -13,7 +13,7 @@ tools:
|
|
|
13
13
|
---
|
|
14
14
|
|
|
15
15
|
Implement exactly one bounded work item delegated by the orchestrator. Follow
|
|
16
|
-
`AGENTS.md`, `docs/for-ai/
|
|
16
|
+
`AGENTS.md`, `docs/for-ai/ai-agent-guidelines.md`, and `build-change`. Treat the
|
|
17
17
|
accepted implementation plan and its cited brief/specification/design/API as
|
|
18
18
|
authority; do not redesign them to make coding easier.
|
|
19
19
|
|
|
@@ -8,7 +8,7 @@ commandExecutionPolicy: sandbox
|
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
Act as the human's primary engineering partner. Follow `AGENTS.md`,
|
|
11
|
-
`docs/for-ai/
|
|
11
|
+
`docs/for-ai/ai-agent-guidelines.md`, and the applicable repository skills. Present
|
|
12
12
|
the work as `Understand`, `Build`, `Review`, or `Ship` and select the lightest
|
|
13
13
|
safe path without requiring the human to know skill names.
|
|
14
14
|
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: audit-google-python-style
|
|
3
|
+
description: Audit Python code against the Google Python Style Guide using this repository's Ruff and pymake toolchain plus supplemental analysis, then propose a short grouped remediation plan for explicit human approval before modifying approved source files. Invoke only when the user explicitly requests this audit or invokes $audit-google-python-style. Do not use for ordinary code reviews, pull-request reviews, linting, or implementation tasks.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Audit Google Python Style
|
|
7
|
+
|
|
8
|
+
Perform a specialist Google Python Style audit with Ruff and `pymake` as the
|
|
9
|
+
deterministic baseline. This skill has two explicit phases: plan, then apply
|
|
10
|
+
after approval.
|
|
11
|
+
|
|
12
|
+
## Invocation boundary
|
|
13
|
+
|
|
14
|
+
Use this skill only for an explicit request such as:
|
|
15
|
+
|
|
16
|
+
```text
|
|
17
|
+
$audit-google-python-style
|
|
18
|
+
Audit the Python codebase and propose approved style fixes.
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Do not invoke it implicitly as part of `review-change`, `clean-code-review`,
|
|
22
|
+
`pr-review`, a normal code review, or a generic linting request.
|
|
23
|
+
|
|
24
|
+
Invoking the skill is not approval to modify code. Keep the audit and plan
|
|
25
|
+
phase read-only. Require a separate affirmative human response to the exact
|
|
26
|
+
plan before entering the apply phase.
|
|
27
|
+
|
|
28
|
+
## Tooling policy
|
|
29
|
+
|
|
30
|
+
The attached guide mentions Pylint, but this repository deliberately uses Ruff.
|
|
31
|
+
Never invoke, install, configure, or require Pylint. Use the repository wrapper:
|
|
32
|
+
|
|
33
|
+
```powershell
|
|
34
|
+
.\pymake.bat lint
|
|
35
|
+
.\pymake.bat format dry_run=true
|
|
36
|
+
.\pymake.bat check_types
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Use `pymake` rather than invoking Ruff, formatters, or type checkers directly.
|
|
40
|
+
The supplemental standard-library checker is the only extra command because no
|
|
41
|
+
existing `pymake` task wraps it.
|
|
42
|
+
|
|
43
|
+
## Phase A: audit and approval plan
|
|
44
|
+
|
|
45
|
+
1. Read repository instructions, `ruff.toml`, `pyproject.toml`, `pyrefly.toml`,
|
|
46
|
+
package-specific configurations, generated-code conventions, local
|
|
47
|
+
exceptions, and the current working-tree state.
|
|
48
|
+
2. Define the in-scope `.py` files. Include tests unless explicitly excluded.
|
|
49
|
+
Exclude dependencies, caches, build output, vendored code, generated code,
|
|
50
|
+
and `.agents` only with repository evidence.
|
|
51
|
+
3. Run the deterministic `pymake` checks before making judgments.
|
|
52
|
+
4. Run `scripts/check_google_rules.py` for each Python package.
|
|
53
|
+
5. Perform the agent judgment pass over imports, naming, documentation,
|
|
54
|
+
exceptions, resources, global state, type annotations, and consistency.
|
|
55
|
+
6. Produce a short remediation plan grouped by source-file collection and rule
|
|
56
|
+
family. Include:
|
|
57
|
+
- approved scope and excluded files;
|
|
58
|
+
- grouped files or directories;
|
|
59
|
+
- exact style changes proposed;
|
|
60
|
+
- whether each change is Ruff-assisted or manual;
|
|
61
|
+
- non-goals and behavior-preservation constraints; and
|
|
62
|
+
- post-approval validation commands.
|
|
63
|
+
7. Stop and ask the human to approve, reject, or revise this exact plan. Do not
|
|
64
|
+
edit files, run `pymake` write-mode format/lint fixes, or apply automated
|
|
65
|
+
changes before approval.
|
|
66
|
+
|
|
67
|
+
If the plan depends on missing scope, a project-policy decision, uncertain
|
|
68
|
+
generated-code status, or a behavior/public-API/architecture change, ask for
|
|
69
|
+
clarification instead of silently expanding the plan.
|
|
70
|
+
|
|
71
|
+
## Strict documentation contract
|
|
72
|
+
|
|
73
|
+
Treat documentation as a style requirement for every documentable symbol,
|
|
74
|
+
whether it is public or private. This includes modules, functions, async
|
|
75
|
+
functions, classes, methods, constructors, properties, and other named
|
|
76
|
+
callables. Do not exempt a private or internal symbol merely because its name
|
|
77
|
+
starts with an underscore. Generated code is excluded only when the repository
|
|
78
|
+
provides evidence that it is generated and out of scope.
|
|
79
|
+
|
|
80
|
+
Every docstring must contain a concise summary sentence on its first line,
|
|
81
|
+
terminated as a complete sentence. For functions and methods, use Google
|
|
82
|
+
Python docstring sections as applicable:
|
|
83
|
+
|
|
84
|
+
- `Args:` describes every meaningful parameter, including keyword-only,
|
|
85
|
+
variadic, optional, and private parameters; `self` and `cls` do not need
|
|
86
|
+
entries.
|
|
87
|
+
- `Returns:` describes every returned value when the callable returns a value.
|
|
88
|
+
- `Yields:` describes yielded values for generators instead of `Returns:`.
|
|
89
|
+
- `Raises:` describes exceptions that are part of the callable's contract.
|
|
90
|
+
|
|
91
|
+
Do not accept an empty docstring, a placeholder, a name restatement, or a
|
|
92
|
+
summary without required parameter or return documentation. A callable with no
|
|
93
|
+
meaningful parameters does not need an `Args:` section, and a callable that
|
|
94
|
+
only returns `None` does not need `Returns:`, but its summary must still
|
|
95
|
+
describe the behavior. Missing docstrings or missing applicable sections are
|
|
96
|
+
style fixes for the approval plan unless their wording requires a human API or
|
|
97
|
+
behavior decision.
|
|
98
|
+
|
|
99
|
+
## Phase B: approved remediation
|
|
100
|
+
|
|
101
|
+
Enter this phase only after explicit approval of the plan. Treat approval as
|
|
102
|
+
limited to the named files, rule families, and non-goals.
|
|
103
|
+
|
|
104
|
+
1. Re-check the working tree and re-audit the approved scope. If relevant files
|
|
105
|
+
changed since the plan, stop and present an updated plan.
|
|
106
|
+
2. Apply only the approved style changes. Preserve runtime behavior, public
|
|
107
|
+
APIs, tests, and unrelated user changes. Do not alter dependencies,
|
|
108
|
+
configuration, or generated sources unless explicitly approved.
|
|
109
|
+
3. Use Ruff's formatter and safe fixes through the repository wrapper when the
|
|
110
|
+
approved scope covers the formatter's full target. For a partial scope,
|
|
111
|
+
make targeted edits and use `pymake` check-only validation to avoid changing
|
|
112
|
+
unapproved files.
|
|
113
|
+
4. Make remaining documentation, import, exception, type, naming, and design
|
|
114
|
+
corrections manually.
|
|
115
|
+
5. Re-run `pymake lint`, `pymake format dry_run=true`, `pymake check_types`, and
|
|
116
|
+
the supplemental checker. Run tests when edits could affect behavior.
|
|
117
|
+
6. Inspect the exact diff for scope expansion, accidental behavior changes,
|
|
118
|
+
weakened tests, and formatter churn.
|
|
119
|
+
7. Report applied changes, validation evidence, residual findings, and any
|
|
120
|
+
items that require a new approval. Do not merge, commit, or release.
|
|
121
|
+
|
|
122
|
+
## Supplemental checks
|
|
123
|
+
|
|
124
|
+
The checker identifies relative and wildcard imports, semicolons, explicit
|
|
125
|
+
line continuations, type comments, Pylint suppressions, `typing.Text`, legacy
|
|
126
|
+
typing aliases, broad exception handlers, assertions outside tests, missing or
|
|
127
|
+
incomplete docstrings for public and private documentable symbols, mutable
|
|
128
|
+
module/class state, nested definitions, lambdas, long functions, long lines,
|
|
129
|
+
malformed TODO comments, syntax errors, and unreadable source files.
|
|
130
|
+
|
|
131
|
+
Use Python's standard-library `ast` and `tokenize` modules. Hard syntactic
|
|
132
|
+
violations exit non-zero; judgment items are review findings until the agent
|
|
133
|
+
decides whether the guide and repository context establish a violation.
|
|
134
|
+
|
|
135
|
+
## Style judgment
|
|
136
|
+
|
|
137
|
+
Apply the guide's normative language precisely. Treat recommendations as
|
|
138
|
+
context-sensitive unless Ruff, the type checker, or local policy makes them
|
|
139
|
+
mandatory. Review module structure, docstring completeness and quality,
|
|
140
|
+
comments, exception design, resource lifetime and context managers,
|
|
141
|
+
comprehensions, decorators, generators, properties, logging, error messages,
|
|
142
|
+
TODO context, `__main__` guards, function size, annotations, `None` handling,
|
|
143
|
+
generics, and local consistency. The documentation contract above is an
|
|
144
|
+
explicit project audit policy and applies to private symbols as well as public
|
|
145
|
+
ones. Do not turn Pylint-specific instructions into requirements for this
|
|
146
|
+
Ruff-based repository.
|
|
147
|
+
|
|
148
|
+
## Plan and completion reports
|
|
149
|
+
|
|
150
|
+
The plan report must end with `APPROVAL REQUIRED` unless no changes are needed.
|
|
151
|
+
The apply report must include exact commands and results, approved scope,
|
|
152
|
+
changed files, residual findings, and one verdict: `COMPLETED`, `PARTIALLY
|
|
153
|
+
COMPLETED`, or `CLARIFICATION REQUIRED`.
|
|
154
|
+
|
|
155
|
+
Never claim compliance solely because Ruff passes. Human approval authorizes
|
|
156
|
+
only the approved remediation plan and never authorizes merge or release.
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
interface:
|
|
2
|
+
display_name: "Google Python Style Audit"
|
|
3
|
+
short_description: "Dedicated Google Python conformance audit"
|
|
4
|
+
default_prompt: "Use $audit-google-python-style to audit this Python codebase and propose approved style fixes."
|
|
5
|
+
|
|
6
|
+
policy:
|
|
7
|
+
allow_implicit_invocation: false
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Google Python Audit Check Matrix
|
|
2
|
+
|
|
3
|
+
## Authority
|
|
4
|
+
|
|
5
|
+
Use the attached Google Python Style Guide as the primary authority. Its major
|
|
6
|
+
areas are Python language rules, imports and packages, exceptions, mutable
|
|
7
|
+
global state, nested definitions, comprehensions, iterators, generators,
|
|
8
|
+
decorators, threading, power features, modern Python, type annotations, style
|
|
9
|
+
rules, documentation, naming, main guards, and consistency.
|
|
10
|
+
|
|
11
|
+
## Tool ownership
|
|
12
|
+
|
|
13
|
+
| Area | Primary check | Interpretation |
|
|
14
|
+
| --- | --- | --- |
|
|
15
|
+
| Ruff lint rules | `pymake lint` | Report configured Ruff findings. |
|
|
16
|
+
| Formatting | `pymake format dry_run=true` | Report formatter failures; do not auto-fix. |
|
|
17
|
+
| Type correctness | `pymake check_types` | Report type-checker failures separately from style. |
|
|
18
|
+
| Syntax and lexical bans | `scripts/check_google_rules.py` | Report confirmed findings. |
|
|
19
|
+
| Documentation and design | Agent judgment plus supplemental checker | Inspect every public and private documentable symbol, including summary, `Args`, `Returns`/`Yields`, and `Raises` sections. |
|
|
20
|
+
|
|
21
|
+
## Important local policy
|
|
22
|
+
|
|
23
|
+
The guide's Pylint instructions are not executable requirements here. Ruff is
|
|
24
|
+
the repository's lint and formatting tool, and `pymake` is the required task
|
|
25
|
+
wrapper. Never install or run Pylint to satisfy this audit.
|
|
26
|
+
|
|
27
|
+
The repository's Ruff configuration intentionally ignores some upstream rules,
|
|
28
|
+
including line length and certain docstring rules. The agent must therefore
|
|
29
|
+
review those Google-style requirements independently rather than treating a
|
|
30
|
+
passing Ruff run as proof of compliance.
|
|
31
|
+
|
|
32
|
+
## Hard versus judgment findings
|
|
33
|
+
|
|
34
|
+
Treat syntax errors, relative imports, wildcard imports, semicolons, explicit
|
|
35
|
+
line continuations, disallowed type comments, and `typing.Text` as
|
|
36
|
+
deterministic candidates. Treat broad exceptions, assertions, mutable globals,
|
|
37
|
+
long lines, long functions, nested definitions, and legacy typing aliases as
|
|
38
|
+
review items unless repository context proves a direct violation. Missing or
|
|
39
|
+
incomplete documentation for documentable public or private symbols is a
|
|
40
|
+
strict audit finding under this skill's project policy. Verify a complete
|
|
41
|
+
first-line summary, `Args:` for meaningful parameters, `Returns:` for returned
|
|
42
|
+
values, `Yields:` for generators, and `Raises:` when exceptions are part of the
|
|
43
|
+
contract.
|
|
44
|
+
|
|
45
|
+
## Scope
|
|
46
|
+
|
|
47
|
+
Exclude `node_modules`, `.venv`, caches, build output, vendored code, generated
|
|
48
|
+
sources, and `.agents` by default. Include tests by default. Record exclusions
|
|
49
|
+
and accepted exceptions in the audit report.
|