Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .cursor/environment.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"install": "set -e; for d in chef-github-status chef-linear-context chef-pane-reaper kater-bridge; do if [ -f \"$d/package.json\" ]; then (cd \"$d\" && npm install --no-audit --no-fund); fi; done",
"start": "",
"terminals": []
}
35 changes: 35 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# AGENTS.md — herdr-plugins

Herdr plugins for the ChefGroep fleet. Each top-level directory is an independent
TypeScript plugin with its own `package.json`, `tsconfig.json`, and
`herdr-plugin.toml`; `registry.json` lists them.

| Plugin | Purpose | Notable |
|--------|---------|---------|
| `chef-github-status` | GitHub PR status | `build`, `check` |
| `chef-linear-context` | Linear issue context | `build`, `fetch` |
| `chef-pane-reaper` | Pane cleanup | has `node --test` unit tests |
| `kater-bridge` | Bridge to the Kater MCP gateway | depends on `@modelcontextprotocol/sdk`; `smoke`/`doctor` need a live gateway |

## Tooling

- Node (Cloud VM ships Node 22), TypeScript per package (compiled with `tsc`).
- There is **no root workspace / root lockfile** — install and build each plugin
in its own directory.

## Standard commands (per plugin dir)

- Install: `npm install`
- Build: `npm run build` (`tsc` → `dist/`)
- Test (where present): `npm test` — e.g. `chef-pane-reaper` runs `node --test dist/*.test.js`

## Cursor Cloud specific instructions

- Dependencies are per-plugin; the update script loops the plugin dirs and runs
`npm install` in each. Run build/test from inside the specific plugin dir.
- Smoke test here: `cd chef-pane-reaper && npm test` (builds + runs 9 unit tests,
no secrets/network needed). `chef-github-status`/`chef-linear-context` build
cleanly; their runtime commands (`check`/`fetch`) call GitHub/Linear and need
credentials.
- `kater-bridge`'s `smoke`/`doctor`/`pr-gate` target a running Kater gateway and
are not exercisable without one; `npm run build` still validates it compiles.