hubify 1.5.0 → 2.0.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 +50 -263
- package/dist/index.js +1774 -31496
- package/dist/index.js.map +1 -0
- package/package.json +37 -46
- package/scripts/postinstall.mjs +72 -0
- package/skill/SKILL.md +184 -0
- package/dist/chunk-FW7BS3MW.js +0 -40
- package/dist/convex-MXZDQPMB.js +0 -10
package/skill/SKILL.md
ADDED
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: hubify
|
|
3
|
+
description: Hubify Labs CLI — drive your research lab from the terminal using 36 commands
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Preamble (run first, every session)
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
if command -v hubify &>/dev/null; then
|
|
11
|
+
echo "HUBIFY_READY=true"
|
|
12
|
+
hubify status 2>/dev/null | head -8 || echo "AUTH_NEEDED=true"
|
|
13
|
+
else
|
|
14
|
+
echo "HUBIFY_READY=false"
|
|
15
|
+
fi
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
If `HUBIFY_READY=false`: tell the user to install via `npm install -g hubify-labs` then `hubify auth`.
|
|
19
|
+
|
|
20
|
+
If `AUTH_NEEDED=true`: run `hubify auth` and wait.
|
|
21
|
+
|
|
22
|
+
If `HUBIFY_READY=true`: you have live access to the user's research lab. Use the commands below proactively — don't just answer questions, run the commands and surface the actual data.
|
|
23
|
+
|
|
24
|
+
## What Hubify is
|
|
25
|
+
|
|
26
|
+
Hubify is a scientific discovery platform. Labs run autonomous AI agent teams on GPU compute to produce real science — experiments, papers, datasets, discoveries. The CLI connects Claude directly to the user's live lab data via Convex.
|
|
27
|
+
|
|
28
|
+
The user is the **director**. You are the **operator**. When they ask about their research, run the commands, read the results, and give them a clear answer — don't ask them to run things themselves.
|
|
29
|
+
|
|
30
|
+
## Authentication
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
hubify auth # opens browser OAuth (first time)
|
|
34
|
+
hubify status # verify auth + see active lab
|
|
35
|
+
hubify labs # list all labs
|
|
36
|
+
hubify lab switch <slug> # switch active lab (bigbounce, pta-gw, chirality, etc.)
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## All 36 commands
|
|
40
|
+
|
|
41
|
+
### Lab Status
|
|
42
|
+
```bash
|
|
43
|
+
hubify status # full lab snapshot: experiments, agents, pods, costs, papers
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### Experiments
|
|
47
|
+
```bash
|
|
48
|
+
hubify experiments # list recent experiments (status, results)
|
|
49
|
+
hubify experiments --status running # filter: running | pass | fail | queued
|
|
50
|
+
hubify experiments -n 50 # show more results
|
|
51
|
+
hubify queue # experiment queue chains (pause/resume)
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### Papers
|
|
55
|
+
```bash
|
|
56
|
+
hubify papers # list papers with draft/submitted/published status
|
|
57
|
+
hubify reviews # peer review status across papers
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### Agents
|
|
61
|
+
```bash
|
|
62
|
+
hubify agents # list all agents (role, level, status, model)
|
|
63
|
+
hubify activity # recent agent activity log (what ran overnight)
|
|
64
|
+
hubify standups # daily agent standups
|
|
65
|
+
hubify chat "<message>" # message the lab orchestrator
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### Compute & Costs
|
|
69
|
+
```bash
|
|
70
|
+
hubify pods # RunPod GPU pods (status, cost/hr, utilization)
|
|
71
|
+
hubify costs # spending: daily, weekly, monthly breakdown
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### Knowledge & Memory
|
|
75
|
+
```bash
|
|
76
|
+
hubify knowledge "<query>" # semantic search lab knowledge base
|
|
77
|
+
hubify memory search "<query>" # search agent memory layers
|
|
78
|
+
hubify learnings # agent learning entries (what they've learned)
|
|
79
|
+
hubify contributions # scientific contributions + novelty scores (1-10)
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### Data & Surveys
|
|
83
|
+
```bash
|
|
84
|
+
hubify surveys # data surveys (name, status, source count)
|
|
85
|
+
hubify datasets # datasets (type, size, source, description)
|
|
86
|
+
hubify figures # figures and plots linked to experiments/papers
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### Tasks & Notifications
|
|
90
|
+
```bash
|
|
91
|
+
hubify tasks # open tasks assigned to agents
|
|
92
|
+
hubify notifications # unread notifications from agents
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### Lab Management
|
|
96
|
+
```bash
|
|
97
|
+
hubify lab # show current lab metadata
|
|
98
|
+
hubify labs # list all labs with their slugs
|
|
99
|
+
hubify lab switch <slug> # switch active lab
|
|
100
|
+
hubify site # lab website status and URL
|
|
101
|
+
hubify backup # trigger or check backup status
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### Auth
|
|
105
|
+
```bash
|
|
106
|
+
hubify auth # authenticate via browser
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### Search
|
|
110
|
+
```bash
|
|
111
|
+
hubify search "<query>" # full-text search across all lab content
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### TUI
|
|
115
|
+
```bash
|
|
116
|
+
hubify tui # full terminal dashboard (ink TUI)
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
## Common workflows
|
|
120
|
+
|
|
121
|
+
**Morning research check-in:**
|
|
122
|
+
```bash
|
|
123
|
+
hubify status # what's the lab state?
|
|
124
|
+
hubify activity # what did agents do overnight?
|
|
125
|
+
hubify experiments --status running # anything live right now?
|
|
126
|
+
hubify costs # how much did we spend?
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
**Checking experiment results:**
|
|
130
|
+
```bash
|
|
131
|
+
hubify experiments --status pass # what passed recently?
|
|
132
|
+
hubify knowledge "anomaly detection" # what do we know about this?
|
|
133
|
+
hubify contributions # any novel discoveries?
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
**Before asking agents to run new work:**
|
|
137
|
+
```bash
|
|
138
|
+
hubify pods # is compute available?
|
|
139
|
+
hubify tasks # any blockers or queued work?
|
|
140
|
+
hubify queue # what's already in the pipeline?
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
**Research question → answer:**
|
|
144
|
+
```bash
|
|
145
|
+
hubify knowledge "<topic>" # search what lab already knows
|
|
146
|
+
hubify memory search "<topic>" # check agent memory
|
|
147
|
+
hubify search "<query>" # broader search
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
**Paper status:**
|
|
151
|
+
```bash
|
|
152
|
+
hubify papers # list all papers
|
|
153
|
+
hubify reviews # peer review status
|
|
154
|
+
hubify figures # figures and plots
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
## Proactive behavior rules
|
|
158
|
+
|
|
159
|
+
- When user mentions experiments / results / "what happened" → run `hubify status` + `hubify activity` first
|
|
160
|
+
- When user asks about compute / GPU / running jobs → run `hubify pods` + `hubify experiments --status running`
|
|
161
|
+
- When user asks about cost / spending → run `hubify costs`
|
|
162
|
+
- When user asks about a specific topic → run `hubify knowledge "<topic>"`
|
|
163
|
+
- When user asks "what's next" / task planning → run `hubify tasks` + `hubify queue`
|
|
164
|
+
- When user asks about papers → run `hubify papers` + `hubify reviews`
|
|
165
|
+
- When user asks about agents → run `hubify agents` + `hubify activity`
|
|
166
|
+
|
|
167
|
+
Always: present results as a clear summary, not raw terminal output. Highlight anomalies, failures, high-cost items, and novel discoveries.
|
|
168
|
+
|
|
169
|
+
## Skill routing (for CLAUDE.md)
|
|
170
|
+
|
|
171
|
+
Add to your project CLAUDE.md to auto-activate this skill:
|
|
172
|
+
|
|
173
|
+
```markdown
|
|
174
|
+
## Hubify CLI
|
|
175
|
+
|
|
176
|
+
The hubify CLI is installed. When the user asks about experiments, papers, agents,
|
|
177
|
+
compute, costs, knowledge, or lab status — use hubify commands to get real data
|
|
178
|
+
before answering. Do not guess — run the command.
|
|
179
|
+
|
|
180
|
+
Available: hubify status | experiments | papers | reviews | agents | activity |
|
|
181
|
+
pods | costs | knowledge | memory | learnings | contributions | surveys | datasets |
|
|
182
|
+
figures | tasks | notifications | lab | labs | site | backup | chat | queue |
|
|
183
|
+
standups | search | auth | tui
|
|
184
|
+
```
|
package/dist/chunk-FW7BS3MW.js
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __export = (target, all) => {
|
|
3
|
-
for (var name in all)
|
|
4
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
5
|
-
};
|
|
6
|
-
|
|
7
|
-
// src/lib/convex.ts
|
|
8
|
-
import { ConvexHttpClient } from "convex/browser";
|
|
9
|
-
var CONVEX_URL = process.env.CONVEX_URL || "https://dapper-mockingbird-619.convex.cloud";
|
|
10
|
-
var client = null;
|
|
11
|
-
function getClient() {
|
|
12
|
-
if (!client) {
|
|
13
|
-
client = new ConvexHttpClient(CONVEX_URL);
|
|
14
|
-
}
|
|
15
|
-
return client;
|
|
16
|
-
}
|
|
17
|
-
function createApiProxy(path = []) {
|
|
18
|
-
return new Proxy(() => {
|
|
19
|
-
}, {
|
|
20
|
-
get(_target, prop) {
|
|
21
|
-
return createApiProxy([...path, prop]);
|
|
22
|
-
},
|
|
23
|
-
apply() {
|
|
24
|
-
return path.join(":");
|
|
25
|
-
}
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
function toFunctionName(ref) {
|
|
29
|
-
if (typeof ref === "string") return ref;
|
|
30
|
-
if (typeof ref === "function") return ref();
|
|
31
|
-
return String(ref);
|
|
32
|
-
}
|
|
33
|
-
var api = createApiProxy();
|
|
34
|
-
|
|
35
|
-
export {
|
|
36
|
-
__export,
|
|
37
|
-
getClient,
|
|
38
|
-
toFunctionName,
|
|
39
|
-
api
|
|
40
|
-
};
|