@frenchtoastman/oh-my-groundcontrol 0.0.8 → 0.0.12
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 +12 -51
- package/dist/agents/groundcontrol/system-prompt.d.ts +5 -2
- package/dist/index.js +32 -8
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -44,7 +44,7 @@ Install and configure by following the instructions here:
|
|
|
44
44
|
https://raw.githubusercontent.com/frenchtoasters/oh-my-groundcontrol/refs/heads/master/README.md
|
|
45
45
|
```
|
|
46
46
|
|
|
47
|
-
**
|
|
47
|
+
**Note:** We recommend adding `.groundcontrol/` to your project's `.gitignore` to prevent generated flight plans from being committed.
|
|
48
48
|
|
|
49
49
|
**Additional guides:**
|
|
50
50
|
- **[Antigravity Setup](docs/antigravity.md)** - Complete guide for Antigravity provider configuration
|
|
@@ -83,30 +83,10 @@ The principles driving our agent behavior are extracted directly from the [NASA
|
|
|
83
83
|
|
|
84
84
|
*Those who plan, perceive, and verify before the launch sequence begins.*
|
|
85
85
|
|
|
86
|
-
```mermaid
|
|
87
|
-
graph TD
|
|
88
|
-
U["🧑 User"] -->|"request"| P["🏛️ Groundcontrol"]
|
|
89
|
-
P -->|"gap analysis"| S["👁️ PreFlight"]
|
|
90
|
-
P -->|"codebase recon"| E["🧭 Explorer"]
|
|
91
|
-
P -->|"knowledge retrieval"| L["📜 Librarian"]
|
|
92
|
-
P -->|"plan verification"| M["⚖️ Verification"]
|
|
93
|
-
S -.->|"risks & gaps"| P
|
|
94
|
-
E -.->|"file map"| P
|
|
95
|
-
L -.->|"docs & references"| P
|
|
96
|
-
M -.->|"PASS / FAIL"| P
|
|
97
|
-
P -->|"approved plan"| O["👑 Orchestrator"]
|
|
98
|
-
|
|
99
|
-
style P fill:#2d4a22,stroke:#4a7c34,color:#fff
|
|
100
|
-
style S fill:#4a3728,stroke:#7a5a3e,color:#fff
|
|
101
|
-
style E fill:#1a3a4a,stroke:#2a6a8a,color:#fff
|
|
102
|
-
style L fill:#3a2a4a,stroke:#6a4a8a,color:#fff
|
|
103
|
-
style M fill:#4a4a1a,stroke:#8a8a2a,color:#fff
|
|
104
|
-
style O fill:#4a2a1a,stroke:#8a4a2a,color:#fff
|
|
105
|
-
```
|
|
106
86
|
|
|
107
87
|
---
|
|
108
88
|
|
|
109
|
-
### 01.
|
|
89
|
+
### 01. Groundcontrol: The Lead Systems Engineer
|
|
110
90
|
|
|
111
91
|
<table>
|
|
112
92
|
<tr>
|
|
@@ -114,7 +94,7 @@ graph TD
|
|
|
114
94
|
<sub><i>Designs the mission architecture.</i></sub>
|
|
115
95
|
</td>
|
|
116
96
|
<td width="70%" valign="top">
|
|
117
|
-
Operating from the engineering drafting boards,
|
|
97
|
+
Operating from the engineering drafting boards, Groundcontrol shapes the mission blueprint before a single line of code is written. They conduct rigorous requirements gathering, consult on system constraints, and deliver decision-complete schematics to ensure the objective is achievable. No system is built without their approved plan.
|
|
118
98
|
</td>
|
|
119
99
|
</tr>
|
|
120
100
|
<tr>
|
|
@@ -124,7 +104,7 @@ graph TD
|
|
|
124
104
|
</tr>
|
|
125
105
|
<tr>
|
|
126
106
|
<td colspan="2">
|
|
127
|
-
<b>Prompt:</b> <a href="src/agents/
|
|
107
|
+
<b>Prompt:</b> <a href="src/agents/groundcontrol/index.ts"><code>contractor/index.ts</code></a>
|
|
128
108
|
</td>
|
|
129
109
|
</tr>
|
|
130
110
|
<tr>
|
|
@@ -136,7 +116,7 @@ graph TD
|
|
|
136
116
|
|
|
137
117
|
---
|
|
138
118
|
|
|
139
|
-
###
|
|
119
|
+
### 02. PreFlight: The Risk Analyst
|
|
140
120
|
|
|
141
121
|
<table>
|
|
142
122
|
<tr>
|
|
@@ -166,7 +146,7 @@ graph TD
|
|
|
166
146
|
|
|
167
147
|
---
|
|
168
148
|
|
|
169
|
-
###
|
|
149
|
+
### 03. Verification: The Launch Committer
|
|
170
150
|
|
|
171
151
|
<table>
|
|
172
152
|
<tr>
|
|
@@ -200,29 +180,10 @@ graph TD
|
|
|
200
180
|
|
|
201
181
|
*Those who explore, advise, and execute once the plan is authorized.*
|
|
202
182
|
|
|
203
|
-
```mermaid
|
|
204
|
-
graph TD
|
|
205
|
-
P["🏛️ Groundcontrol"] -->|"approved plan"| O["👑 Orchestrator"]
|
|
206
|
-
O -->|"implementation"| F["⚒️ Fixer"]
|
|
207
|
-
O -->|"UI/UX"| D["🎨 Designer"]
|
|
208
|
-
O -->|"codebase recon"| E["🧭 Explorer"]
|
|
209
|
-
O -->|"architecture advice"| R["🔮 Oracle"]
|
|
210
|
-
F -.->|"code changes"| O
|
|
211
|
-
D -.->|"visual polish"| O
|
|
212
|
-
E -.->|"file map"| O
|
|
213
|
-
R -.->|"guidance"| O
|
|
214
|
-
|
|
215
|
-
style O fill:#4a2a1a,stroke:#8a4a2a,color:#fff
|
|
216
|
-
style F fill:#3a3a3a,stroke:#6a6a6a,color:#fff
|
|
217
|
-
style D fill:#4a1a3a,stroke:#8a2a6a,color:#fff
|
|
218
|
-
style E fill:#1a3a4a,stroke:#2a6a8a,color:#fff
|
|
219
|
-
style R fill:#2a2a4a,stroke:#4a4a8a,color:#fff
|
|
220
|
-
style P fill:#2d4a22,stroke:#4a7c34,color:#fff
|
|
221
|
-
```
|
|
222
183
|
|
|
223
184
|
---
|
|
224
185
|
|
|
225
|
-
###
|
|
186
|
+
### 04. Orchestrator: The Flight Director
|
|
226
187
|
|
|
227
188
|
<table>
|
|
228
189
|
<tr>
|
|
@@ -252,7 +213,7 @@ graph TD
|
|
|
252
213
|
|
|
253
214
|
---
|
|
254
215
|
|
|
255
|
-
###
|
|
216
|
+
### 05. Explorer: The Telemetry Scout
|
|
256
217
|
|
|
257
218
|
<table>
|
|
258
219
|
<tr>
|
|
@@ -282,7 +243,7 @@ graph TD
|
|
|
282
243
|
|
|
283
244
|
---
|
|
284
245
|
|
|
285
|
-
###
|
|
246
|
+
### 06. Oracle: The Principal Architect
|
|
286
247
|
|
|
287
248
|
<table>
|
|
288
249
|
<tr>
|
|
@@ -312,7 +273,7 @@ graph TD
|
|
|
312
273
|
|
|
313
274
|
---
|
|
314
275
|
|
|
315
|
-
###
|
|
276
|
+
### 07. Librarian: The Data Archivist
|
|
316
277
|
|
|
317
278
|
<table>
|
|
318
279
|
<tr>
|
|
@@ -342,7 +303,7 @@ graph TD
|
|
|
342
303
|
|
|
343
304
|
---
|
|
344
305
|
|
|
345
|
-
###
|
|
306
|
+
### 08. Designer: The Interface Specialist
|
|
346
307
|
|
|
347
308
|
<table>
|
|
348
309
|
<tr>
|
|
@@ -372,7 +333,7 @@ graph TD
|
|
|
372
333
|
|
|
373
334
|
---
|
|
374
335
|
|
|
375
|
-
###
|
|
336
|
+
### 09. Fixer: The Systems Integrator
|
|
376
337
|
|
|
377
338
|
<table>
|
|
378
339
|
<tr>
|
|
@@ -9,8 +9,11 @@ export declare const GROUNDCONTROL_SYSTEM_PROMPT = "<system-reminder>\n# Groundc
|
|
|
9
9
|
* Question permission allows agent to ask user questions.
|
|
10
10
|
*/
|
|
11
11
|
export declare const GROUNDCONTROL_PERMISSION: {
|
|
12
|
-
edit:
|
|
13
|
-
|
|
12
|
+
edit: {
|
|
13
|
+
'.groundcontrol/**/*': "allow";
|
|
14
|
+
'*': "ask";
|
|
15
|
+
};
|
|
16
|
+
bash: "ask";
|
|
14
17
|
webfetch: "allow";
|
|
15
18
|
question: "allow";
|
|
16
19
|
};
|
package/dist/index.js
CHANGED
|
@@ -20820,8 +20820,11 @@ ${GROUNDCONTROL_HIGH_ACCURACY_MODE}
|
|
|
20820
20820
|
${GROUNDCONTROL_PLAN_TEMPLATE}
|
|
20821
20821
|
${GROUNDCONTROL_BEHAVIORAL_SUMMARY}`;
|
|
20822
20822
|
var GROUNDCONTROL_PERMISSION = {
|
|
20823
|
-
edit:
|
|
20824
|
-
|
|
20823
|
+
edit: {
|
|
20824
|
+
".groundcontrol/**/*": "allow",
|
|
20825
|
+
"*": "ask"
|
|
20826
|
+
},
|
|
20827
|
+
bash: "ask",
|
|
20825
20828
|
webfetch: "allow",
|
|
20826
20829
|
question: "allow"
|
|
20827
20830
|
};
|
|
@@ -20933,6 +20936,11 @@ var ORACLE_PROMPT = `You are Oracle - a strategic technical advisor.
|
|
|
20933
20936
|
- Focus on strategy, not execution
|
|
20934
20937
|
- Point to specific files/lines when relevant
|
|
20935
20938
|
|
|
20939
|
+
**Root Cause Analysis (5 Whys)**:
|
|
20940
|
+
- When investigating complex, recurring, or systemic bugs, explicitly execute a formal "5 Whys" Root Cause Analysis.
|
|
20941
|
+
- Present this as a numbered list, drilling down 5 layers past the symptom to identify the core architectural or process failure.
|
|
20942
|
+
- *Early Exit*: Do not use 5 Whys for simple syntax errors, obvious typos, or known external service outages.
|
|
20943
|
+
|
|
20936
20944
|
**NASA Guardrails (High-Reliability Mode)**:
|
|
20937
20945
|
- **Destructive Pause**: Stop and request explicit user confirmation before irreversible actions (e.g., force pushing, bulk deletions).
|
|
20938
20946
|
- **Pre-Flight Verification**: Always run linters/typechecks (\`bun run check:ci\`, \`bun run typecheck\`) to validate changes before concluding.
|
|
@@ -21434,6 +21442,15 @@ Architecture | Research]
|
|
|
21434
21442
|
|
|
21435
21443
|
---
|
|
21436
21444
|
|
|
21445
|
+
## INTERNAL REASONING: INVISIBLE 5 WHYS
|
|
21446
|
+
|
|
21447
|
+
When gathering requirements or defining scope, adopt a "5 Whys" mindset to uncover the root intent behind a user's request (e.g., if they ask for a caching layer, determine if the root issue is an N+1 query).
|
|
21448
|
+
- **MUST**: Use internal Chain-of-Thought (or careful lateral questioning) to drill down up to 5 layers deep to find the true requirement.
|
|
21449
|
+
- **MUST NOT**: Literally ask the user "Why?" repeatedly. Do not badger the user.
|
|
21450
|
+
- **EXIT STRATEGY**: If the root cause is obvious, or if the user explicitly demands immediate execution ("just build it"), abort the probing and proceed with current context.
|
|
21451
|
+
|
|
21452
|
+
---
|
|
21453
|
+
|
|
21437
21454
|
## CRITICAL RULES
|
|
21438
21455
|
|
|
21439
21456
|
**NEVER**:
|
|
@@ -21553,6 +21570,11 @@ is enough.
|
|
|
21553
21570
|
**FAIL only if**: Tasks lack QA scenarios, or scenarios are
|
|
21554
21571
|
unexecutable ("verify it works", "check the page").
|
|
21555
21572
|
|
|
21573
|
+
### 5. Assumption Stress-Testing (Invisible 5 Whys)
|
|
21574
|
+
- Internally use a "5 Whys" approach to stress-test the plan's assumptions (e.g., "Why will this step succeed? Because the API is available. Why is it available?").
|
|
21575
|
+
- Use this strictly as an internal mental model to identify fragile logical leaps.
|
|
21576
|
+
- Do not output the 5 Whys in your response. Only flag a BLOCKER if the assumption fails critically.
|
|
21577
|
+
|
|
21556
21578
|
---
|
|
21557
21579
|
|
|
21558
21580
|
## What You Do NOT Check
|
|
@@ -21716,6 +21738,8 @@ need figuring out. Fail only if zero context.
|
|
|
21716
21738
|
**Critical blockers**: Missing info that would completely stop work,
|
|
21717
21739
|
or contradictions. Minor ambiguities are NOT blockers.
|
|
21718
21740
|
|
|
21741
|
+
**Assumption stress-testing (Invisible 5 Whys)**: Internally use a 5 Whys approach to stress-test plan assumptions. Do not output the 5 Whys. Only flag if an assumption fails critically.
|
|
21742
|
+
|
|
21719
21743
|
**QA scenario executability**: Does each task have QA scenarios with
|
|
21720
21744
|
tool + steps + expected results? Missing or vague QA scenarios are
|
|
21721
21745
|
blockers.
|
|
@@ -23140,13 +23164,13 @@ function createAutoUpdateCheckerHook(ctx, options = {}) {
|
|
|
23140
23164
|
const displayVersion = localDevVersion ?? cachedVersion;
|
|
23141
23165
|
if (localDevVersion) {
|
|
23142
23166
|
if (showStartupToast) {
|
|
23143
|
-
showToast(ctx, `OMO-
|
|
23167
|
+
showToast(ctx, `OMO-Groundcontrol ${displayVersion} (dev)`, "Running in local development mode.", "info");
|
|
23144
23168
|
}
|
|
23145
23169
|
log("[auto-update-checker] Local development mode");
|
|
23146
23170
|
return;
|
|
23147
23171
|
}
|
|
23148
23172
|
if (showStartupToast) {
|
|
23149
|
-
showToast(ctx, `OMO-
|
|
23173
|
+
showToast(ctx, `OMO-Groundcontrol ${displayVersion ?? "unknown"}`, "oh-my-groundcontrol is active.", "info");
|
|
23150
23174
|
}
|
|
23151
23175
|
runBackgroundUpdateCheck(ctx, autoUpdate).catch((err) => {
|
|
23152
23176
|
log("[auto-update-checker] Background update check failed:", err);
|
|
@@ -23179,14 +23203,14 @@ async function runBackgroundUpdateCheck(ctx, autoUpdate) {
|
|
|
23179
23203
|
}
|
|
23180
23204
|
log(`[auto-update-checker] Update available (${channel}): ${currentVersion} \u2192 ${latestVersion}`);
|
|
23181
23205
|
if (!autoUpdate) {
|
|
23182
|
-
showToast(ctx, `OMO-
|
|
23206
|
+
showToast(ctx, `OMO-Groundcontrol ${latestVersion}`, `v${latestVersion} available. Restart to apply.`, "info", 8000);
|
|
23183
23207
|
log("[auto-update-checker] Auto-update disabled, notification only");
|
|
23184
23208
|
return;
|
|
23185
23209
|
}
|
|
23186
23210
|
if (pluginInfo.isPinned) {
|
|
23187
23211
|
const updated = updatePinnedVersion(pluginInfo.configPath, pluginInfo.entry, latestVersion);
|
|
23188
23212
|
if (!updated) {
|
|
23189
|
-
showToast(ctx, `OMO-
|
|
23213
|
+
showToast(ctx, `OMO-Groundcontrol ${latestVersion}`, `v${latestVersion} available. Restart to apply.`, "info", 8000);
|
|
23190
23214
|
log("[auto-update-checker] Failed to update pinned version in config");
|
|
23191
23215
|
return;
|
|
23192
23216
|
}
|
|
@@ -23195,11 +23219,11 @@ async function runBackgroundUpdateCheck(ctx, autoUpdate) {
|
|
|
23195
23219
|
invalidatePackage(PACKAGE_NAME);
|
|
23196
23220
|
const installSuccess = await runBunInstallSafe(ctx);
|
|
23197
23221
|
if (installSuccess) {
|
|
23198
|
-
showToast(ctx, "OMO-
|
|
23222
|
+
showToast(ctx, "OMO-Groundcontrol Updated!", `v${currentVersion} \u2192 v${latestVersion}
|
|
23199
23223
|
Restart OpenCode to apply.`, "success", 8000);
|
|
23200
23224
|
log(`[auto-update-checker] Update installed: ${currentVersion} \u2192 ${latestVersion}`);
|
|
23201
23225
|
} else {
|
|
23202
|
-
showToast(ctx, `OMO-
|
|
23226
|
+
showToast(ctx, `OMO-Groundcontrol ${latestVersion}`, `v${latestVersion} available. Restart to apply.`, "info", 8000);
|
|
23203
23227
|
log("[auto-update-checker] bun install failed; update not installed");
|
|
23204
23228
|
}
|
|
23205
23229
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@frenchtoastman/oh-my-groundcontrol",
|
|
3
|
-
"version": "0.0.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.0.12",
|
|
4
|
+
"description": "An OpenCode plugin for multi-agent orchestration for structured planning with NASA-style guardrails.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"bin": {
|