# third_party/ OCA addons vendored into this repo, each pinned to a commit SHA — never a branch. A moving branch inside a pinned image breaks the build later with no obvious cause (CLAUDE.md §2). ## Vendored | Addon | Source | Pinned SHA | Why | |-------|--------|-----------|-----| | `web_responsive` | [OCA/web](https://github.com/OCA/web), branch `19.0` | `b96307a8953f3bae075b8f7d94f40f00c2e63d1f` | O9 (`mc_education_theme`): the stock Community backend menu/breadcrumb UI is desktop-only otherwise, and Studio (which some paid alternatives lean on for a responsive backend) is Enterprise and out of scope per CLAUDE.md §1. | ## Adding an addon `OCA/web` (and most OCA repos) are monorepos with dozens of unrelated addons — `git subtree add` on the whole repo pulls all of them (23MB+ for one addon's sake). Instead, extract just the addon you need at the pinned commit: ```bash git clone --no-checkout --depth 1 /tmp/oca-scratch cd /tmp/oca-scratch git fetch --depth 1 origin git checkout FETCH_HEAD -- cp -r /. /third_party// ``` Record the addon, source repo/branch, pinned SHA, and the reason it was pinned in the table above, in the same commit as the vendored files.