codex-workspace-bootstrap 0.3.0__tar.gz → 0.5.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.
Files changed (34) hide show
  1. codex_workspace_bootstrap-0.5.0/PKG-INFO +306 -0
  2. codex_workspace_bootstrap-0.5.0/README.md +278 -0
  3. {codex_workspace_bootstrap-0.3.0 → codex_workspace_bootstrap-0.5.0}/pyproject.toml +4 -3
  4. {codex_workspace_bootstrap-0.3.0 → codex_workspace_bootstrap-0.5.0}/src/codex_workspace_bootstrap/__init__.py +1 -1
  5. codex_workspace_bootstrap-0.5.0/src/codex_workspace_bootstrap/agents.py +232 -0
  6. codex_workspace_bootstrap-0.5.0/src/codex_workspace_bootstrap/cli.py +301 -0
  7. codex_workspace_bootstrap-0.5.0/src/codex_workspace_bootstrap/doctor.py +50 -0
  8. codex_workspace_bootstrap-0.5.0/src/codex_workspace_bootstrap/fixes.py +72 -0
  9. codex_workspace_bootstrap-0.5.0/src/codex_workspace_bootstrap/instructions.py +654 -0
  10. codex_workspace_bootstrap-0.5.0/src/codex_workspace_bootstrap/preflight.py +232 -0
  11. codex_workspace_bootstrap-0.5.0/src/codex_workspace_bootstrap/sarif.py +205 -0
  12. codex_workspace_bootstrap-0.5.0/src/codex_workspace_bootstrap.egg-info/PKG-INFO +306 -0
  13. {codex_workspace_bootstrap-0.3.0 → codex_workspace_bootstrap-0.5.0}/src/codex_workspace_bootstrap.egg-info/SOURCES.txt +8 -0
  14. {codex_workspace_bootstrap-0.3.0 → codex_workspace_bootstrap-0.5.0}/src/codex_workspace_bootstrap.egg-info/entry_points.txt +1 -0
  15. {codex_workspace_bootstrap-0.3.0 → codex_workspace_bootstrap-0.5.0}/tests/test_cli.py +89 -3
  16. codex_workspace_bootstrap-0.5.0/tests/test_doctor.py +43 -0
  17. codex_workspace_bootstrap-0.5.0/tests/test_instruction_integrity.py +381 -0
  18. codex_workspace_bootstrap-0.5.0/tests/test_preflight.py +155 -0
  19. codex_workspace_bootstrap-0.5.0/tests/test_public_repo_patterns.py +72 -0
  20. codex_workspace_bootstrap-0.5.0/tests/test_sarif.py +96 -0
  21. codex_workspace_bootstrap-0.3.0/PKG-INFO +0 -235
  22. codex_workspace_bootstrap-0.3.0/README.md +0 -207
  23. codex_workspace_bootstrap-0.3.0/src/codex_workspace_bootstrap/agents.py +0 -108
  24. codex_workspace_bootstrap-0.3.0/src/codex_workspace_bootstrap/cli.py +0 -111
  25. codex_workspace_bootstrap-0.3.0/src/codex_workspace_bootstrap/sarif.py +0 -83
  26. codex_workspace_bootstrap-0.3.0/src/codex_workspace_bootstrap.egg-info/PKG-INFO +0 -235
  27. codex_workspace_bootstrap-0.3.0/tests/test_sarif.py +0 -44
  28. {codex_workspace_bootstrap-0.3.0 → codex_workspace_bootstrap-0.5.0}/LICENSE +0 -0
  29. {codex_workspace_bootstrap-0.3.0 → codex_workspace_bootstrap-0.5.0}/setup.cfg +0 -0
  30. {codex_workspace_bootstrap-0.3.0 → codex_workspace_bootstrap-0.5.0}/src/codex_workspace_bootstrap/__main__.py +0 -0
  31. {codex_workspace_bootstrap-0.3.0 → codex_workspace_bootstrap-0.5.0}/src/codex_workspace_bootstrap/audit.py +0 -0
  32. {codex_workspace_bootstrap-0.3.0 → codex_workspace_bootstrap-0.5.0}/src/codex_workspace_bootstrap.egg-info/dependency_links.txt +0 -0
  33. {codex_workspace_bootstrap-0.3.0 → codex_workspace_bootstrap-0.5.0}/src/codex_workspace_bootstrap.egg-info/top_level.txt +0 -0
  34. {codex_workspace_bootstrap-0.3.0 → codex_workspace_bootstrap-0.5.0}/tests/test_audit.py +0 -0
@@ -0,0 +1,306 @@
1
+ Metadata-Version: 2.4
2
+ Name: codex-workspace-bootstrap
3
+ Version: 0.5.0
4
+ Summary: Preflight AI coding repositories before Codex, Copilot, Cline, Claude, Gemini, Continue, or Cursor touches them.
5
+ Author: kohli217
6
+ License: MIT
7
+ Project-URL: Homepage, https://github.com/kohli217/codex-workspace-bootstrap
8
+ Project-URL: Repository, https://github.com/kohli217/codex-workspace-bootstrap
9
+ Project-URL: Issues, https://github.com/kohli217/codex-workspace-bootstrap/issues
10
+ Project-URL: Changelog, https://github.com/kohli217/codex-workspace-bootstrap/blob/main/CHANGELOG.md
11
+ Keywords: ai-coding,codex,openai,windows,github-actions,developer-tools,cli,agents-md
12
+ Classifier: Development Status :: 3 - Alpha
13
+ Classifier: Environment :: Console
14
+ Classifier: License :: OSI Approved :: MIT License
15
+ Classifier: Operating System :: Microsoft :: Windows
16
+ Classifier: Operating System :: POSIX :: Linux
17
+ Classifier: Programming Language :: Python :: 3
18
+ Classifier: Programming Language :: Python :: 3.10
19
+ Classifier: Programming Language :: Python :: 3.11
20
+ Classifier: Programming Language :: Python :: 3.12
21
+ Classifier: Programming Language :: Python :: 3.13
22
+ Classifier: Topic :: Software Development :: Quality Assurance
23
+ Classifier: Topic :: Software Development :: Testing
24
+ Requires-Python: >=3.10
25
+ Description-Content-Type: text/markdown
26
+ License-File: LICENSE
27
+ Dynamic: license-file
28
+
29
+ # codex-workspace-bootstrap
30
+
31
+ [![CI](https://github.com/kohli217/codex-workspace-bootstrap/actions/workflows/ci.yml/badge.svg)](https://github.com/kohli217/codex-workspace-bootstrap/actions/workflows/ci.yml)
32
+ [![CodeQL](https://github.com/kohli217/codex-workspace-bootstrap/actions/workflows/codeql.yml/badge.svg)](https://github.com/kohli217/codex-workspace-bootstrap/actions/workflows/codeql.yml)
33
+ [![Release](https://img.shields.io/github/v/release/kohli217/codex-workspace-bootstrap)](https://github.com/kohli217/codex-workspace-bootstrap/releases/latest)
34
+ [![PyPI](https://img.shields.io/pypi/v/codex-workspace-bootstrap)](https://pypi.org/project/codex-workspace-bootstrap/)
35
+ [![License](https://img.shields.io/github/license/kohli217/codex-workspace-bootstrap)](LICENSE)
36
+ [![Python](https://img.shields.io/badge/python-3.10%2B-blue)](pyproject.toml)
37
+
38
+ **Preflight your repository before an AI coding agent touches it — and catch instruction drift before different agents follow different rules.**
39
+
40
+ Windows-first. Local by default. CI-friendly. Designed for repositories used with Codex, Copilot, Cline, Claude Code, Gemini CLI, Continue, Cursor, and similar coding agents.
41
+
42
+ [日本語ガイド](docs/README.ja.md) · [Examples](docs/EXAMPLES.md) · [GitHub Action](docs/GITHUB_ACTION.md) · [Roadmap](docs/ROADMAP.md) · [Releases](https://github.com/kohli217/codex-workspace-bootstrap/releases)
43
+
44
+ > Community-maintained project. Not an official OpenAI product and not affiliated with OpenAI.
45
+
46
+ ## The 20-second demo
47
+
48
+ ```powershell
49
+ py -m pip install codex-workspace-bootstrap
50
+ cwb preflight .
51
+ ```
52
+
53
+ Typical output:
54
+
55
+ ```text
56
+ AI Repository Preflight
57
+ State: NEEDS ATTENTION
58
+ Project: Python
59
+ AI instructions: none detected
60
+ Audit: 10 passed, 4 warnings, 0 blocking
61
+ Instruction integrity: 0 findings, 0 drift, 0 invalid commands, 0 metadata
62
+ Next actions:
63
+ [P1] Add repository instructions for AI coding agents -> cwb init-agents .
64
+ [P2] Make the Codex CLI available when local Codex workflows are intended -> codex --version
65
+ ```
66
+
67
+ Fix the highest-value gap:
68
+
69
+ ```powershell
70
+ cwb init-agents .
71
+ cwb preflight .
72
+ ```
73
+
74
+ The goal is not a vanity score. The result is one of:
75
+
76
+ - **READY** — core repository signals and AI instructions are present, with no blocking finding;
77
+ - **NEEDS ATTENTION** — usable, but important repository or AI-instruction signals are missing;
78
+ - **BLOCKED** — a blocking finding such as a tracked secret-risk filename needs review.
79
+
80
+ ## What it checks
81
+
82
+ ### Repository readiness
83
+
84
+ - Git repository
85
+ - README
86
+ - license
87
+ - `.gitignore`
88
+ - common project manifests
89
+ - local Git / Python / Node.js / npm / PowerShell / WSL / Codex signals
90
+
91
+ ### AI instruction coverage
92
+
93
+ The preflight detects repository instruction/config signals for:
94
+
95
+ - **Codex / OpenAI agents** — `AGENTS.md`
96
+ - **GitHub Copilot** — repository instructions
97
+ - **Cline**
98
+ - **Claude Code**
99
+ - **Gemini CLI**
100
+ - **Continue**
101
+ - **Cursor**
102
+
103
+ It does not claim these files are correct merely because they exist. It tells you what was detected so a maintainer can review the actual instructions.
104
+
105
+ ### Cross-agent instruction integrity
106
+
107
+ When multiple AI instruction files exist, `cwb` reads executable-looking commands and checks them against repository evidence. It understands nested `AGENTS.md` / `AGENTS.override.md`, nested Cursor `.cursor/rules`, and common path-specific frontmatter such as Copilot `applyTo` and rule `globs`. It can flag:
108
+
109
+ - package-manager mismatches against `packageManager` and lockfiles;
110
+ - cross-agent package-manager drift;
111
+ - missing `package.json` scripts referenced by instructions;
112
+ - conflicting test/lint/build validation commands when instruction files have no shared command for the same validation family.
113
+
114
+ The lint is intentionally conservative: different files may contain additional commands without being treated as conflicts when they share a compatible validation baseline. Commands from different scopes are not compared as if they were global rules. Path-specific rules are validated individually against repository evidence but are not cross-compared for drift unless their full selector semantics can be represented safely. A repository is not marked READY when it only has nested/path-specific instructions and no repository-wide instruction baseline.
115
+
116
+ ### Risk signals
117
+
118
+ The audit warns about common secret-bearing filenames without printing their contents. When Git is available, it distinguishes **tracked**, **ignored**, and **untracked/unknown** candidates. Tracked risky filenames can become blocking findings in strict mode.
119
+
120
+ This is intentionally a lightweight preflight check, not a replacement for deep scanners such as Gitleaks or Trivy.
121
+
122
+ ## Why this exists
123
+
124
+ AI coding tools are good at editing code. They are not a substitute for repository hygiene.
125
+
126
+ Before handing a repository to an agent, maintainers still need answers to questions such as:
127
+
128
+ - Is this the right repository root?
129
+ - Is the expected toolchain available?
130
+ - Does the repository explain how to validate changes?
131
+ - Are AI instructions present?
132
+ - Are risky files accidentally tracked?
133
+ - Can CI surface the same checks for every pull request?
134
+
135
+ `codex-workspace-bootstrap` turns those questions into one repeatable preflight.
136
+
137
+ ## Short CLI
138
+
139
+ The package installs both command names:
140
+
141
+ ```powershell
142
+ cwb --version
143
+ codex-workspace-bootstrap --version
144
+ ```
145
+
146
+ Use `cwb` for day-to-day work.
147
+
148
+ ## Commands
149
+
150
+ ### One-command preflight
151
+
152
+ ```powershell
153
+ cwb preflight .
154
+ ```
155
+
156
+ Write reports for automation or review:
157
+
158
+ ```powershell
159
+ cwb preflight . --json preflight.json
160
+ cwb preflight . --markdown preflight.md
161
+ cwb preflight . --sarif preflight.sarif
162
+ ```
163
+
164
+ Use strict mode when blocking findings should return a non-zero exit code:
165
+
166
+ ```powershell
167
+ cwb preflight . --strict
168
+ ```
169
+
170
+ Fail CI on any instruction-integrity finding:
171
+
172
+ ```powershell
173
+ cwb preflight . --fail-on-integrity
174
+ ```
175
+
176
+ ### Detailed audit
177
+
178
+ ```powershell
179
+ cwb audit .
180
+ cwb audit . --json audit.json
181
+ cwb audit . --sarif audit.sarif
182
+ cwb audit . --strict
183
+ ```
184
+
185
+ ### Safe fix preview
186
+
187
+ ```powershell
188
+ cwb fix .
189
+ ```
190
+
191
+ This is preview-only by default. To apply only low-risk supported fixes:
192
+
193
+ ```powershell
194
+ cwb fix . --apply
195
+ ```
196
+
197
+ Existing conflicting instruction files are never auto-rewritten. They remain human-review findings.
198
+
199
+ ### Non-destructive doctor
200
+
201
+ ```powershell
202
+ cwb doctor .
203
+ ```
204
+
205
+ `doctor` prints remediation guidance only. It does not install software or modify system configuration.
206
+
207
+ ### Generate `AGENTS.md`
208
+
209
+ ```powershell
210
+ cwb init-agents .
211
+ ```
212
+
213
+ Generation is evidence-based: the tool cross-checks project manifests, package scripts, pytest configuration, and README commands. Plausible but unconfirmed commands are separated for maintainer review. Existing `AGENTS.md` files are never overwritten unless `--force` is explicit.
214
+
215
+ ## GitHub Action
216
+
217
+ The reusable Action is published on GitHub Marketplace.
218
+
219
+ ```yaml
220
+ - uses: actions/checkout@v7
221
+ - uses: actions/setup-python@v7
222
+ with:
223
+ python-version: "3.13"
224
+ - uses: kohli217/codex-workspace-bootstrap@v0.5.0
225
+ with:
226
+ path: .
227
+ strict: "true"
228
+ fail_on_integrity: "true"
229
+ ```
230
+
231
+ The Action adds the preflight Markdown report to the **GitHub Actions job summary**, so maintainers get a readable readiness snapshot without digging through raw logs. Optional SARIF output contains both repository-audit and instruction-integrity findings and can be uploaded to GitHub Code Scanning.
232
+
233
+ See [docs/GITHUB_ACTION.md](docs/GITHUB_ACTION.md).
234
+
235
+ Read-only evaluations against real public repositories are documented in [docs/PUBLIC_REPO_EVALUATIONS.md](docs/PUBLIC_REPO_EVALUATIONS.md). They are reproducible technical evaluations, not claims of third-party adoption.
236
+
237
+ ## Where it fits
238
+
239
+ This project is a **preflight layer**, not an AI coding agent and not a deep security scanner.
240
+
241
+ | Need | Use |
242
+ | --- | --- |
243
+ | Edit or generate code | Codex, Copilot, Cline, Claude Code, Continue, etc. |
244
+ | Deep secret/vulnerability scanning | Gitleaks, Trivy, dedicated security tooling |
245
+ | Reproducible toolchain management | Dev Containers, mise, project-specific tooling |
246
+ | **Check whether a repository is ready before AI coding starts** | **codex-workspace-bootstrap** |
247
+
248
+ The intent is to complement those tools, not replace them.
249
+
250
+ ## Safety model
251
+
252
+ - Core checks run locally.
253
+ - Suspected secret files are not opened or printed by the filename-risk check.
254
+ - Repository contents are not sent to a remote AI service by the core audit.
255
+ - Instruction files are read locally for deterministic linting; extracted commands are never executed by the integrity lint.
256
+ - Existing `AGENTS.md` files are protected unless overwrite is explicit.
257
+ - A passing preflight is evidence about the checks performed, **not a security guarantee**.
258
+
259
+ See [SECURITY.md](SECURITY.md).
260
+
261
+ ## Maintainer workflow
262
+
263
+ The project itself uses issue → branch → pull request → CI → merge → release.
264
+
265
+ Automated validation includes:
266
+
267
+ - Windows and Ubuntu;
268
+ - Python 3.10 and 3.13;
269
+ - built-wheel smoke tests;
270
+ - Action self-tests;
271
+ - strict self-audit;
272
+ - CodeQL;
273
+ - Dependabot;
274
+ - SARIF validation;
275
+ - PyPI publishing through GitHub OIDC Trusted Publishing.
276
+
277
+ ## Install
278
+
279
+ PyPI:
280
+
281
+ ```powershell
282
+ py -m pip install codex-workspace-bootstrap
283
+ ```
284
+
285
+ Pinned GitHub release artifact:
286
+
287
+ ```powershell
288
+ py -m pip install "https://github.com/kohli217/codex-workspace-bootstrap/releases/download/v0.5.0/codex_workspace_bootstrap-0.5.0-py3-none-any.whl"
289
+ ```
290
+
291
+ ## Development
292
+
293
+ ```powershell
294
+ git clone https://github.com/kohli217/codex-workspace-bootstrap.git
295
+ cd codex-workspace-bootstrap
296
+ py -m venv .venv
297
+ .\.venv\Scripts\Activate.ps1
298
+ python -m pip install -e . pytest
299
+ pytest -q
300
+ ```
301
+
302
+ Contributions and real-world usage reports are welcome. See [CONTRIBUTING.md](CONTRIBUTING.md), [SUPPORT.md](SUPPORT.md), [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md), and [docs/ADOPTION.md](docs/ADOPTION.md).
303
+
304
+ ## License
305
+
306
+ MIT. See [LICENSE](LICENSE).
@@ -0,0 +1,278 @@
1
+ # codex-workspace-bootstrap
2
+
3
+ [![CI](https://github.com/kohli217/codex-workspace-bootstrap/actions/workflows/ci.yml/badge.svg)](https://github.com/kohli217/codex-workspace-bootstrap/actions/workflows/ci.yml)
4
+ [![CodeQL](https://github.com/kohli217/codex-workspace-bootstrap/actions/workflows/codeql.yml/badge.svg)](https://github.com/kohli217/codex-workspace-bootstrap/actions/workflows/codeql.yml)
5
+ [![Release](https://img.shields.io/github/v/release/kohli217/codex-workspace-bootstrap)](https://github.com/kohli217/codex-workspace-bootstrap/releases/latest)
6
+ [![PyPI](https://img.shields.io/pypi/v/codex-workspace-bootstrap)](https://pypi.org/project/codex-workspace-bootstrap/)
7
+ [![License](https://img.shields.io/github/license/kohli217/codex-workspace-bootstrap)](LICENSE)
8
+ [![Python](https://img.shields.io/badge/python-3.10%2B-blue)](pyproject.toml)
9
+
10
+ **Preflight your repository before an AI coding agent touches it — and catch instruction drift before different agents follow different rules.**
11
+
12
+ Windows-first. Local by default. CI-friendly. Designed for repositories used with Codex, Copilot, Cline, Claude Code, Gemini CLI, Continue, Cursor, and similar coding agents.
13
+
14
+ [日本語ガイド](docs/README.ja.md) · [Examples](docs/EXAMPLES.md) · [GitHub Action](docs/GITHUB_ACTION.md) · [Roadmap](docs/ROADMAP.md) · [Releases](https://github.com/kohli217/codex-workspace-bootstrap/releases)
15
+
16
+ > Community-maintained project. Not an official OpenAI product and not affiliated with OpenAI.
17
+
18
+ ## The 20-second demo
19
+
20
+ ```powershell
21
+ py -m pip install codex-workspace-bootstrap
22
+ cwb preflight .
23
+ ```
24
+
25
+ Typical output:
26
+
27
+ ```text
28
+ AI Repository Preflight
29
+ State: NEEDS ATTENTION
30
+ Project: Python
31
+ AI instructions: none detected
32
+ Audit: 10 passed, 4 warnings, 0 blocking
33
+ Instruction integrity: 0 findings, 0 drift, 0 invalid commands, 0 metadata
34
+ Next actions:
35
+ [P1] Add repository instructions for AI coding agents -> cwb init-agents .
36
+ [P2] Make the Codex CLI available when local Codex workflows are intended -> codex --version
37
+ ```
38
+
39
+ Fix the highest-value gap:
40
+
41
+ ```powershell
42
+ cwb init-agents .
43
+ cwb preflight .
44
+ ```
45
+
46
+ The goal is not a vanity score. The result is one of:
47
+
48
+ - **READY** — core repository signals and AI instructions are present, with no blocking finding;
49
+ - **NEEDS ATTENTION** — usable, but important repository or AI-instruction signals are missing;
50
+ - **BLOCKED** — a blocking finding such as a tracked secret-risk filename needs review.
51
+
52
+ ## What it checks
53
+
54
+ ### Repository readiness
55
+
56
+ - Git repository
57
+ - README
58
+ - license
59
+ - `.gitignore`
60
+ - common project manifests
61
+ - local Git / Python / Node.js / npm / PowerShell / WSL / Codex signals
62
+
63
+ ### AI instruction coverage
64
+
65
+ The preflight detects repository instruction/config signals for:
66
+
67
+ - **Codex / OpenAI agents** — `AGENTS.md`
68
+ - **GitHub Copilot** — repository instructions
69
+ - **Cline**
70
+ - **Claude Code**
71
+ - **Gemini CLI**
72
+ - **Continue**
73
+ - **Cursor**
74
+
75
+ It does not claim these files are correct merely because they exist. It tells you what was detected so a maintainer can review the actual instructions.
76
+
77
+ ### Cross-agent instruction integrity
78
+
79
+ When multiple AI instruction files exist, `cwb` reads executable-looking commands and checks them against repository evidence. It understands nested `AGENTS.md` / `AGENTS.override.md`, nested Cursor `.cursor/rules`, and common path-specific frontmatter such as Copilot `applyTo` and rule `globs`. It can flag:
80
+
81
+ - package-manager mismatches against `packageManager` and lockfiles;
82
+ - cross-agent package-manager drift;
83
+ - missing `package.json` scripts referenced by instructions;
84
+ - conflicting test/lint/build validation commands when instruction files have no shared command for the same validation family.
85
+
86
+ The lint is intentionally conservative: different files may contain additional commands without being treated as conflicts when they share a compatible validation baseline. Commands from different scopes are not compared as if they were global rules. Path-specific rules are validated individually against repository evidence but are not cross-compared for drift unless their full selector semantics can be represented safely. A repository is not marked READY when it only has nested/path-specific instructions and no repository-wide instruction baseline.
87
+
88
+ ### Risk signals
89
+
90
+ The audit warns about common secret-bearing filenames without printing their contents. When Git is available, it distinguishes **tracked**, **ignored**, and **untracked/unknown** candidates. Tracked risky filenames can become blocking findings in strict mode.
91
+
92
+ This is intentionally a lightweight preflight check, not a replacement for deep scanners such as Gitleaks or Trivy.
93
+
94
+ ## Why this exists
95
+
96
+ AI coding tools are good at editing code. They are not a substitute for repository hygiene.
97
+
98
+ Before handing a repository to an agent, maintainers still need answers to questions such as:
99
+
100
+ - Is this the right repository root?
101
+ - Is the expected toolchain available?
102
+ - Does the repository explain how to validate changes?
103
+ - Are AI instructions present?
104
+ - Are risky files accidentally tracked?
105
+ - Can CI surface the same checks for every pull request?
106
+
107
+ `codex-workspace-bootstrap` turns those questions into one repeatable preflight.
108
+
109
+ ## Short CLI
110
+
111
+ The package installs both command names:
112
+
113
+ ```powershell
114
+ cwb --version
115
+ codex-workspace-bootstrap --version
116
+ ```
117
+
118
+ Use `cwb` for day-to-day work.
119
+
120
+ ## Commands
121
+
122
+ ### One-command preflight
123
+
124
+ ```powershell
125
+ cwb preflight .
126
+ ```
127
+
128
+ Write reports for automation or review:
129
+
130
+ ```powershell
131
+ cwb preflight . --json preflight.json
132
+ cwb preflight . --markdown preflight.md
133
+ cwb preflight . --sarif preflight.sarif
134
+ ```
135
+
136
+ Use strict mode when blocking findings should return a non-zero exit code:
137
+
138
+ ```powershell
139
+ cwb preflight . --strict
140
+ ```
141
+
142
+ Fail CI on any instruction-integrity finding:
143
+
144
+ ```powershell
145
+ cwb preflight . --fail-on-integrity
146
+ ```
147
+
148
+ ### Detailed audit
149
+
150
+ ```powershell
151
+ cwb audit .
152
+ cwb audit . --json audit.json
153
+ cwb audit . --sarif audit.sarif
154
+ cwb audit . --strict
155
+ ```
156
+
157
+ ### Safe fix preview
158
+
159
+ ```powershell
160
+ cwb fix .
161
+ ```
162
+
163
+ This is preview-only by default. To apply only low-risk supported fixes:
164
+
165
+ ```powershell
166
+ cwb fix . --apply
167
+ ```
168
+
169
+ Existing conflicting instruction files are never auto-rewritten. They remain human-review findings.
170
+
171
+ ### Non-destructive doctor
172
+
173
+ ```powershell
174
+ cwb doctor .
175
+ ```
176
+
177
+ `doctor` prints remediation guidance only. It does not install software or modify system configuration.
178
+
179
+ ### Generate `AGENTS.md`
180
+
181
+ ```powershell
182
+ cwb init-agents .
183
+ ```
184
+
185
+ Generation is evidence-based: the tool cross-checks project manifests, package scripts, pytest configuration, and README commands. Plausible but unconfirmed commands are separated for maintainer review. Existing `AGENTS.md` files are never overwritten unless `--force` is explicit.
186
+
187
+ ## GitHub Action
188
+
189
+ The reusable Action is published on GitHub Marketplace.
190
+
191
+ ```yaml
192
+ - uses: actions/checkout@v7
193
+ - uses: actions/setup-python@v7
194
+ with:
195
+ python-version: "3.13"
196
+ - uses: kohli217/codex-workspace-bootstrap@v0.5.0
197
+ with:
198
+ path: .
199
+ strict: "true"
200
+ fail_on_integrity: "true"
201
+ ```
202
+
203
+ The Action adds the preflight Markdown report to the **GitHub Actions job summary**, so maintainers get a readable readiness snapshot without digging through raw logs. Optional SARIF output contains both repository-audit and instruction-integrity findings and can be uploaded to GitHub Code Scanning.
204
+
205
+ See [docs/GITHUB_ACTION.md](docs/GITHUB_ACTION.md).
206
+
207
+ Read-only evaluations against real public repositories are documented in [docs/PUBLIC_REPO_EVALUATIONS.md](docs/PUBLIC_REPO_EVALUATIONS.md). They are reproducible technical evaluations, not claims of third-party adoption.
208
+
209
+ ## Where it fits
210
+
211
+ This project is a **preflight layer**, not an AI coding agent and not a deep security scanner.
212
+
213
+ | Need | Use |
214
+ | --- | --- |
215
+ | Edit or generate code | Codex, Copilot, Cline, Claude Code, Continue, etc. |
216
+ | Deep secret/vulnerability scanning | Gitleaks, Trivy, dedicated security tooling |
217
+ | Reproducible toolchain management | Dev Containers, mise, project-specific tooling |
218
+ | **Check whether a repository is ready before AI coding starts** | **codex-workspace-bootstrap** |
219
+
220
+ The intent is to complement those tools, not replace them.
221
+
222
+ ## Safety model
223
+
224
+ - Core checks run locally.
225
+ - Suspected secret files are not opened or printed by the filename-risk check.
226
+ - Repository contents are not sent to a remote AI service by the core audit.
227
+ - Instruction files are read locally for deterministic linting; extracted commands are never executed by the integrity lint.
228
+ - Existing `AGENTS.md` files are protected unless overwrite is explicit.
229
+ - A passing preflight is evidence about the checks performed, **not a security guarantee**.
230
+
231
+ See [SECURITY.md](SECURITY.md).
232
+
233
+ ## Maintainer workflow
234
+
235
+ The project itself uses issue → branch → pull request → CI → merge → release.
236
+
237
+ Automated validation includes:
238
+
239
+ - Windows and Ubuntu;
240
+ - Python 3.10 and 3.13;
241
+ - built-wheel smoke tests;
242
+ - Action self-tests;
243
+ - strict self-audit;
244
+ - CodeQL;
245
+ - Dependabot;
246
+ - SARIF validation;
247
+ - PyPI publishing through GitHub OIDC Trusted Publishing.
248
+
249
+ ## Install
250
+
251
+ PyPI:
252
+
253
+ ```powershell
254
+ py -m pip install codex-workspace-bootstrap
255
+ ```
256
+
257
+ Pinned GitHub release artifact:
258
+
259
+ ```powershell
260
+ py -m pip install "https://github.com/kohli217/codex-workspace-bootstrap/releases/download/v0.5.0/codex_workspace_bootstrap-0.5.0-py3-none-any.whl"
261
+ ```
262
+
263
+ ## Development
264
+
265
+ ```powershell
266
+ git clone https://github.com/kohli217/codex-workspace-bootstrap.git
267
+ cd codex-workspace-bootstrap
268
+ py -m venv .venv
269
+ .\.venv\Scripts\Activate.ps1
270
+ python -m pip install -e . pytest
271
+ pytest -q
272
+ ```
273
+
274
+ Contributions and real-world usage reports are welcome. See [CONTRIBUTING.md](CONTRIBUTING.md), [SUPPORT.md](SUPPORT.md), [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md), and [docs/ADOPTION.md](docs/ADOPTION.md).
275
+
276
+ ## License
277
+
278
+ MIT. See [LICENSE](LICENSE).
@@ -4,13 +4,13 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "codex-workspace-bootstrap"
7
- version = "0.3.0"
8
- description = "Audit and bootstrap Windows repositories for effective Codex workflows."
7
+ version = "0.5.0"
8
+ description = "Preflight AI coding repositories before Codex, Copilot, Cline, Claude, Gemini, Continue, or Cursor touches them."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
11
11
  license = { text = "MIT" }
12
12
  authors = [{ name = "kohli217" }]
13
- keywords = ["codex", "openai", "windows", "developer-tools", "cli", "oss", "agents-md"]
13
+ keywords = ["ai-coding", "codex", "openai", "windows", "github-actions", "developer-tools", "cli", "agents-md"]
14
14
  classifiers = [
15
15
  "Development Status :: 3 - Alpha",
16
16
  "Environment :: Console",
@@ -34,6 +34,7 @@ Changelog = "https://github.com/kohli217/codex-workspace-bootstrap/blob/main/CHA
34
34
 
35
35
  [project.scripts]
36
36
  codex-workspace-bootstrap = "codex_workspace_bootstrap.cli:main"
37
+ cwb = "codex_workspace_bootstrap.cli:main"
37
38
 
38
39
  [tool.setuptools.packages.find]
39
40
  where = ["src"]
@@ -1,3 +1,3 @@
1
1
  """codex-workspace-bootstrap package."""
2
2
 
3
- __version__ = "0.3.0"
3
+ __version__ = "0.5.0"