Thanks for helping build a proactive, multi-model AI teammate. See
CLAUDE.md for architectural rules inherited from the Claude IDE Bridge, and
CONTRIBUTING.bridge.md for the underlying bridge
dev guide.
- Extend, don't fork the bridge. If a bug is in the bridge layer, fix it there.
- Tests mandatory. New tools/adapters need vitest coverage. CI gates at 75% lines / 70% branches / 75% functions.
- No secrets in commits. Check
git diffbefore staging. - Small PRs — one adapter, one dashboard page, or one recipe schema change per PR.
Autonomous AI-agent PRs are welcome — they've produced genuinely useful work (e.g. the #850 cross-layer parity ratchets). To keep the cost/benefit positive for everyone, agent-authored PRs have a few extra rules:
- Link an issue. Every agent PR must reference an open issue or a maintainer comment that scoped the work. No speculative drive-by changes.
- No production code without prior maintainer sign-off. Default-allowed:
tests, docs, and parity/invariant ratchets under
src/__tests__/. Anything touchingsrc/,dashboard/src/, recipes, or config needs a maintainer to green-light the scope on the issue first. - Disclose the agent. Note in the PR body that it's agent-authored (most already do).
- One logical change per PR. Same small-PR rule as everyone else.
Maintainers review every agent diff in full — there is no auto-merge or fast-track based on a clean track record, regardless of how reliable a given account has been.
npm install
npm run build
npm test| Area | Files | Good first issue? |
|---|---|---|
| Model adapters | src/adapters/*.ts |
Yes — OpenAI, local/Ollama |
| Starter recipes | templates/recipes/*.yaml, examples/recipes/ |
Yes |
| Dashboard components | dashboard/src/components/ |
Phase-1+ |
| Security hardening | src/transport.ts, risk tiers |
Advanced |
All providers implement src/adapters/base.ts:ModelAdapter. Each adapter must:
- Pass the shared contract test suite (planned)
- Translate MCP
ToolDef↔ provider-native function-calling shape - Surface streaming via
AsyncIterable<StreamChunk> - Never log API keys or raw prompts at info level
Conventional Commits: feat(adapters): add OpenAI stream().
See CODE_OF_CONDUCT.md.