jules-orchestrator-kit 0.27.0 β 0.28.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +226 -108
- package/bin/agentctl.mjs +77 -12
- package/bin/init.js +10 -8
- package/index.mjs +5 -2
- package/package.json +1 -1
- package/scripts/jules-dispatch.mjs +6 -4
- package/scripts/jules-self-audit.mjs +14 -3
- package/src/config.mjs +14 -1
- package/src/dashboard.mjs +7 -14
- package/src/engine.mjs +16 -10
- package/src/git.mjs +65 -48
- package/src/mcp.mjs +1 -1
- package/src/prompt-guard.mjs +4 -1
- package/src/provider.mjs +42 -10
- package/src/process-group.mjs +0 -80
package/README.md
CHANGED
|
@@ -4,76 +4,127 @@
|
|
|
4
4
|
|
|
5
5
|
### Universal Autonomous AI Agent Orchestration Kernel for Google Jules
|
|
6
6
|
|
|
7
|
+
<br/>
|
|
8
|
+
|
|
7
9
|
[](https://github.com/FullThrottle83/jules-orchestrator-kit/actions/workflows/jules-audit.yml)
|
|
8
10
|
[](https://www.npmjs.com/package/jules-orchestrator-kit)
|
|
9
11
|
[](https://opensource.org/licenses/MIT)
|
|
10
12
|
[](https://nodejs.org)
|
|
11
13
|
[](https://nodejs.org)
|
|
12
|
-
|
|
14
|
+
|
|
15
|
+
<br/>
|
|
13
16
|
|
|
14
17
|
<p align="center">
|
|
15
|
-
<b>The zero-dependency safety gatekeeper and self-healing engineering kernel for autonomous coding agent swarms.</b
|
|
18
|
+
<b>The zero-dependency safety gatekeeper and self-healing engineering kernel for autonomous coding agent swarms.</b>
|
|
16
19
|
Transforms single-turn AI chat assistants into production-grade engineering swarms running 300+ daily sessions across any language or monorepo.
|
|
17
20
|
</p>
|
|
18
21
|
|
|
22
|
+
<br/>
|
|
23
|
+
|
|
19
24
|
<p align="center">
|
|
20
|
-
<a href="
|
|
21
|
-
<a href="
|
|
22
|
-
<a href="
|
|
23
|
-
<a href="
|
|
24
|
-
<
|
|
25
|
-
<a href="
|
|
26
|
-
<a href="
|
|
25
|
+
<a href="#what-is-kit">π‘ What is Kit?</a> β’
|
|
26
|
+
<a href="#quickstart">β‘ Quickstart</a> β’
|
|
27
|
+
<a href="#triage-guidelines">π― Triage Guidelines</a> β’
|
|
28
|
+
<a href="#matrix">π Matrix</a>
|
|
29
|
+
<br/>
|
|
30
|
+
<a href="#architecture">ποΈ Architecture</a> β’
|
|
31
|
+
<a href="#cli-docs">π οΈ CLI Docs</a> β’
|
|
32
|
+
<a href="#roadmap">πΊοΈ Roadmap</a>
|
|
27
33
|
</p>
|
|
28
34
|
|
|
29
35
|
</div>
|
|
30
36
|
|
|
37
|
+
<br/>
|
|
38
|
+
|
|
39
|
+
<p align="center">
|
|
40
|
+
<img src="docs/assets/hero-flow.svg" alt="Autonomous Orchestration Pipeline" width="100%" />
|
|
41
|
+
</p>
|
|
42
|
+
|
|
43
|
+
<br/>
|
|
44
|
+
|
|
31
45
|
---
|
|
32
46
|
|
|
47
|
+
<br/>
|
|
48
|
+
|
|
49
|
+
<a id="what-is-kit"></a>
|
|
33
50
|
## π‘ 2-Sentence Mental Model
|
|
34
51
|
|
|
52
|
+
> [!TIP]
|
|
35
53
|
> **Think of `jules-orchestrator-kit` as an automated Engineering Manager for AI coding agents.**
|
|
36
|
-
>
|
|
54
|
+
> It hands out clear tasks, runs your tests in an isolated sandbox, fixes broken code automatically, and only opens a Pull Request when 100% of your tests pass.
|
|
55
|
+
|
|
56
|
+
<br/>
|
|
37
57
|
|
|
38
58
|
---
|
|
39
59
|
|
|
60
|
+
<br/>
|
|
61
|
+
|
|
40
62
|
## π― Why `jules-orchestrator-kit`?
|
|
41
63
|
|
|
42
64
|
Autonomous coding agents can write software at 100Γ human speedβbut unconstrained agents introduce silent regressions, leak API keys, hallucinate test assertions, and thrash shared monorepos.
|
|
43
65
|
|
|
44
66
|
`jules-orchestrator-kit` provides the missing **Safety, Orchestration, and Verification Kernel** for high-reliability AI agent deployments:
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
67
|
+
|
|
68
|
+
* **π Zero Runtime Dependencies:** Built exclusively on Node.js 20+ built-ins (`node:fs`, `node:child_process`, `node:crypto`, `node:path`, `node:http`, `node:test`). Zero third-party npm packages mean zero supply-chain CVE risk.
|
|
69
|
+
|
|
70
|
+
* **π‘οΈ Fail-Closed Security Gatekeeper:** Unconditionally evaluates explicit Deny rules *before* Allow rules, redacts high-entropy secrets and PII from dry-runs and git diffs, and rejects PRs exceeding the 75 KB Diff Payload governor.
|
|
71
|
+
|
|
72
|
+
* **π Autonomous OODA Self-Healing:** Captures test stderr/stdout, normalizes failure fingerprints, and feeds structured error contexts back into repair iterations (up to 3 automatic attempts) before human escalation.
|
|
73
|
+
|
|
74
|
+
* **π Universal Polyglot Spine:** Natively auto-detects 24+ tech stacks (PHP/Laravel/WordPress, .NET/C#, Python, Go, Rust, C/C++, Flutter/Swift, Node/Deno/Bun) and transparently wraps verification suites in Docker Compose or Devcontainer sandboxes.
|
|
75
|
+
|
|
76
|
+
* **π Scoped Monorepo Boundary Resolver:** Statically maps changed files up directory ancestry to invoke isolated subshell test suites (`(cd backend && pytest) && (cd cli && cargo test)`), eliminating global test thrashing.
|
|
77
|
+
|
|
78
|
+
* **π Zero-Test Bootstrapping (`agentctl bootstrap`):** Synthesizes deterministic syntax-check and smoke-test verification oracles for untested legacy repositories so agents always operate against a falsifiable feedback loop.
|
|
79
|
+
|
|
80
|
+
* **π Proven Scale & Reliability:** Empirically tested with **224 unit tests across 55 suites passing in < 1.2s**, supporting 300+ daily agent sessions per repository.
|
|
81
|
+
|
|
82
|
+
<br/>
|
|
83
|
+
|
|
84
|
+
<p align="center">
|
|
85
|
+
<img src="docs/assets/security-shield.svg" alt="Zero-Trust Security & Reliability Guarantees" width="100%" />
|
|
86
|
+
</p>
|
|
87
|
+
|
|
88
|
+
<br/>
|
|
52
89
|
|
|
53
90
|
---
|
|
54
91
|
|
|
92
|
+
<br/>
|
|
93
|
+
|
|
94
|
+
<a id="triage-guidelines"></a>
|
|
55
95
|
## π― Triage Guidelines: When to Use vs. When NOT to Use
|
|
56
96
|
|
|
57
97
|
To ensure maximum merge success, dispatch tasks according to our deterministic triage boundaries:
|
|
58
98
|
|
|
99
|
+
<br/>
|
|
100
|
+
|
|
59
101
|
### π’ Ideal Tasks for Autonomous Swarms
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
102
|
+
|
|
103
|
+
* β
**Scoped Code Changes & Bug Fixes:** Well-defined objectives mechanically verifiable via unit tests (`npm test`, `pytest`, `cargo test`, `dotnet test`).
|
|
104
|
+
* β
**Type & Linter Migrations:** TypeScript strict mode fixes, PHP 8.3 type hint additions, or Python MyPy type annotation passes.
|
|
105
|
+
* β
**Dependency Bumps & Security Audits:** Remediating CVEs in lockfiles (`package.json`, `Cargo.toml`, `composer.json`) with hermetic test verification.
|
|
106
|
+
* β
**Refactoring Legacy Codebases:** Modularizing backend routes, API controllers, or database query layers.
|
|
107
|
+
* β
**Visual & E2E Testing (via Playwright):** UI changes paired with automated headless Playwright snapshot tests (`npx playwright test`).
|
|
108
|
+
|
|
109
|
+
<br/>
|
|
65
110
|
|
|
66
111
|
### π΄ When NOT to Use (Out of Scope)
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
112
|
+
|
|
113
|
+
* β **Unverifiable Visual UI Tweaks:** Pixel-perfect CSS/Tailwind adjustments lacking automated visual regression tests (agents cannot "see" raw browser output without Playwright).
|
|
114
|
+
* β **Closed Proprietary Platforms Without CLI:** Systems lacking local CLI tools or git repositories (e.g., Salesforce, Webflow, closed SAP backends).
|
|
115
|
+
* β **Unmocked Live Cloud Systems:** Code requiring live connections to 10+ external cloud APIs without local emulators or mocks.
|
|
116
|
+
* β **Protected Infrastructure Paths:** Direct edits to `.github/workflows/`, production deployment keys, or agent security gate rules (enforced fail-closed by `Agent Scope Guard`).
|
|
117
|
+
|
|
118
|
+
<br/>
|
|
71
119
|
|
|
72
120
|
---
|
|
73
121
|
|
|
122
|
+
<br/>
|
|
123
|
+
|
|
124
|
+
<a id="matrix"></a>
|
|
74
125
|
## π Feature Comparison Matrix
|
|
75
126
|
|
|
76
|
-
| Dimension | Raw Agent Execution (No Orchestrator) | Standard CI/CD Pipelines | `jules-orchestrator-kit` (v0.
|
|
127
|
+
| Dimension | Raw Agent Execution (No Orchestrator) | Standard CI/CD Pipelines | `jules-orchestrator-kit` (v0.27+) |
|
|
77
128
|
| :--- | :--- | :--- | :--- |
|
|
78
129
|
| **Self-Healing Loop** | β None (Crashes on test error) | β None (Fails build; notifies human) | β
**Autonomous OODA Loop** (Max 3 repair turns with error fingerprinting) |
|
|
79
130
|
| **Scope Isolation** | β None (Can modify CI files or lockfiles) | π‘ Post-commit branch rules only | β
**Fail-Closed Scope Guard** (Deny-first evaluation; blocks protected paths) |
|
|
@@ -84,12 +135,25 @@ To ensure maximum merge success, dispatch tasks according to our deterministic t
|
|
|
84
135
|
| **Secret Leak Prevention**| β Prone to leaking tokens in diffs | π‘ Post-push secret scanning alerts | β
**Pre-Dispatch & Pre-Commit Diff Scanner** (Blocks CVEs/keys before PR creation) |
|
|
85
136
|
| **Dependency Footprint** | β Requires heavy SDKs & parsers | π‘ Many external actions & plugins | β
**0 Native Dependencies** (100% Node.js 20+ ESM built-ins) |
|
|
86
137
|
|
|
138
|
+
<br/>
|
|
139
|
+
|
|
140
|
+
<p align="center">
|
|
141
|
+
<img src="docs/assets/tier-presets.svg" alt="Subscription Tier Allocation Matrix" width="100%" />
|
|
142
|
+
</p>
|
|
143
|
+
|
|
144
|
+
<br/>
|
|
145
|
+
|
|
87
146
|
---
|
|
88
147
|
|
|
148
|
+
<br/>
|
|
149
|
+
|
|
150
|
+
<a id="quickstart"></a>
|
|
89
151
|
## β‘ Universal 30-Second Quickstart (Zero to Verified PR)
|
|
90
152
|
|
|
91
153
|
Get from zero to an autonomously verified GitHub Pull Request across any software ecosystem in 30 seconds.
|
|
92
154
|
|
|
155
|
+
<br/>
|
|
156
|
+
|
|
93
157
|
### 1οΈβ£ Node.js / TypeScript (npm, pnpm, yarn, bun, deno)
|
|
94
158
|
```bash
|
|
95
159
|
# Dispatch a scoped task; auto-detects package.json / tsconfig.json and runs type-checked tests
|
|
@@ -97,6 +161,8 @@ npx jules-orchestrator-kit dispatch --title "Add rate limiting to API router" \
|
|
|
97
161
|
--prompt "Implement IP-based token-bucket rate limiting in src/router.ts with unit tests."
|
|
98
162
|
```
|
|
99
163
|
|
|
164
|
+
<br/>
|
|
165
|
+
|
|
100
166
|
### 2οΈβ£ Python / FastAPI / Django (pytest, pyproject.toml)
|
|
101
167
|
```bash
|
|
102
168
|
# Bootstrap zero-test or legacy Python repo, then dispatch task
|
|
@@ -105,6 +171,8 @@ npx jules-orchestrator-kit dispatch --title "Add OAuth2 JWT validation" \
|
|
|
105
171
|
--prompt "Add JWT bearer authentication middleware to backend/api/auth.py and verify via pytest."
|
|
106
172
|
```
|
|
107
173
|
|
|
174
|
+
<br/>
|
|
175
|
+
|
|
108
176
|
### 3οΈβ£ PHP / Laravel / WordPress (Docker Compose + PHPUnit/Pest)
|
|
109
177
|
```bash
|
|
110
178
|
# Auto-detects docker-compose.yml and wraps test commands in `docker compose exec -T app ...`
|
|
@@ -112,6 +180,8 @@ npx jules-orchestrator-kit dispatch --title "Upgrade PHP 8.3 type annotations" \
|
|
|
112
180
|
--prompt "Add strict type hints to all repository classes in app/Repositories/."
|
|
113
181
|
```
|
|
114
182
|
|
|
183
|
+
<br/>
|
|
184
|
+
|
|
115
185
|
### 4οΈβ£ .NET / C# Enterprise (*.sln, *.csproj)
|
|
116
186
|
```bash
|
|
117
187
|
# Auto-detects .sln / .csproj and runs `dotnet test --no-restore --nologo`
|
|
@@ -119,6 +189,8 @@ npx jules-orchestrator-kit dispatch --title "Implement OrderService caching" \
|
|
|
119
189
|
--prompt "Add IMemoryCache caching to OrderService.cs with xUnit coverage."
|
|
120
190
|
```
|
|
121
191
|
|
|
192
|
+
<br/>
|
|
193
|
+
|
|
122
194
|
### 5οΈβ£ UI / Frontend E2E (Playwright)
|
|
123
195
|
```bash
|
|
124
196
|
# Dispatch frontend task verified via headless Playwright E2E tests
|
|
@@ -126,88 +198,145 @@ npx jules-orchestrator-kit dispatch --title "Add Dark Mode Toggle Component" \
|
|
|
126
198
|
--prompt "Create ThemeToggle component in src/components/ThemeToggle.tsx and verify via npx playwright test."
|
|
127
199
|
```
|
|
128
200
|
|
|
201
|
+
<br/>
|
|
202
|
+
|
|
129
203
|
### 6οΈβ£ Polyglot Monorepo (FastAPI + React + Rust CLI)
|
|
130
204
|
```bash
|
|
131
205
|
# Run a parallel worktree swarm; changed files automatically route to scoped subproject tests
|
|
132
206
|
npx jules-orchestrator-kit swarm
|
|
133
207
|
```
|
|
134
208
|
|
|
209
|
+
<br/>
|
|
210
|
+
|
|
211
|
+
<details>
|
|
212
|
+
<summary><b>π View All 24+ Supported Ecosystems & Stack Triggers</b></summary>
|
|
213
|
+
|
|
214
|
+
<br/>
|
|
215
|
+
|
|
216
|
+
```
|
|
217
|
+
Ecosystems Natively Supported by src/stack-detector.mjs:
|
|
218
|
+
βββ PHP / Laravel / WordPress (composer.json, phpunit.xml, pest.php, artisan, wp-cli.yml)
|
|
219
|
+
βββ .NET / C# / F# (*.sln, *.csproj, *.fsproj, global.json)
|
|
220
|
+
βββ Mobile / Dart / Flutter (pubspec.yaml)
|
|
221
|
+
βββ Mobile / Swift / Xcode (Package.swift)
|
|
222
|
+
βββ Mobile / React Native (app.json, react-native.config.js)
|
|
223
|
+
βββ Systems / CMake (CMakeLists.txt)
|
|
224
|
+
βββ Systems / Rust Cargo (Cargo.toml)
|
|
225
|
+
βββ Systems / Go (go.mod)
|
|
226
|
+
βββ Systems / Make (Makefile)
|
|
227
|
+
βββ Python / FastAPI / Django (pyproject.toml, requirements.txt, setup.py)
|
|
228
|
+
βββ Elixir / Phoenix (mix.exs)
|
|
229
|
+
βββ Ruby / Rails (Gemfile)
|
|
230
|
+
βββ Java / Maven (pom.xml)
|
|
231
|
+
βββ Java / Gradle (build.gradle, build.gradle.kts)
|
|
232
|
+
βββ JS / TS Workspaces (turbo.json, pnpm-workspace.yaml, nx.json)
|
|
233
|
+
βββ JS / TS Runtimes (bunfig.toml, deno.json, package.json)
|
|
234
|
+
βββ Devcontainers & Docker Compose (.devcontainer/devcontainer.json, docker-compose.yml, Dockerfile)
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
</details>
|
|
238
|
+
|
|
239
|
+
<br/>
|
|
240
|
+
|
|
135
241
|
---
|
|
136
242
|
|
|
243
|
+
<br/>
|
|
244
|
+
|
|
245
|
+
<a id="architecture"></a>
|
|
137
246
|
## ποΈ System Architecture & Visual Diagrams
|
|
138
247
|
|
|
248
|
+
<br/>
|
|
249
|
+
|
|
250
|
+
<p align="center">
|
|
251
|
+
<img src="docs/assets/architecture-layers.svg" alt="Control Plane Architecture Layers" width="100%" />
|
|
252
|
+
</p>
|
|
253
|
+
|
|
254
|
+
<br/>
|
|
255
|
+
|
|
139
256
|
### 1. The Autonomous OODA Verification Loop
|
|
140
257
|
Every task dispatched to `jules-orchestrator-kit` executes within an immutable, fail-closed verification loop:
|
|
141
258
|
|
|
259
|
+
<br/>
|
|
260
|
+
|
|
261
|
+
<p align="center">
|
|
262
|
+
<img src="docs/assets/ooda-loop-cycle.svg" alt="Self-Healing OODA Repair Loop & Thrash Breaker" width="100%" />
|
|
263
|
+
</p>
|
|
264
|
+
|
|
265
|
+
<br/>
|
|
266
|
+
|
|
267
|
+
```mermaid
|
|
268
|
+
flowchart TD
|
|
269
|
+
A["π© Task Envelope"] --> B["1. Validate Scope & Base Freshness"]
|
|
270
|
+
B --> C["2. Create Isolated Git Worktree & VFS Lock"]
|
|
271
|
+
C --> D["3. Dispatch Task to Google Jules / LLM"]
|
|
272
|
+
D --> E["4. Execute Scoped Verification Gate<br/><code>detectPolyglotStack().testCmd</code>"]
|
|
273
|
+
|
|
274
|
+
E -->|PASS| F["5. Security Audit<br/><i>Redact Secrets, Diff < 75KB</i>"]
|
|
275
|
+
F --> G["7. Rebase & Open PR<br/><code>git rebase main && gh pr create</code>"]
|
|
276
|
+
|
|
277
|
+
E -->|FAIL| H["6. Fingerprint Stderr & Flaky Verdict"]
|
|
278
|
+
H -->|Oscillation >= 0.40| I["π¨ Quarantined Test<br/><i>Exit Code 8</i>"]
|
|
279
|
+
H -->|Normal Failure| J["π Attempt OODA Repair Turn<br/><i>Max 3 Retries; Exit 4 on Exhaust</i>"]
|
|
280
|
+
J --> D
|
|
142
281
|
```
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
| |
|
|
146
|
-
| [Task Envelope] --> (1. Validate Scope & Base Freshness) |
|
|
147
|
-
| | |
|
|
148
|
-
| v |
|
|
149
|
-
| (2. Create Isolated Git Worktree / VFS Lock) |
|
|
150
|
-
| | |
|
|
151
|
-
| v |
|
|
152
|
-
| (3. Dispatch AI Task to Google Jules / LLM) |
|
|
153
|
-
| | |
|
|
154
|
-
| v |
|
|
155
|
-
| (4. Execute Scoped Verification Gate) |
|
|
156
|
-
| -- detectPolyglotStack().testCmd |
|
|
157
|
-
| -- Docker Compose / Devcontainer wrapper |
|
|
158
|
-
| | |
|
|
159
|
-
| +---------+---------+ |
|
|
160
|
-
| | PASS | FAIL |
|
|
161
|
-
| v v |
|
|
162
|
-
| (5. Security Audit) (6. Fingerprint Stderr / Flaky Verdict) |
|
|
163
|
-
| - Redact Secrets | |
|
|
164
|
-
| - Check Diff < 75KB +---> Is test QUARANTINED? (Oscillation >= 0.40) |
|
|
165
|
-
| | | | |
|
|
166
|
-
| v YES NO |
|
|
167
|
-
| (7. Rebase & PR) | | |
|
|
168
|
-
| - git rebase main v v |
|
|
169
|
-
| - gh pr create [Log Quarantined Flake] [Attempt OODA Repair Turn] |
|
|
170
|
-
| (Exit Code 8) (Max 3 Retries; Exit 4 on Exhaust) |
|
|
171
|
-
+---------------------------------------------------------------------------------------------------+
|
|
172
|
-
```
|
|
282
|
+
|
|
283
|
+
<br/>
|
|
173
284
|
|
|
174
285
|
### 2. Polyglot Monorepo Scoped Execution Engine
|
|
175
286
|
In monorepos containing multiple languages, `resolveWorkspaceBoundary(changedFiles)` traverses directory ancestry to isolate verification to affected subprojects:
|
|
176
287
|
|
|
288
|
+
```mermaid
|
|
289
|
+
flowchart TD
|
|
290
|
+
A["π Changed Files<br/><code>['backend/api/main.py', 'cli/src/main.rs']</code>"] --> B{"Check Shared Triggers?<br/><i>docker-compose.yml, openapi.yaml</i>"}
|
|
291
|
+
B -->|None Changed| C["Traverse Directory Ancestry"]
|
|
292
|
+
C --> D1["<code>backend/api/main.py</code> β <code>backend/pyproject.toml</code><br/><i>(Python Stack)</i>"]
|
|
293
|
+
C --> D2["<code>cli/src/main.rs</code> β <code>cli/Cargo.toml</code><br/><i>(Rust Stack)</i>"]
|
|
294
|
+
D1 --> E["Synthesize POSIX Subshell Verification Plan<br/><code>(cd backend && pytest) && (cd cli && cargo test)</code>"]
|
|
295
|
+
D2 --> E
|
|
177
296
|
```
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
297
|
+
|
|
298
|
+
<br/>
|
|
299
|
+
|
|
300
|
+
### 3. Multi-Agent Parallel Swarm Topology
|
|
301
|
+
Run concurrent agents across parallel worktree slots with AST/JSON 3-way merging:
|
|
302
|
+
|
|
303
|
+
<br/>
|
|
304
|
+
|
|
305
|
+
<p align="center">
|
|
306
|
+
<img src="docs/assets/swarm-topology.svg" alt="Multi-Agent Parallel Swarm Topology" width="100%" />
|
|
307
|
+
</p>
|
|
308
|
+
|
|
309
|
+
<br/>
|
|
310
|
+
|
|
311
|
+
### 4. Model Context Protocol (MCP) Integration
|
|
312
|
+
Native stdio server exposing task dispatch, gate verification, and risk auditing to client tools (Antigravity, Claude, Cursor):
|
|
313
|
+
|
|
314
|
+
<br/>
|
|
315
|
+
|
|
316
|
+
<p align="center">
|
|
317
|
+
<img src="docs/assets/mcp-integration.svg" alt="Model Context Protocol (MCP) Integration" width="100%" />
|
|
318
|
+
</p>
|
|
319
|
+
|
|
320
|
+
<br/>
|
|
198
321
|
|
|
199
322
|
---
|
|
200
323
|
|
|
324
|
+
<br/>
|
|
325
|
+
|
|
326
|
+
<a id="cli-docs"></a>
|
|
201
327
|
## π οΈ CLI Command Reference (`agentctl`)
|
|
202
328
|
|
|
203
329
|
`agentctl` is the unified command-line interface for `jules-orchestrator-kit`, available via `bin/agentctl.mjs` or `npx jules-orchestrator-kit <command>`.
|
|
204
330
|
|
|
331
|
+
<br/>
|
|
332
|
+
|
|
205
333
|
| Command | Usage | Description | Exit Codes |
|
|
206
334
|
| :--- | :--- | :--- | :--- |
|
|
207
335
|
| `dispatch` | `agentctl dispatch --title <t> --prompt <p>` | Dispatches a single task to an AI agent in an isolated worktree. | `0` (Success), `1` (Arg error), `2` (429 Rate limit), `3` (Scope deny), `4` (OODA exhausted), `5` (Diff > 75KB), `6` (Secret leak) |
|
|
336
|
+
| `review-repair`| `agentctl review-repair <pr-comments.json>`| Parses GitHub PR review comments and synthesizes actionable OODA repair tasks. | `0` (Parsed), `1` (Missing file) |
|
|
337
|
+
| `dashboard` | `agentctl dashboard [port]` | Starts zero-dependency local HTTP telemetry and audit visualizer dashboard. | `0` (Running) |
|
|
208
338
|
| `gate` / `audit`| `agentctl gate --base main --json` | Runs security, secret scanning, and verification gate against current branch. | `0` (Approved), `3` (Scope violation), `5` (Diff limit), `6` (Secret leak) |
|
|
209
339
|
| `bootstrap` | `agentctl bootstrap [--force] [--json]` | Inspects an untested repository and synthesizes `.agent/config.yml` with a zero-test verification oracle (`php -l`, `compileall`, `dotnet build`, `tsc`, `smoke`). | `0` (Bootstrapped / Existing) |
|
|
210
|
-
| `review-repair`| `agentctl review-repair <pr-comments.json>`| Parses GitHub PR review comments and synthesizes actionable OODA repair tasks. | `0` (Parsed), `1` (Missing file) |
|
|
211
340
|
| `queue` | `agentctl queue` | Consumes and executes pending markdown task envelopes in `.agent/queue/`. | `0` (Complete) |
|
|
212
341
|
| `swarm` | `agentctl swarm` | Runs parallel multi-agent swarm across queued tasks with token-bucket concurrency. | `0` (Complete) |
|
|
213
342
|
| `doctor` | `agentctl doctor` | Diagnostic inspect: displays detected stack, container wrapper, test command, and daily session budget. | `0` (Healthy) |
|
|
@@ -215,57 +344,46 @@ In monorepos containing multiple languages, `resolveWorkspaceBoundary(changedFil
|
|
|
215
344
|
| `clean` | `agentctl clean` | Prunes stale git worktrees, lockfiles, and temporary ledgers. | `0` (Clean) |
|
|
216
345
|
| `init` | `agentctl init` | Scaffolds `.agent/` directory structure and default `.agent/config.yml`. | `0` (Created) |
|
|
217
346
|
| `mcp` | `agentctl mcp` | Starts stdio Model Context Protocol (MCP) server for tool integration. | `0` / Stdio stream |
|
|
218
|
-
| `version` | `agentctl version` | Outputs orchestrator kit semantic version (`v0.
|
|
219
|
-
|
|
220
|
-
---
|
|
221
|
-
|
|
222
|
-
## π Universal Polyglot Support & Stack Detection
|
|
347
|
+
| `version` | `agentctl version` | Outputs orchestrator kit semantic version (`v0.27.0`). | `0` |
|
|
223
348
|
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
```
|
|
227
|
-
Ecosystems Supported:
|
|
228
|
-
βββ PHP / Laravel / WordPress (composer.json, phpunit.xml, pest.php, artisan, wp-cli.yml)
|
|
229
|
-
βββ .NET / C# / F# (*.sln, *.csproj, *.fsproj, global.json)
|
|
230
|
-
βββ Mobile / Dart / Flutter (pubspec.yaml)
|
|
231
|
-
βββ Mobile / Swift / Xcode (Package.swift)
|
|
232
|
-
βββ Mobile / React Native (app.json, react-native.config.js)
|
|
233
|
-
βββ Systems / CMake (CMakeLists.txt)
|
|
234
|
-
βββ Systems / Rust Cargo (Cargo.toml)
|
|
235
|
-
βββ Systems / Go (go.mod)
|
|
236
|
-
βββ Systems / Make (Makefile)
|
|
237
|
-
βββ Python / FastAPI / Django (pyproject.toml, requirements.txt, setup.py)
|
|
238
|
-
βββ Elixir / Phoenix (mix.exs)
|
|
239
|
-
βββ Ruby / Rails (Gemfile)
|
|
240
|
-
βββ Java / Maven (pom.xml)
|
|
241
|
-
βββ Java / Gradle (build.gradle, build.gradle.kts)
|
|
242
|
-
βββ JS / TS Workspaces (turbo.json, pnpm-workspace.yaml, nx.json)
|
|
243
|
-
βββ JS / TS Runtimes (bunfig.toml, deno.json, package.json)
|
|
244
|
-
βββ Devcontainers & Docker Compose (.devcontainer/devcontainer.json, docker-compose.yml, Dockerfile)
|
|
245
|
-
```
|
|
349
|
+
<br/>
|
|
246
350
|
|
|
247
351
|
---
|
|
248
352
|
|
|
353
|
+
<br/>
|
|
354
|
+
|
|
355
|
+
<a id="roadmap"></a>
|
|
249
356
|
## πΊοΈ v0.27+ Next-Gen Feature Roadmap
|
|
250
357
|
|
|
251
358
|
| Feature | Module / Command | Architectural Blueprint | Target Release |
|
|
252
359
|
| :--- | :--- | :--- | :---: |
|
|
253
|
-
| **PR Review Auto-Remediation Loop** | `agentctl review-repair` (`src/review-repair.mjs`) | Ingests GitHub PR review comments (`CHANGES_REQUESTED`), extracts line/file context, and dispatches automated OODA repair turns until reviewer comments are resolved. | **v0.27.0** *(
|
|
254
|
-
| **Multi-Provider Failover Router** | `createFailoverProvider` (`src/provider.mjs`) | Ordered router (`["jules", "claude-code", "local-mcp"]`) that seamlessly falls back to secondary LLMs on HTTP 429 rate limits or 5xx service unavailability. | **v0.27.0** *(
|
|
255
|
-
| **Telemetry & Audit Web Dashboard**| `agentctl dashboard` (`src/dashboard.mjs`) | Zero-dependency local HTTP server displaying real-time DAG execution graphs, Wilson-Score flaky test ledgers, and SHA-256 telemetry chains. | **v0.27.0** |
|
|
360
|
+
| **PR Review Auto-Remediation Loop** | `agentctl review-repair` (`src/review-repair.mjs`) | Ingests GitHub PR review comments (`CHANGES_REQUESTED`), extracts line/file context, and dispatches automated OODA repair turns until reviewer comments are resolved. | **v0.27.0** *(Shipped)* |
|
|
361
|
+
| **Multi-Provider Failover Router** | `createFailoverProvider` (`src/provider.mjs`) | Ordered router (`["jules", "claude-code", "local-mcp"]`) that seamlessly falls back to secondary LLMs on HTTP 429 rate limits or 5xx service unavailability. | **v0.27.0** *(Shipped)* |
|
|
362
|
+
| **Telemetry & Audit Web Dashboard**| `agentctl dashboard` (`src/dashboard.mjs`) | Zero-dependency local HTTP server displaying real-time DAG execution graphs, Wilson-Score flaky test ledgers, and SHA-256 telemetry chains. | **v0.27.0** *(Shipped)* |
|
|
256
363
|
| **Cross-Language Contract Guard** | `hashCrossLanguageInterface` (`src/merge-blocks.mjs`)| Canonical SHA-256 schema hashing for OpenAPI/Protobuf specs across polyglot task dependencies in `DagExecutor`. | **v0.26.0** *(Shipped)* |
|
|
257
364
|
|
|
365
|
+
<br/>
|
|
366
|
+
|
|
258
367
|
---
|
|
259
368
|
|
|
369
|
+
<br/>
|
|
370
|
+
|
|
260
371
|
## π Recipes, Documentation & Prior Art
|
|
261
372
|
|
|
373
|
+
- [**Google Jules Official Documentation**](https://jules.google) β Official platform overview and API specifications for Google Jules.
|
|
374
|
+
- [**Google Labs Code Repositories**](https://github.com/google-labs-code) β Official Google Labs public GitHub organization (jules-action, jules-sdk).
|
|
262
375
|
- [**Universal Polyglot Architecture & Zero-Test Specification**](./docs/UNIVERSAL_POLYGLOT_ARCHITECTURE.md) β Comprehensive technical report on boundary resolution, OODA math, and B2B workflows.
|
|
376
|
+
- [**v0.27.0 Architectural Audit & Platform Evolution**](./docs/V0.27_ARCHITECTURAL_AUDIT_AND_EVOLUTION.md) β PR review remediation, failover router, and local dashboard specs.
|
|
263
377
|
- [**Examples & Task Envelope Recipes**](./EXAMPLES.md) β Production YAML and Markdown task envelopes.
|
|
264
378
|
- [**Adversarial Security Audit Phase 4 Report**](./docs/AUDIT_REPORT.md) β CWE-77, CWE-1321, and CWE-183 security hardening analysis.
|
|
265
379
|
- [**Changelog**](./CHANGELOG.md) β Full release history and migration guides.
|
|
266
380
|
|
|
381
|
+
<br/>
|
|
382
|
+
|
|
267
383
|
---
|
|
268
384
|
|
|
385
|
+
<br/>
|
|
386
|
+
|
|
269
387
|
<div align="center">
|
|
270
388
|
<p><b>jules-orchestrator-kit</b> β’ Built with zero external dependencies for Google Jules and enterprise AI agent swarms.</p>
|
|
271
389
|
</div>
|