-
Notifications
You must be signed in to change notification settings - Fork 2
Provider Plugin Contract
Ivan Seredkin edited this page May 23, 2026
·
2 revisions
Stub. Tracked as a "still to write" page on the Home hub.
This page will spec the Provider trait — budi's single extension point for adding a new AI coding agent:
-
The four methods —
discover_files(),parse_file(path, content, offset),watch_roots(), and the optionalsync_direct(...)for agents with a real Usage API (currently Cursor) -
Live tailer vs. one-shot import — both consume the same
Providerimpl through the same pipeline (IdentityEnricher → GitEnricher → ToolEnricher → FileEnricher → CostEnricher → TagEnricher) -
Attribution contract —
timestamp(RFC3339 UTC),session_id,providerkey,git_branch,ticket_id,activity,file_pathand what each must satisfy - Provider registration — wiring a new impl into the daemon tailer and the import command
- Worked example — adding a hypothetical "Windsurf" provider, end to end
SOUL.md— Architecture / Crates / Attribution contract sections-
crates/budi-core/src/provider.rs—Providertrait definition -
crates/budi-core/src/providers/— five reference implementations:claude_code.rs,codex.rs,copilot.rs,copilot_chat.rs,cursor.rs - JSONL Tailing as Live Ingestion — ADR-0089, the contract this trait operationalizes
If you're adding a new provider, drafting this page is welcome work. Open an issue with the proposed scope; the goal is one wiki page that lets someone unfamiliar with the codebase ship a new provider without reading every existing one.
budi · Issues · Releases · app.getbudi.dev · getbudi.dev
Start here
ADRs — Data & privacy
ADRs — Ingestion
ADRs — Pricing
- Model Pricing – Embedded Baseline and Runtime Refresh
- Custom Team Pricing and Effective Cost
- Codex Cost Model – Marginal-Token Counting
ADRs — Provider contracts
Operational references
- Daemon Lifecycle and Autostart
- Provider Plugin Contract
- Cloud Sync Mechanics
- Statusline Integration
- Operations and Observability
- Release and Versioning
Ecosystem