|
| 1 | +# Contributing |
| 2 | + |
| 3 | +Thanks for helping make Codex Micro support on Linux less adventurous. |
| 4 | + |
| 5 | +## Scope |
| 6 | + |
| 7 | +Good contributions include: |
| 8 | + |
| 9 | +- compatibility updates for new Codex desktop Linux overlay builds; |
| 10 | +- safer detection, backup, verification, and rollback logic; |
| 11 | +- additional NixOS architectures or reproducible runtime configurations; |
| 12 | +- sanitized diagnostics and confirmed compatibility reports; |
| 13 | +- documentation corrections. |
| 14 | + |
| 15 | +Please keep standalone agent/shell bindings in |
| 16 | +[`micro-herdr`](https://github.com/cartermccann/micro-herdr). This repository |
| 17 | +is specifically for native Codex desktop integration. |
| 18 | + |
| 19 | +## Ground rules |
| 20 | + |
| 21 | +- Do not commit Codex app bundles, ASAR files, Work Louder packages, firmware, |
| 22 | + device-kit code, or other proprietary artifacts. |
| 23 | +- Do not upload secrets, account data, full application logs, or personally |
| 24 | + identifying filesystem paths. |
| 25 | +- Preserve reversible behavior. A patch must have `status`, apply, verification, |
| 26 | + and restore paths. |
| 27 | +- Refuse unknown bundle states instead of broadening a regular expression until |
| 28 | + it happens to match. |
| 29 | +- Document the exact app, overlay, Electron, architecture, and dependency |
| 30 | + versions used for a compatibility claim. |
| 31 | + |
| 32 | +## Development setup |
| 33 | + |
| 34 | +Python `3.10+` is sufficient; the tools use only the standard library. |
| 35 | + |
| 36 | +```bash |
| 37 | +git clone https://github.com/cartermccann/codex-micro-linux.git |
| 38 | +cd codex-micro-linux |
| 39 | +make check |
| 40 | +``` |
| 41 | + |
| 42 | +## Updating for a new app build |
| 43 | + |
| 44 | +1. Start from an unmodified overlay. |
| 45 | +2. Record the Codex app, Electron, and overlay versions. |
| 46 | +3. Run every tool’s `status` action. |
| 47 | +4. Inspect changed feature-gate call sites and native-module paths. |
| 48 | +5. Update exact match counts and tests. |
| 49 | +6. Apply against a disposable overlay copy. |
| 50 | +7. Test idempotence and full restore. |
| 51 | +8. Test on a fresh Electron main process. |
| 52 | +9. Report each verification layer separately; do not infer dictation success |
| 53 | + from native-module loading. |
| 54 | + |
| 55 | +## Pull requests |
| 56 | + |
| 57 | +Include: |
| 58 | + |
| 59 | +- the problem and observed error; |
| 60 | +- affected versions and architecture; |
| 61 | +- why the change is narrowly scoped; |
| 62 | +- test output; |
| 63 | +- apply/restore evidence; |
| 64 | +- sanitized log excerpts where useful. |
| 65 | + |
| 66 | +Run before opening a PR: |
| 67 | + |
| 68 | +```bash |
| 69 | +make check |
| 70 | +git diff --check |
| 71 | +``` |
0 commit comments