chore: add .github/CODEOWNERS for per-subsystem review ownership

Groups the repo into logical roles (build orchestration, setup,
electron patches, desktop integration, staging, packaging,
distribution, CI, docs) with @aaddrick as default. Cowork paths
route to @RayCharlizard; nix paths route to @typedrat.

Overrides are listed after broad globs so last-match-wins resolves
in the intended direction (e.g. docs/cowork-*.md is claimed by
@RayCharlizard after the broad /docs/ assignment).

Pairs with the scripts/ subdirectory layout landed in the previous
commits — each logical role maps cleanly to a path prefix.

Co-Authored-By: Claude <claude@anthropic.com>
This commit is contained in:
aaddrick
2026-04-20 07:09:26 -04:00
parent ff4821e087
commit d574ac54d7

84
.github/CODEOWNERS vendored Normal file
View File

@@ -0,0 +1,84 @@
# CODEOWNERS — per-subsystem review ownership
#
# Rules match top-to-bottom; the LAST matching rule wins.
# Layout:
# 1. Default owner
# 2. Explicit @aaddrick assignments grouped by logical role
# (listed even where redundant, so the intent is visible to
# future collaborators scanning the file)
# 3. Cowork and Nix overrides at the bottom so they stick
#
# Each listed user must be a repo collaborator (Settings →
# Collaborators) with at least read access, or GitHub silently
# ignores them.
# ---- Default: aaddrick owns anything not explicitly claimed ----
* @aaddrick
# ---- Build orchestration ----
# The top-level dispatcher and shared shell utilities.
/build.sh @aaddrick
/scripts/_common.sh @aaddrick
# ---- Setup (host detection, dependencies, upstream download) ----
/scripts/setup/ @aaddrick
# ---- Electron patches / minified JS ----
# The regex-driven patches applied to the unpacked app.asar, plus
# the frame-fix wrapper and native-binding stubs that ride along.
/scripts/patches/_common.sh @aaddrick
/scripts/patches/app-asar.sh @aaddrick
/scripts/patches/titlebar.sh @aaddrick
/scripts/patches/claude-code.sh @aaddrick
/scripts/frame-fix-wrapper.js @aaddrick
/scripts/claude-native-stub.js @aaddrick
# ---- Linux desktop integration ----
# Tray, menu bar, and quick-window behavior on Wayland/X11.
/scripts/patches/tray.sh @aaddrick
/scripts/patches/quick-window.sh @aaddrick
# ---- Staging (non-cowork) ----
# Electron copy-out, icon processing, locales, SSH helpers.
/scripts/staging/electron.sh @aaddrick
/scripts/staging/icons.sh @aaddrick
/scripts/staging/locales.sh @aaddrick
/scripts/staging/ssh-helpers.sh @aaddrick
# ---- Packaging formats (deb, rpm, AppImage) + runtime launcher ----
/scripts/packaging/ @aaddrick
/scripts/launcher-common.sh @aaddrick
# ---- Distribution & signing ----
# APT/DNF repo publishing, GPG signing, release automation.
# Most of this lives in workflows — gh-pages branch content isn't
# reachable via CODEOWNERS.
/.github/workflows/ @aaddrick
/scripts/resolve-download-url.py @aaddrick
# ---- CI / other GitHub metadata ----
/.github/ @aaddrick
# ---- Docs & style ----
/README.md @aaddrick
/CLAUDE.md @aaddrick
/STYLEGUIDE.md @aaddrick
/docs/ @aaddrick
#===============================================================================
# Overrides — listed last so their assignments stick against the
# broad globs above (/docs/, /.github/, etc.)
#===============================================================================
# ---- Cowork ----
# Electron-side patching, staging, daemon, and integration tests.
/scripts/patches/cowork.sh @RayCharlizard
/scripts/staging/cowork-resources.sh @RayCharlizard
/scripts/cowork-vm-service.js @RayCharlizard
/tests/cowork-*.bats @RayCharlizard
/docs/cowork-*.md @RayCharlizard
# ---- Nix ----
/flake.nix @typedrat
/flake.lock @typedrat
/nix/ @typedrat