gobot-tools 1.2.2 → 1.3.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/README.md +19 -0
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -222,6 +222,25 @@ A 9-phase hardening prompt for your Linux VPS. Paste it into Claude Code while S
|
|
|
222
222
|
|
|
223
223
|
---
|
|
224
224
|
|
|
225
|
+
## Family
|
|
226
|
+
|
|
227
|
+
### [Homework Helper](packages/homework-helper) — `gobot-tools install homework-helper`
|
|
228
|
+
|
|
229
|
+
A standalone web app that turns your existing API keys into a grades 5–8 homework helper. Your child opens it on any device — iPad, tablet, laptop, phone — on the same WiFi as the computer running the server. No public URL needed.
|
|
230
|
+
|
|
231
|
+
The design priority is correctness for math: Claude writes Python code, E2B runs it in an isolated cloud VM, and the verified output becomes the answer. Claude only explains how to get there — it never states or guesses the number itself. Science and history use a single vision call that can read photos of worksheets or textbook pages.
|
|
232
|
+
|
|
233
|
+
- Math: Claude generates Python → E2B executes → verified answer → step-by-step explanation
|
|
234
|
+
- Science/History: Vision call reads question and optional reference image, explains at grade level
|
|
235
|
+
- Camera input on mobile — snap a photo of the worksheet directly from the browser
|
|
236
|
+
- KaTeX math rendering for clean fraction and equation display
|
|
237
|
+
- Mobile-first UI with 44px+ touch targets and dark mode
|
|
238
|
+
- Completely standalone — shares only your API keys, no bot stack required
|
|
239
|
+
- **Setup time:** ~5 minutes
|
|
240
|
+
- **Requires:** `ANTHROPIC_API_KEY`, `E2B_API_KEY`
|
|
241
|
+
|
|
242
|
+
---
|
|
243
|
+
|
|
225
244
|
## Infrastructure
|
|
226
245
|
|
|
227
246
|
### [Supabase to Convex Migration](packages/supabase-to-convex) — `gobot-tools install supabase-to-convex`
|
package/dist/index.js
CHANGED
|
@@ -77,4 +77,4 @@ Expecting one of '${z.join("', '")}'`);let R=`${$}Help`;return this.on(R,(J)=>{l
|
|
|
77
77
|
`);return}if(z.length===0){console.log(`
|
|
78
78
|
No tools installed yet. Run "gobot-tools install <tool>" first.
|
|
79
79
|
`);return}let R=0,J=0;for(let Q of z){let Z=L$(Q.name);if(Z===Q.version){console.log(` ${Q.displayName}: already up to date (${Q.version})`),J++;continue}let X=Z??"unknown";console.log(`
|
|
80
|
-
Updating ${Q.displayName}: ${X} → ${Q.version}...`);try{await f(Q),console.log(" Updated."),R++}catch(Y){console.log(` Update failed: ${Y.message}`)}}if(console.log(),R>0)console.log(` ${R} tool(s) updated.`);if(J>0&&R===0)console.log(" All tools are up to date.");console.log()}var H=new Q$;H.name("gobot-tools").description("CLI marketplace for Autonomee community bot tools").version("1.
|
|
80
|
+
Updating ${Q.displayName}: ${X} → ${Q.version}...`);try{await f(Q),console.log(" Updated."),R++}catch(Y){console.log(` Update failed: ${Y.message}`)}}if(console.log(),R>0)console.log(` ${R} tool(s) updated.`);if(J>0&&R===0)console.log(" All tools are up to date.");console.log()}var H=new Q$;H.name("gobot-tools").description("CLI marketplace for Autonomee community bot tools").version("1.3.0");H.command("init").description("Set up gobot-tools for your project").action(Y$);H.command("list").description("Browse all available tools").action(I$);H.command("search <query>").description("Search tools by name, category, or keyword").action(K$);H.command("info <tool>").description("Show details about a specific tool").action(P$);H.command("install <tool>").description("Install a tool into your project").action(W$);H.command("uninstall <tool>").description("Remove an installed tool").action(S$);H.command("update [tool]").description("Update an installed tool, or all installed tools if no name given").action(y$);H.parse();
|
package/package.json
CHANGED