Agent-native GitHub automation built on PHP.
Typed Saloon connectors, Laravel packages, Laravel Zero CLIs, and a knowledge store. Built for autonomous agents that need deterministic, testable access to GitHub and the rest of the house.
Install from Packagist:
composer require conduit-ui/connector
┌─────────────────────────────────────────┐
│ Agents │
└──────────────┬──────────────────────────┘
│
┌───────┴────────┐
│ CLI Layer │ Laravel Zero 13 (PHP ^8.3)
│ issue-cli │
│ pr-cli │
│ monitor / cf │
└───────┬─────────┘
│
┌───────┴────────┐
│ Domain Layer │ Laravel 13 libraries
│ issue / pr │
│ commit / repo │
│ email/calendar │
└───────┴─────────┘
│
┌───────┴────────┐
│ Connector │ Saloon 4 → GitHub API
└────────────────┘
knowledge → Qdrant (store / search / remember)
foundry → scaffold Laravel microservices
mattermost → bots, slash commands, streaming replies
Composer names are conduit-ui/<repo> unless noted.
| Package |
Description |
| connector |
Saloon GitHub API client (^1.1) |
| contracts |
Shared value objects and interfaces (^0.2) |
| core |
Component interfaces and storage (^0.1) |
| Package |
Description |
| issue |
Issue management (^1.0@RC) |
| pr |
Pull request management (^1.0) |
| commit |
Commit history (^0.1) |
| repo |
Repository governance (^0.4) |
| Package |
Description |
| email |
Provider-agnostic email client — Gmail first |
| calendar |
Provider-agnostic calendar — Google Calendar first |
| mattermost |
Mattermost bots, WebSocket, slash commands |
| Package |
Description |
| knowledge |
Knowledge base with semantic search (^3.0) |
| know-plugin |
Claude Code plugin for capture / retrieve |
| Package |
Description |
| foundry |
Manifest-driven Laravel microservice scaffolder |
| marketplace |
Claude Code plugins marketplace |
commit-cli and whisper are empty remotes — not shipped. Archived duplicates (conduit, know, issues, prs, …) stay archived.
- PHP ^8.2 libraries, PHP ^8.3 Laravel Zero CLIs
- Laravel 13 / Laravel Zero 13
- Saloon 4 for HTTP
- Pest for tests
- Qdrant for knowledge search
- Agent-first: Built for automation, not humans clicking buttons
- Layered: Connector → Domain → CLI. Use any layer directly
- Typed: Saloon requests/responses, not string parsing
- Testable: MockClient, Prism::fake(), Http::fake() — no real API calls in tests