@hybridlabor-api/aos 4.9.0 → 4.10.0
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/.agents/{agents.md → AGENTS.md} +2 -0
- package/.agents/nodes.json +2 -0
- package/.claude/hooks/memb-inject.mjs +29 -1
- package/.claude/workflows/startcycle-dispatch.mjs +23 -1
- package/CLAUDE.md +0 -571
- package/THIRD_PARTY_NOTICES.md +38 -0
- package/bin/aos-doctor.mjs +1 -1
- package/installer.js +13 -9
- package/package.json +2 -2
- package/skills/basic/bdb-eventagency-skill/SKILL.md +252 -0
- package/skills/basic/bdb-shipping-skill/SKILL.md +161 -0
- package/skills/basic/godmode-eventtech/SKILL.md +4 -1
- package/skills/global_config/aos-project-init/SKILL.md +2 -0
- package/skills/global_config/aos-project-init/assets/AGENTS.template.md +1 -1
- package/skills/global_config/aos-project-init/scripts/aos-project-doctor.mjs +1 -1
- package/skills/global_config/aos-setup/SKILL.md +1 -1
- package/skills/global_config/aos-setup/scripts/aos-doctor.mjs +1 -1
- package/skills/global_config/ask-tim/SKILL.md +3 -3
- package/skills/global_config/deja-memory/SKILL.md +3 -1
- package/skills/global_config/plan-canvas/SKILL.md +9 -2
- package/skills/global_config/plan-canvas/scripts/lib/plan-canvas/ui.js +10 -2
- package/skills/global_config/plan-canvas/scripts/plan-canvas.js +1 -1
- package/skills/global_config/read-the-damn-docs/SKILL.md +175 -0
- package/skills/global_config/writing-plans/SKILL.md +12 -12
- package/skills/global_config/writing-plans-legacy/SKILL.md +15 -2
- package/.claude/CLAUDE.md +0 -12
- package/mcps/RhinoMCP/docs/content/docs/getting-started/gemini.md +0 -61
- /package/{GEMINI.md → RULES.md} +0 -0
|
@@ -3,7 +3,7 @@ name: plan-canvas
|
|
|
3
3
|
description: Open plans and HTML artifacts in a local browser canvas where the human annotates elements, chats, and approves or requests changes without leaving the page. Use when presenting a plan for review, or when feedback like "move this, change that" is easier pointed at than typed.
|
|
4
4
|
category: bdb-core
|
|
5
5
|
metadata:
|
|
6
|
-
version: "1.0.
|
|
6
|
+
version: "1.0.1"
|
|
7
7
|
origin: affaan-m/ECC
|
|
8
8
|
license: MIT
|
|
9
9
|
---
|
|
@@ -28,6 +28,10 @@ AOS from [affaan-m/ECC](https://github.com/affaan-m/ECC).
|
|
|
28
28
|
decision — the canvas verdict replaces a typed "yes/proceed".
|
|
29
29
|
- **Mandatory, not optional**, at the end of `bdbrainstorm` (before writing
|
|
30
30
|
`state.goal` / handing off to `/startcycle-graph`) and `bdbmediastorm`
|
|
31
|
+
- **Visual Extensions (BuilderIO Integration):** When generating plans, always ask the human which Canvas version they prefer:
|
|
32
|
+
- **Plan-Canvas Preview**: Standard markdown/html review.
|
|
33
|
+
- **Archify Canvas**: For strict architecture schema validation.
|
|
34
|
+
- **Visual Ecosystem**: Use `/visual-plan` (turn text plans into rich visual plans), `/visual-recap` (turn diffs into interactive visual recaps), or `/visual-edit` (open a running local app for visual editing).
|
|
31
35
|
(before the show-control architecture is considered final) — both produce
|
|
32
36
|
a plan/spec artifact a human must approve before anything downstream
|
|
33
37
|
proceeds. See each skill's own "Plan Canvas Review" section.
|
|
@@ -75,11 +79,14 @@ If your turn ends with nothing listening, the message sits in the queue and,
|
|
|
75
79
|
from the human's side of the glass, sending appears to do nothing at all.
|
|
76
80
|
|
|
77
81
|
So **run `await` as a background task** when your harness supports one (in
|
|
78
|
-
Claude Code, a Bash call with `run_in_background: true`). It exits the moment
|
|
82
|
+
Claude Code, a Bash call with `run_in_background: true`; in Antigravity, use `WaitMsBeforeAsync: 500`). It exits the moment
|
|
79
83
|
feedback arrives and the harness hands you the JSON, which keeps the loop alive
|
|
80
84
|
across turns instead of dying with the foreground call. A foreground `await`
|
|
81
85
|
works too, but only until the harness time-limits it.
|
|
82
86
|
|
|
87
|
+
> **OpenCode Limitations**: OpenCode currently lacks reactive background tasks (like AGY's `WaitMsBeforeAsync`) or background shells. If you are running in OpenCode, you must poll explicitly if needed (e.g., `aos-plan-canvas await <file> --timeout-ms 10000`), or launch the opencode-subagent to handle the waiting.
|
|
88
|
+
> Furthermore, OpenCode's execution environment often fails to launch the default browser automatically. **Whenever you use `open` or `await`, ALWAYS print the direct Canvas URL to the user in chat (e.g., "🔗 Canvas geöffnet: http://127.0.0.1:4519/canvas/...")** so they can click it manually.
|
|
89
|
+
|
|
83
90
|
One backstop exists, and it is not an excuse to skip the above:
|
|
84
91
|
|
|
85
92
|
- `aos-plan-canvas pending` lists feedback queued with no listener. Check it
|
|
@@ -544,7 +544,11 @@ function renderMarkdownArtifactHtml(bodyHtml, { title, sdkSrc }) {
|
|
|
544
544
|
${TOKENS_CSS}
|
|
545
545
|
*{margin:0;padding:0;box-sizing:border-box}
|
|
546
546
|
body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;line-height:1.65;font-size:14.5px}
|
|
547
|
-
|
|
547
|
+
/* Two tracks: tables, code and diagrams take the whole frame; prose keeps a
|
|
548
|
+
readable measure. A single narrow column starved wide tables, and a single
|
|
549
|
+
wide column made body text unreadable. */
|
|
550
|
+
.doc{max-width:min(1560px,100%);margin:0 auto;padding:44px 36px 90px}
|
|
551
|
+
.doc>p,.doc>ul,.doc>ol,.doc>blockquote{max-width:104ch}
|
|
548
552
|
h1,h2,h3,h4,h5,h6{line-height:1.25;margin:1.6em 0 .55em;letter-spacing:-.01em}
|
|
549
553
|
h1{font-size:26px;margin-top:.3em;padding-bottom:.45em;border-bottom:1px solid var(--border)}
|
|
550
554
|
h1:after{content:'';display:block;width:56px;height:3px;margin-top:14px;border-radius:2px;background:linear-gradient(90deg,var(--accent),var(--pink))}
|
|
@@ -563,7 +567,11 @@ ${TOKENS_CSS}
|
|
|
563
567
|
pre code{background:none;border:none;padding:0;font-size:12.5px;line-height:1.55}
|
|
564
568
|
blockquote{border-left:3px solid var(--accent);background:var(--accent-glow);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:8px 14px;color:var(--text2)}
|
|
565
569
|
table{width:100%;border-collapse:collapse;font-size:13px;display:block;overflow-x:auto}
|
|
566
|
-
|
|
570
|
+
/* a clipped column must look scrollable, not truncated: keep the scrollbar visible */
|
|
571
|
+
table::-webkit-scrollbar{height:9px}
|
|
572
|
+
table::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:99px}
|
|
573
|
+
table::-webkit-scrollbar-track{background:var(--bg3);border-radius:99px}
|
|
574
|
+
th,td{text-align:left;padding:7px 10px;border:1px solid var(--border)}
|
|
567
575
|
th{background:var(--bg3);font-weight:600;font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--text2);white-space:nowrap}
|
|
568
576
|
tbody tr:hover{background:var(--surface-hover)}
|
|
569
577
|
hr{border:none;border-top:1px solid var(--border);margin:1.6em 0}
|
|
@@ -37,7 +37,7 @@ const {
|
|
|
37
37
|
resolvePort
|
|
38
38
|
} = require('./lib/plan-canvas/server');
|
|
39
39
|
|
|
40
|
-
const VERSION = '1.0.
|
|
40
|
+
const VERSION = '1.0.1'; // vendored Plan Canvas protocol version; matches SKILL.md metadata.version.
|
|
41
41
|
// Bump when the vendored JS changes, to force a stale detached server to restart.
|
|
42
42
|
|
|
43
43
|
const SAFE_REQUEST_PATHS = new Set([
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: read-the-damn-docs
|
|
3
|
+
description: >-
|
|
4
|
+
Use when implementing, integrating, upgrading, debugging, or answering
|
|
5
|
+
anything involving third-party APIs, libraries, frameworks, CLIs, cloud
|
|
6
|
+
services, model or provider SDKs, fast-moving product behavior, unfamiliar
|
|
7
|
+
repo docs or specs, errors that may indicate API drift, or high-stakes auth,
|
|
8
|
+
security, billing, data, migration, deployment, compliance, or privacy
|
|
9
|
+
behavior. Forces a docs pass before coding from memory.
|
|
10
|
+
category: engineering-method
|
|
11
|
+
source: BuilderIO/skills
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# Read The Damn Docs
|
|
15
|
+
|
|
16
|
+
Do not guess where authoritative docs can answer the question. The most common
|
|
17
|
+
correct move is to search for the current official docs, open the relevant
|
|
18
|
+
pages, and read them before writing code. For APIs, versions, provider behavior,
|
|
19
|
+
config, limits, lifecycle hooks, or security-sensitive flows, ground the answer
|
|
20
|
+
in what the docs actually say.
|
|
21
|
+
|
|
22
|
+
**Division of labour with `AGENTS.md`.** `AGENTS.md`'s *Zero guesswork* rule
|
|
23
|
+
states the obligation and the trigger list. This skill is the **procedure** that
|
|
24
|
+
discharges it. If the two ever disagree, the rule in `AGENTS.md` wins and this
|
|
25
|
+
file is the thing that should change.
|
|
26
|
+
|
|
27
|
+
Adapted from [BuilderIO/skills](https://github.com/BuilderIO/skills) (MIT).
|
|
28
|
+
Prose only — no upstream scripts, no agent config, no dependency.
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## 1. Docs-First Triggers
|
|
33
|
+
|
|
34
|
+
Read docs before proceeding when any of these are true:
|
|
35
|
+
|
|
36
|
+
- The user asks for "latest", "current", "official", "supported", "best
|
|
37
|
+
practice", "recommended", "today", "now", or "look it up".
|
|
38
|
+
- The needed docs are **not** already in the repo or supplied by the user.
|
|
39
|
+
Search for the official docs rather than hoping model memory is current.
|
|
40
|
+
- The task adds, upgrades, configures, or imports a package, SDK, framework,
|
|
41
|
+
plugin, CLI, model, cloud resource, or provider integration.
|
|
42
|
+
- The API is fast-moving or version-sensitive: AI SDKs, model provider APIs,
|
|
43
|
+
Next.js, React, Tailwind, Vite, Drizzle, Prisma, Stripe, GitHub, Slack,
|
|
44
|
+
Notion, browser APIs, deployment platforms, auth libraries, and similar.
|
|
45
|
+
- The implementation depends on auth, OAuth scopes, permissions, secrets,
|
|
46
|
+
webhooks, billing, payments, PII, encryption, data retention, migrations,
|
|
47
|
+
retries, rate limits, quotas, caching, deploys, or compliance.
|
|
48
|
+
- An error mentions deprecation, unknown options, missing exports, invalid
|
|
49
|
+
config, unsupported fields, changed defaults, or version mismatch.
|
|
50
|
+
- The repo has local docs, ADRs, generated schemas, OpenAPI specs, route or
|
|
51
|
+
action registries, design-system docs, or package-level READMEs that could
|
|
52
|
+
define the contract.
|
|
53
|
+
- The choice is expensive to reverse: public wire formats, database schema,
|
|
54
|
+
migration strategy, persistent IDs, event names, customer-visible behavior,
|
|
55
|
+
or external automation contracts.
|
|
56
|
+
- You catch yourself about to write "usually", "probably", "I think", "from
|
|
57
|
+
memory", or code copied from model memory for an external API.
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## 2. What Counts As Docs
|
|
62
|
+
|
|
63
|
+
Use the most authoritative source available:
|
|
64
|
+
|
|
65
|
+
- **Local** repo docs, specs, ADRs, schemas, generated types, package READMEs,
|
|
66
|
+
and tests — for project-specific behaviour.
|
|
67
|
+
- **Official** product docs, API references, migration guides, changelogs,
|
|
68
|
+
release notes, and SDK source or type definitions — for third-party
|
|
69
|
+
behaviour. Find these with web search when you do not already have the URL.
|
|
70
|
+
- **Package registry metadata** for versions. Before adding a dependency, check
|
|
71
|
+
its current version (`npm view <pkg> version`, `pnpm view <pkg> version`, or
|
|
72
|
+
the ecosystem equivalent), then read the docs for *that* major version.
|
|
73
|
+
- **Source code or type definitions** when official docs are incomplete. Treat
|
|
74
|
+
this as evidence, not folklore.
|
|
75
|
+
|
|
76
|
+
Avoid Stack Overflow, old blog posts, random snippets, and memory as the
|
|
77
|
+
primary source when official docs exist. Use community sources only to debug
|
|
78
|
+
symptoms *after* the authoritative contract is known.
|
|
79
|
+
|
|
80
|
+
**In this environment:** `firecrawl-search` and `firecrawl-scrape` are the
|
|
81
|
+
installed tools for the web pass, and `deja-memory` / `memb_mcp` can surface
|
|
82
|
+
prior project knowledge. Neither substitutes for a docs read.
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## 3. Required Workflow
|
|
87
|
+
|
|
88
|
+
1. **Identify the exact surface** — package name, installed version, target
|
|
89
|
+
version, provider endpoint, CLI command, config file, local helper, schema,
|
|
90
|
+
or product feature.
|
|
91
|
+
2. **Search for the current official docs**, unless the relevant docs are
|
|
92
|
+
already local or the user supplied a URL. Targeted queries work best:
|
|
93
|
+
`<product> <feature> official docs`, `<package> migration guide`,
|
|
94
|
+
`<provider> API reference`.
|
|
95
|
+
3. **Open and read the docs closest to that surface.** Prefer local docs first
|
|
96
|
+
for internal code, then official upstream docs. For new packages, verify the
|
|
97
|
+
latest version before writing imports, config, or install commands.
|
|
98
|
+
4. **Extract the few facts needed** — option names, imports, lifecycle rules,
|
|
99
|
+
default behaviour, breaking changes, limits, permissions, and examples for
|
|
100
|
+
the current major version.
|
|
101
|
+
5. **Implement or answer using those facts.** If the docs conflict with existing
|
|
102
|
+
code, inspect the local code path and call out the discrepancy — do not
|
|
103
|
+
silently pick one.
|
|
104
|
+
6. **Verify with the smallest useful check** — typecheck, tests, build, CLI dry
|
|
105
|
+
run, API schema validation, or a local reproduction. This is the same
|
|
106
|
+
"narrowest quiet validation" rule the Shipping gate enforces.
|
|
107
|
+
7. **Name what you read** in the final answer, when that evidence affected the
|
|
108
|
+
recommendation or the implementation.
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## 4. Examples That Must Trigger A Docs Pass
|
|
113
|
+
|
|
114
|
+
- *"Add Tailwind to this app."* — Check the current Tailwind major and its
|
|
115
|
+
install docs before creating config files or assuming old PostCSS setup.
|
|
116
|
+
- *"Stream responses with the AI SDK."* — Verify the current SDK major,
|
|
117
|
+
provider package names, streaming helpers, and runtime examples.
|
|
118
|
+
- *"Wire up Stripe webhooks."* — Read current signature verification, event
|
|
119
|
+
retry, endpoint secret, and framework body-parsing docs before coding.
|
|
120
|
+
- *"Fix this Next.js caching bug."* — Read the docs for the **installed** major
|
|
121
|
+
and router mode before assuming cache invalidation semantics.
|
|
122
|
+
- *"Add Drizzle migrations."* — Read the current kit docs **and** the existing
|
|
123
|
+
repo migration conventions before generating files.
|
|
124
|
+
- *"Create a GitHub Action."* — Read Actions syntax and permissions docs,
|
|
125
|
+
especially `pull_request`, `workflow_run`, OIDC, tokens, and artifacts.
|
|
126
|
+
- *"Why does this OAuth flow fail?"* — Read the provider's scopes, redirect URI,
|
|
127
|
+
PKCE, token refresh, and app-verification docs before changing code.
|
|
128
|
+
- *"Use this repo's plan/comment/action system."* — Read local docs, route and
|
|
129
|
+
action registries, schemas, and tests before inventing endpoints or props.
|
|
130
|
+
- *"Upgrade Vite/React."* — Read the migration guide for the **exact** target
|
|
131
|
+
major before editing config or imports.
|
|
132
|
+
- *"What model should we use?"* — Read current provider model docs, pricing and
|
|
133
|
+
limits pages, and SDK examples before recommending.
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## 5. When A Quick Local Read Is Enough
|
|
138
|
+
|
|
139
|
+
Do not search the web for every tiny edit. A docs pass can be local and brief
|
|
140
|
+
when the answer is already in the repo: existing helper usage, nearby tests,
|
|
141
|
+
typed interfaces, generated clients, ADRs, or package READMEs.
|
|
142
|
+
|
|
143
|
+
But if the task depends on an external tool, package, provider, or current
|
|
144
|
+
product behaviour, a search is usually the right first step. For trivial
|
|
145
|
+
language syntax, typo fixes, formatting, or self-contained code with no
|
|
146
|
+
external contract, proceed normally.
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
|
|
150
|
+
## 6. If Docs Are Unavailable
|
|
151
|
+
|
|
152
|
+
If network access, auth, or missing local files prevents reading the docs, say
|
|
153
|
+
that plainly **before** relying on memory. Narrow the uncertainty, inspect
|
|
154
|
+
source or types if available, and do not present the result as
|
|
155
|
+
confirmed-current. A clearly-labelled estimate is useful; an unlabelled one is
|
|
156
|
+
a defect.
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
## 7. Verification
|
|
161
|
+
|
|
162
|
+
- [ ] Every trigger in §1 was checked before writing code, not after.
|
|
163
|
+
- [ ] The exact version in play was established (installed vs. target), and the
|
|
164
|
+
docs read match that major.
|
|
165
|
+
- [ ] At least one authoritative source backs every external API, option name,
|
|
166
|
+
default, limit, and lifecycle claim in the output.
|
|
167
|
+
- [ ] No claim rests on Stack Overflow, a blog post, or model memory as its
|
|
168
|
+
primary source.
|
|
169
|
+
- [ ] Conflicts between docs and local code were surfaced, not silently
|
|
170
|
+
resolved.
|
|
171
|
+
- [ ] The smallest useful verification check was run and its result reported.
|
|
172
|
+
- [ ] The sources consulted are named in the response where they affected the
|
|
173
|
+
recommendation.
|
|
174
|
+
- [ ] Any remaining uncertainty is stated explicitly, with what would resolve it.
|
|
175
|
+
- [ ] No npm dependency, script, or executable was added by this skill.
|
|
@@ -182,24 +182,24 @@ If you find issues, fix them inline. No need to re-review — just fix and move
|
|
|
182
182
|
|
|
183
183
|
## Execution Handoff
|
|
184
184
|
|
|
185
|
-
After saving and self-reviewing the plan,
|
|
186
|
-
to read. If they have already explicitly supplied an execution method, ask
|
|
187
|
-
them to review the plan and confirm it captures what they want; wait for that
|
|
188
|
-
review before implementation, then use the preserved method. Otherwise, ask
|
|
189
|
-
them to review the plan and choose an execution method before implementation.
|
|
185
|
+
After saving and self-reviewing the plan, you **MUST** open it in the Plan Canvas for the user to review. Do not ask them to read the markdown file in the terminal.
|
|
190
186
|
|
|
191
|
-
**
|
|
187
|
+
1. **Render Architecture:** If the plan contains complex flows, render them using `aos-archify` (see `archify` skill).
|
|
188
|
+
2. **Open Canvas:** Run `aos-plan-canvas open docs/plans/<filename>.md` (or `.html` if using archify).
|
|
189
|
+
3. **Await Feedback:** Run `aos-plan-canvas await docs/plans/<filename>.md` as a background task.
|
|
192
190
|
|
|
193
|
-
|
|
191
|
+
Tell the user:
|
|
192
|
+
**"Plan complete and saved! Ich habe den Plan im Canvas für dich geöffnet. Bitte schau ihn dir im Browser an und gib mir dort dein Feedback oder klicke auf Approve."**
|
|
194
193
|
|
|
195
|
-
|
|
196
|
-
- **Native** - I implement every task myself in this session, the way this harness runs work, then one fresh reviewer on the most capable model checks the whole branch. Cheapest and fastest; no independent review until the end. Runs well with a mid-tier session model, since the plan carries the design.
|
|
194
|
+
*(If running in OpenCode, always explicitly print the Canvas URL in chat so the user can click it).*
|
|
197
195
|
|
|
198
|
-
|
|
196
|
+
Wait for the `approve` verdict from the Canvas before proceeding to execution.
|
|
199
197
|
|
|
200
|
-
**When
|
|
198
|
+
**When the plan is approved, ask for the execution method (if not already supplied):**
|
|
201
199
|
|
|
202
|
-
**"
|
|
200
|
+
**"Welchen Ausführungsansatz sollen wir wählen?**
|
|
201
|
+
- **Subagent-driven** - Ein frischer Subagent für jede Aufgabe. (Am gründlichsten, aber teurer).
|
|
202
|
+
- **Native** - Ich implementiere alle Tasks selbst nacheinander in dieser Session. (Schneller, günstiger)."
|
|
203
203
|
|
|
204
204
|
**If Subagent-driven chosen:**
|
|
205
205
|
- **REQUIRED SUB-SKILL:** Use subagent-driven-development
|
|
@@ -111,9 +111,22 @@ git commit -m "feat: add specific feature"
|
|
|
111
111
|
|
|
112
112
|
## Execution Handoff
|
|
113
113
|
|
|
114
|
-
After saving the plan,
|
|
114
|
+
After saving the plan, you **MUST** open it in the Plan Canvas for the user to review. Do not ask them to read the markdown file in the terminal.
|
|
115
115
|
|
|
116
|
-
**
|
|
116
|
+
1. **Render Architecture:** If the plan contains complex flows, render them using `aos-archify` (see `archify` skill).
|
|
117
|
+
2. **Open Canvas:** Run `aos-plan-canvas open docs/plans/<filename>.md` (or `.html` if using archify).
|
|
118
|
+
3. **Await Feedback:** Run `aos-plan-canvas await docs/plans/<filename>.md` as a background task.
|
|
119
|
+
|
|
120
|
+
Tell the user:
|
|
121
|
+
**"Plan complete and saved! Ich habe den Plan im Canvas für dich geöffnet. Bitte schau ihn dir im Browser an und gib mir dort dein Feedback oder klicke auf Approve."**
|
|
122
|
+
|
|
123
|
+
*(If running in OpenCode, always explicitly print the Canvas URL in chat so the user can click it).*
|
|
124
|
+
|
|
125
|
+
Wait for the `approve` verdict from the Canvas before proceeding to execution.
|
|
126
|
+
|
|
127
|
+
**When the plan is approved, offer execution choice:**
|
|
128
|
+
|
|
129
|
+
**"Plan is approved. Two execution options:**
|
|
117
130
|
|
|
118
131
|
**1. Subagent-Driven (this session)** - I dispatch fresh subagent per task, review between tasks, fast iteration
|
|
119
132
|
|
package/.claude/CLAUDE.md
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
<!-- memB-start -->
|
|
2
|
-
# memB Auto-Injected Context
|
|
3
|
-
The following knowledge was automatically retrieved from the memB vector engine.
|
|
4
|
-
|
|
5
|
-
## Global Developer Preferences (Godmode)
|
|
6
|
-
|
|
7
|
-
## Project Context: bdb-dev-optimized-agent-skills
|
|
8
|
-
- None
|
|
9
|
-
- None
|
|
10
|
-
- None
|
|
11
|
-
- None
|
|
12
|
-
<!-- memB-end -->
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Gemini CLI
|
|
3
|
-
icon: gemini
|
|
4
|
-
weight: 6
|
|
5
|
-
prev: docs/getting-started
|
|
6
|
-
next: docs/try-it-out
|
|
7
|
-
toc: false
|
|
8
|
-
author: SteveF
|
|
9
|
-
keywords:
|
|
10
|
-
- Gemini CLI
|
|
11
|
-
- Google
|
|
12
|
-
- terminal
|
|
13
|
-
- CLI
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
[Gemini CLI](https://github.com/google-gemini/gemini-cli) is Google's open-source terminal AI assistant. It speaks MCP, so once you point it at the Rhino MCP server it can drive Rhino & Grasshopper the same way Claude or Codex can.
|
|
17
|
-
|
|
18
|
-
If you're choosing between assistants and aren't sure, start with [Claude Desktop](../connector); it's the gentler entry point.
|
|
19
|
-
|
|
20
|
-
## 1. Install Gemini CLI
|
|
21
|
-
|
|
22
|
-
[Gemini CLI](https://github.com/google-gemini/gemini-cli) — install and sign in. See the [Gemini CLI install guide](https://github.com/google-gemini/gemini-cli#installation) if you need it.
|
|
23
|
-
|
|
24
|
-
## 2. Install the Rhino plugin
|
|
25
|
-
|
|
26
|
-
{{< yak package="Rhino-MCP-Platform" version="8" >}}
|
|
27
|
-
{{< yak package="Rhino-MCP-Platform" version="9" >}}
|
|
28
|
-
|
|
29
|
-
If that doesn't work you can try the below:
|
|
30
|
-
|
|
31
|
-
1. Open Rhino 8 (and/or Rhino 9 WIP)
|
|
32
|
-
2. Run the `PackageManager` command
|
|
33
|
-
3. Search for, and install Rhino-MCP-Platform
|
|
34
|
-
|
|
35
|
-
## 3. Wire up the Rhino MCP server
|
|
36
|
-
|
|
37
|
-
1. In Rhino, run the `MCPConnect` command. It prints the command Gemini CLI needs to launch the Rhino MCP router.
|
|
38
|
-
2. Open `~/.gemini/settings.json` (create it if it doesn't exist).
|
|
39
|
-
3. Add an `mcpServers` entry for the Rhino server, pasting the command and args from step 1:
|
|
40
|
-
|
|
41
|
-
```json
|
|
42
|
-
{
|
|
43
|
-
"mcpServers": {
|
|
44
|
-
"rhino": {
|
|
45
|
-
"command": "rhino-mcp-router",
|
|
46
|
-
"args": ["--default-version", "8"]
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
4. Restart Gemini CLI. The `rhino` server should appear when you list MCP servers from inside a session.
|
|
53
|
-
|
|
54
|
-
> **Pick the Rhino version** by changing the `--default-version` arg.
|
|
55
|
-
> Use `8` for Rhino 8, `9` for Rhino 9 WIP/BETA.
|
|
56
|
-
|
|
57
|
-
## Try it out
|
|
58
|
-
|
|
59
|
-
<blockquote class="page-note">
|
|
60
|
-
Start a Gemini CLI session and follow the prompts on the <a href="../../try-it-out">Try It Out</a> page.
|
|
61
|
-
</blockquote>
|
/package/{GEMINI.md → RULES.md}
RENAMED
|
File without changes
|