You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: AGENTS.md
+9-33Lines changed: 9 additions & 33 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -257,47 +257,23 @@ If you spot a camelCase key already on disk or in a response (e.g. a legacy endp
257
257
258
258
## Testing & Verification
259
259
260
-
### Pre-Push Hooks (Automated)
260
+
### CI Gates
261
261
262
-
The repository uses [prek](https://github.com/nickel-lang/prek) (`@j178/prek`) for Git hooks. Pre-commit hooks sync Beads JSONL before commits, and pre-push hooks automatically run build, typecheck, lint, tests, and example validation before pushing. **Do not manually run the pre-push checks before pushing** — just push to the feature branch and let the pre-push hook validate.
262
+
GitHub Actions is the authoritative merge gate. The `CI` workflow runs build, typecheck, lint, tests, marketplace checks, docs link checks, and eval schema validation on pushes to `main`, pull requests to `main`, and manual dispatches.
263
263
264
-
**Setup (automatic):**
265
-
The hooks are installed automatically when you run `bun install` via the `prepare` script. To manually install:
264
+
Run the same core checks locally when you need fast feedback:
266
265
```bash
267
-
bunx prek install -t pre-commit -t pre-push
266
+
bun run verify
267
+
bun run validate:examples
268
268
```
269
269
270
-
**What runs before commit:**
271
-
-`br sync --flush-only` - Export Beads DB state to tracked JSONL when `br` is installed
272
-
-`.beads/` cleanliness check - If sync changes `.beads/`, stage those changes and commit again
270
+
Beads sync is explicit. If you change the Beads graph, run `br sync --flush-only`, stage `.beads/`, and include the exported JSONL in the commit. Hooks must not silently mutate or stash shared worktrees.
273
271
274
-
**What runs on push:**
275
-
-`.beads/` cleanliness check - Re-runs Beads sync when `br` is installed and blocks pushes with uncommitted Beads state
276
-
-`bun run build` - Build all packages
277
-
-`bun run typecheck` - TypeScript type checking
278
-
-`bun run lint` - Biome linting
279
-
-`bun run test` - All tests
280
-
-`bun run validate:examples` - Validate example eval YAML files against the agentv schema
272
+
NTM hooks are optional local coordination tooling. Do not commit generated `.beads/hooks/*` files or local `.ntm/config.toml`; they embed machine-specific paths and can bypass the repo's normal Git behavior when installed via `core.hooksPath`.
281
273
282
-
If any check fails, the push is blocked until the issues are fixed.
283
-
284
-
**Docs-only exception:**
285
-
For changes that only touch documentation, comments, or repository instructions and cannot affect runtime behavior, push with `--no-verify` to skip the full pre-push suite:
286
-
```bash
287
-
git push --no-verify
288
-
```
289
-
290
-
**Manual run (without pushing):**
291
-
```bash
292
-
bunx prek run --all-files --stage pre-push
293
-
```
294
-
295
-
NTM hooks are optional local coordination tooling. Do not commit generated `.beads/hooks/*` files or local `.ntm/config.toml`; they embed machine-specific paths and can bypass the repo's prek hooks when installed via `core.hooksPath`.
296
-
297
-
If an existing checkout has NTM hooks installed, restore the repo-standard prek hook path before reinstalling:
274
+
If an existing checkout has NTM or prek hooks installed, restore Git's default hook path:
298
275
```bash
299
276
git config --unset core.hooksPath
300
-
bun install
301
277
```
302
278
303
279
### Functional Testing (CLI)
@@ -566,7 +542,7 @@ Both steps are required before running builds, tests, or evals in the worktree.
566
542
567
543
### After Checking Out an Existing Branch or PR
568
544
569
-
Whenever you `git checkout`, `gh pr checkout`, `git pull`, or otherwise switch to a ref that may have changed `package.json` / `bun.lock`, run `bun install` before building, testing, or pushing. The pre-push hook builds all workspaces — if dependencies are stale, the push fails with errors like `Cannot find module 'recharts'` even though the source change is unrelated. `bun install` is cheap when already up-to-date, so run it by default after any ref switch.
545
+
Whenever you `git checkout`, `gh pr checkout`, `git pull`, or otherwise switch to a ref that may have changed `package.json` / `bun.lock`, run `bun install` before buildingor testing. If dependencies are stale, CI/local checks can fail with errors like `Cannot find module 'recharts'` even though the source change is unrelated. `bun install` is cheap when already up-to-date, so run it by default after any ref switch.
0 commit comments