|
1 | 1 | # object_reference — Claude Code instructions |
2 | 2 |
|
3 | | -## Monitor GitHub CI after every push |
4 | | - |
5 | | -This repository runs GitHub Actions CI (`.github/workflows/ci.yml`) on every push |
6 | | -and pull request. After **every** `git push` to this repo — whether to a branch or |
7 | | -one that updates an open PR — monitor the resulting CI run to completion and fix any |
8 | | -failures before treating the work as done: |
9 | | - |
10 | | -1. Find the run: `gh run list --branch <branch> --limit 1` |
11 | | -2. Watch it: `gh run watch <run-id>` (or poll `gh run view <run-id>`) |
12 | | -3. On failure: `gh run view <run-id> --log-failed`, diagnose, fix, and push again. |
13 | | - |
14 | | -Do not consider a push complete until its CI run is green (or the failure is |
15 | | -understood and explicitly accepted by the user). |
16 | | - |
17 | | -## PR title convention for CI-only PRs |
18 | | - |
19 | | -A PR gets a title starting with `CI: ` (capital, colon, space) when its diff |
20 | | -doesn't touch anything involved with the actual code itself — this is a HARD |
21 | | -boundary, not a synonym for "lives under `.github/workflows/`": |
22 | | - |
23 | | -- If a change touches ANYTHING that's part of the actual code — SQL source, |
24 | | - `object_reference.control`, anything that affects what gets installed or |
25 | | - how it behaves at runtime — it is NOT CI-only, full stop. When unsure, |
26 | | - **always err on the side of NOT CI-only.** |
27 | | -- Files elsewhere that genuinely don't touch the code qualify too, not just |
28 | | - `.github/workflows/*`: e.g. `.gitignore`, this `CLAUDE.md`, other pure |
29 | | - documentation/metadata. |
30 | | -- **`test/` is treated as NOT CI-only, even though it's a bit of a grey |
31 | | - area.** Test files aren't the shipped code itself, but default to |
32 | | - excluding them from the prefix rather than trying to judge case by case. |
33 | | -- A PR that's CI-*motivated* but also touches a real code/test file (a |
34 | | - `bin/` script a workflow calls, a linter's `Makefile` wiring if it affects |
35 | | - what ships, a submodule) is NOT CI-only under this reading, even though CI |
36 | | - is the reason it exists — don't stretch the prefix to cover those. |
37 | | - |
38 | | -Check the actual file list |
39 | | -(`gh pr view <n> --json files --jq '.files[].path'`) before applying it, don't |
40 | | -guess from the title/description alone. |
| 3 | +See [`../ai/CLAUDE.md`](../ai/CLAUDE.md) (or |
| 4 | +https://github.com/Postgres-Extensions/ai/blob/main/CLAUDE.md if that path |
| 5 | +doesn't exist locally — clone it to `../ai/` per its own first instruction) |
| 6 | +for CI-monitoring and other cross-repo conventions, and `../ai/PR.md` for |
| 7 | +PR conventions including the `CI: ` title-prefix rule. |
| 8 | + |
| 9 | +This repository runs GitHub Actions CI via `.github/workflows/ci.yml` on |
| 10 | +every push and pull request. |
0 commit comments