Context
Surfaced during PR #48's review (code-reviewer agent, 2026-08-25). .local-ci.json exists explicitly "for local-ci parity" with CI (see chore: add .local-ci.json for local-ci parity (#48) (#23)), but CI's second job (.github/workflows/ci.yml's opencode-plugin job: npm ci → npm run typecheck → npm test inside .opencode-plugin/) has no .local-ci.json equivalent.
Why local-ci's own JS driver doesn't already cover it: it requires a package.json at the repo root (none exists — the OpenCode plugin's package.json lives in .opencode-plugin/), and local-ci's directory discovery prunes dot-directories (-name '.?*' -prune), so .opencode-plugin/ is never scanned even if you ran local-ci against it directly by name.
Suggested fix
Add a fourth custom check to .local-ci.json:
{
"label": "opencode plugin",
"run": "cd .opencode-plugin && npm ci && npm run typecheck && npm test"
}
Low priority, not a functional gap (CI still catches it) — just a parity gap between local-ci and what CI actually runs, same class of thing this repo already tracks as worth closing.
Context
Surfaced during PR #48's review (code-reviewer agent, 2026-08-25).
.local-ci.jsonexists explicitly "for local-ci parity" with CI (seechore: add .local-ci.json for local-ci parity (#48) (#23)), but CI's second job (.github/workflows/ci.yml'sopencode-pluginjob:npm ci→npm run typecheck→npm testinside.opencode-plugin/) has no.local-ci.jsonequivalent.Why local-ci's own JS driver doesn't already cover it: it requires a
package.jsonat the repo root (none exists — the OpenCode plugin'spackage.jsonlives in.opencode-plugin/), and local-ci's directory discovery prunes dot-directories (-name '.?*' -prune), so.opencode-plugin/is never scanned even if you ran local-ci against it directly by name.Suggested fix
Add a fourth custom check to
.local-ci.json:{ "label": "opencode plugin", "run": "cd .opencode-plugin && npm ci && npm run typecheck && npm test" }Low priority, not a functional gap (CI still catches it) — just a parity gap between
local-ciand what CI actually runs, same class of thing this repo already tracks as worth closing.