-
Notifications
You must be signed in to change notification settings - Fork 0
chore: update profile README with Sentinel certification focus #1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -1,95 +1,94 @@ | ||||||
| # Conduit | ||||||
|
|
||||||
| **GitHub automation that actually works.** | ||||||
| > **GitHub API connectors that work exactly as documented. No surprises. No exceptions.** | ||||||
|
|
||||||
| Composable PHP packages built for AI agents. Each package is a single verb: `issue`, `pr`, `commit`, `repo`, `action`. Chain them together to build autonomous GitHub workflows that don't break. | ||||||
| [](https://github.com/synapse-sentinel/gate) | ||||||
|
|
||||||
| ## The Ecosystem | ||||||
| ## The Standard | ||||||
|
|
||||||
| | Package | What It Does | Install | | ||||||
| |---------|--------------|---------| | ||||||
| | [connector](https://github.com/conduit-ui/connector) | HTTP foundation layer (Saloon) | `composer require conduit-ui/connector` | | ||||||
| | [issue](https://github.com/conduit-ui/issue) | Create, update, close issues | `composer require conduit-ui/issue` | | ||||||
| | [pr](https://github.com/conduit-ui/pr) | Manage pull requests | `composer require conduit-ui/pr` | | ||||||
| | [commit](https://github.com/conduit-ui/commit) | Work with commit history | `composer require conduit-ui/commit` | | ||||||
| | [repo](https://github.com/conduit-ui/repo) | Repository governance | `composer require conduit-ui/repo` | | ||||||
| | [action](https://github.com/conduit-ui/action) | Trigger GitHub Actions | `composer require conduit-ui/action` | | ||||||
| | [review](https://github.com/conduit-ui/review) | Code review automation | `composer require conduit-ui/review` | | ||||||
| | [know](https://github.com/conduit-ui/know) | Agent domain knowledge | `composer require conduit-ui/know` | | ||||||
| Every certified Conduit package: | ||||||
| - **Works as documented** - No hidden behaviors or edge cases | ||||||
| - **100% test coverage** - Every line proven correct | ||||||
| - **Fails fast** - Typed exceptions, not silent errors | ||||||
| - **Auto-verified** - PRs merge only when Sentinel certifies | ||||||
|
|
||||||
| ## Quick Start | ||||||
| Packages without the Sentinel badge are in active development. | ||||||
|
|
||||||
| ```php | ||||||
| use ConduitUi\GitHubConnector\Connector; | ||||||
| use ConduitUi\Issue\IssueResource; | ||||||
|
|
||||||
| // Connect | ||||||
| $connector = new Connector(token: 'ghp_...'); | ||||||
|
|
||||||
| // Create issue | ||||||
| $issue = new IssueResource($connector); | ||||||
| $issue->create('owner/repo', [ | ||||||
| 'title' => 'Bug found by agent', | ||||||
| 'body' => 'Details...', | ||||||
| 'labels' => ['bug', 'agent-created'] | ||||||
| ]); | ||||||
| ## Ecosystem | ||||||
|
|
||||||
| | Package | Purpose | Status | | ||||||
| |---------|---------|--------| | ||||||
| | [connector](https://github.com/conduit-ui/connector) | HTTP transport, typed exceptions | [](https://github.com/conduit-ui/connector/actions/workflows/gate.yml) | | ||||||
| | [issue](https://github.com/conduit-ui/issue) | Issue CRUD, labels, milestones | [](https://github.com/conduit-ui/issue/actions/workflows/gate.yml) | | ||||||
| | [pr](https://github.com/conduit-ui/pr) | PR review, merge, query | [](https://github.com/conduit-ui/pr/actions/workflows/gate.yml) | | ||||||
| | [repo](https://github.com/conduit-ui/repo) | Repository management |  | | ||||||
| | [commit](https://github.com/conduit-ui/commit) | Commit operations |  | | ||||||
| | [action](https://github.com/conduit-ui/action) | GitHub Actions integration |  | | ||||||
|
|
||||||
| ## Quality Gates | ||||||
|
|
||||||
| Every package passes **Synapse Sentinel** certification: | ||||||
|
|
||||||
| ``` | ||||||
| ✓ Tests & Coverage (100% threshold) | ||||||
| ✓ Security Audit (no vulnerabilities) | ||||||
| ✓ Pest Syntax (describe/it blocks) | ||||||
| ✓ Static Analysis (PHPStan level 8) | ||||||
| ``` | ||||||
|
Comment on lines
+32
to
37
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Add language identifiers to fenced blocks (MD040) to satisfy markdownlint and improve rendering -```
+```text
✓ Tests & Coverage (100% threshold)
✓ Security Audit (no vulnerabilities)
✓ Pest Syntax (describe/it blocks)
✓ Static Analysis (PHPStan level 8)@@ Also applies to: 62-72 🧰 Tools🪛 markdownlint-cli2 (0.18.1)32-32: Fenced code blocks should have a language specified (MD040, fenced-code-language) 🤖 Prompt for AI Agents |
||||||
|
|
||||||
| Each package is: | ||||||
| - **Minimal** - One responsibility | ||||||
| - **Composable** - Mix and match | ||||||
| - **Type-safe** - Full PHP 8.2+ typing | ||||||
| - **Tested** - Pest coverage | ||||||
| PRs auto-merge when certification passes. No exceptions. | ||||||
|
|
||||||
| ## Built for Agents | ||||||
| ## Quick Start | ||||||
|
|
||||||
| Human developers use GitHub's UI. AI agents need programmatic interfaces. | ||||||
| ```bash | ||||||
| composer require conduit-ui/connector conduit-ui/issue | ||||||
| ``` | ||||||
|
|
||||||
| Conduit gives agents structured, deterministic access to GitHub. Same input, same output. No surprises. | ||||||
| ```php | ||||||
| use ConduitUI\Connector\Connector; | ||||||
| use ConduitUI\Issue\IssuesService; | ||||||
|
|
||||||
| Perfect for: | ||||||
| - Autonomous issue triaging | ||||||
| - Automated PR workflows | ||||||
| - Repository governance bots | ||||||
| - GitHub Actions orchestration | ||||||
| - Code review automation | ||||||
| $connector = new Connector(env('GITHUB_TOKEN')); | ||||||
| $issues = new IssuesService($connector); | ||||||
|
|
||||||
| // Every method works exactly as documented | ||||||
| $issue = $issues->get('owner', 'repo', 123); | ||||||
| $issues->addLabels('owner', 'repo', 123, ['bug', 'priority-high']); | ||||||
| $issues->close('owner', 'repo', 123); | ||||||
| ``` | ||||||
|
|
||||||
| ## Architecture | ||||||
|
|
||||||
| ``` | ||||||
| ┌─────────────┐ | ||||||
| │ Your Agent │ | ||||||
| └──────┬──────┘ | ||||||
| │ | ||||||
| ↓ | ||||||
| ┌─────────────────────────────────────┐ | ||||||
| │ Conduit Packages (issue/pr/etc) │ | ||||||
| └──────────────┬──────────────────────┘ | ||||||
| │ | ||||||
| ↓ | ||||||
| ┌──────────────┐ | ||||||
| │ Connector │ ← Saloon HTTP | ||||||
| └──────┬───────┘ | ||||||
| │ | ||||||
| ↓ | ||||||
| ┌──────────────┐ | ||||||
| │ GitHub API │ | ||||||
| └──────────────┘ | ||||||
| ┌─────────────────────────────────────────────────────┐ | ||||||
| │ Your Application │ | ||||||
| ├─────────────────────────────────────────────────────┤ | ||||||
| │ issue │ pr │ repo │ action │ commit │ | ||||||
| ├─────────────────────────────────────────────────────┤ | ||||||
| │ connector │ | ||||||
| ├─────────────────────────────────────────────────────┤ | ||||||
| │ Saloon HTTP Client │ | ||||||
| └─────────────────────────────────────────────────────┘ | ||||||
| ``` | ||||||
|
|
||||||
| ## Philosophy | ||||||
| ## Requirements | ||||||
|
|
||||||
| - PHP 8.2+ | ||||||
| - GitHub personal access token | ||||||
|
|
||||||
| ## Contributing | ||||||
|
|
||||||
| - **Singular**: One word, one purpose | ||||||
| - **Deterministic**: Predictable behavior | ||||||
| - **Agent-first**: Built for automation | ||||||
| - **No magic**: Explicit over implicit | ||||||
| 1. Fork the relevant package | ||||||
| 2. Write tests first (100% coverage required) | ||||||
| 3. Implement your changes | ||||||
| 4. PR auto-merges when Sentinel certifies | ||||||
|
|
||||||
| ## Support | ||||||
|
|
||||||
| Open issues on package repos. PRs welcome. | ||||||
|
|
||||||
| For enterprise support or custom packages: jordan@partridge.rocks | ||||||
| Enterprise support: jordan@partridge.rocks | ||||||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Avoid bare email (MD034): make it a link -Enterprise support: jordan@partridge.rocks
+Enterprise support: <mailto:jordan@partridge.rocks>📝 Committable suggestion
Suggested change
🧰 Tools🪛 markdownlint-cli2 (0.18.1)90-90: Bare URL used (MD034, no-bare-urls) 🤖 Prompt for AI Agents |
||||||
|
|
||||||
| --- | ||||||
| ## License | ||||||
|
|
||||||
| *Part of [THE SHIT](https://github.com/the-shit) - Developer tools that don't suck.* | ||||||
| MIT | ||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
🌐 Web query:
Synapse Sentinel GitHub project synapse-sentinel/gate💡 Result:
I couldn't find a public GitHub repository named synapse-sentinel/gate. Could you (1) paste the repository URL or (2) confirm the exact owner/name (maybe synapse-sentinel/gate is private or has a different spelling)?
Remove or replace the Sentinel Certified badge—the referenced project does not exist.
The badge on line 5 links to
github.com/synapse-sentinel/gate, but this repository does not exist publicly. Either remove the badge, replace it with a valid certification/badge system, or create and maintain the referenced project before adding this badge.🤖 Prompt for AI Agents