superbee 0.1.1-pre.2 → 0.1.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.
Files changed (4) hide show
  1. package/README.md +13 -9
  2. package/SKILL.md +44 -32
  3. package/dist/superbee.mjs +4194 -2717
  4. package/package.json +2 -4
package/README.md CHANGED
@@ -3,8 +3,9 @@
3
3
  **An OKF-native, CLI-first, agent-facing knowledge store.** Context notes, docs, cross-links,
4
4
  and live bundle Views — as a plain folder of user-owned files that works offline,
5
5
  with an optional wire backend when a separate service hosts the bundle. `superbee` is the
6
- [Superbee](https://github.com/Holaxis-ai/superbee) project's CLI. Its historical `aslite` and
7
- `agentstate-lite` commands remain supported aliases for existing installations.
6
+ [Superbee](https://github.com/Holaxis-ai/superbee) project's CLI. Historical `aslite` and
7
+ `agentstate-lite` invocations are recognized for migration, but the successor package installs
8
+ only the canonical `superbee` command.
8
9
 
9
10
  The npm artifact ships one self-contained executable file with **zero runtime dependencies**,
10
11
  plus the generated Agent Skill (`SKILL.md` and its `references/` folder — installable into host
@@ -12,12 +13,11 @@ skill folders with `superbee skill install`). npm is the sole executable distrib
12
13
  the installed Skill contains guidance and references, not a second CLI copy. Maintainers can
13
14
  reproduce the complete package proof from the
14
15
  repository root with `npm run verify:npm-package`; it builds, packs, installs into an isolated
15
- prefix, resolves both command names from `PATH`, and exercises an offline bundle workflow. This
16
+ prefix, proves that only `superbee` resolves from `PATH`, and exercises an offline bundle workflow. This
16
17
  developer proof deliberately stamps `local-dev`, so it works on an in-progress/dirty checkout;
17
18
  `prepublishOnly` runs the same journey in strict `npm-package` mode and refuses unless Git proves
18
19
  an exact clean source commit.
19
- Install the supported default once (`superbee` is canonical; the legacy aliases `aslite` and
20
- `agentstate-lite` remain supported), then complete host setup:
20
+ Install the supported default once, then complete host setup:
21
21
 
22
22
  ```sh
23
23
  npm install -g superbee
@@ -35,10 +35,10 @@ Then run the first-value flow from an ordinary project directory:
35
35
  ```sh
36
36
  superbee
37
37
  superbee recipes
38
- superbee init --create-only --recipe work-tracking --dir .agentstate-lite
38
+ superbee init --create-only --recipe work-tracking --dir .superbee
39
39
  superbee new "Task" first-task --title "Plan the first change" \
40
- --progress_status todo --actor quickstart-agent --dir .agentstate-lite
41
- superbee --dir .agentstate-lite
40
+ --progress_status todo --actor quickstart-agent --dir .superbee
41
+ superbee --dir .superbee
42
42
  ```
43
43
 
44
44
  `--create-only` fails before writing when the selected target is occupied or ambiguous. Use
@@ -52,6 +52,10 @@ Existing `.agentstate-lite/` bundles and `.agentstate.json` bindings need no mig
52
52
  read-only and bootstrap commands without installing anything, run `npx -y superbee`; persistent
53
53
  integrations still require the global npm install.
54
54
 
55
+ The successor package can be installed while a global `@holaxis/aslite` still supplies the old
56
+ commands. Run `superbee setup` to migrate exact legacy integrations, then remove the old package
57
+ with `npm uninstall -g @holaxis/aslite` when setup is complete.
58
+
55
59
  If upgrading from the retired marketplace plugin, remove or disable that plugin, then rerun
56
60
  `superbee setup` and follow its exact next command. The hook installer
57
61
  replaces exact historical AgentState marketplace hooks instead of adding a duplicate.
@@ -99,4 +103,4 @@ Design and format docs live in the repository.
99
103
 
100
104
  ## License
101
105
 
102
- MIT © Holaxis
106
+ Apache-2.0 © 2026 Holaxis
package/SKILL.md CHANGED
@@ -12,8 +12,8 @@ description: >-
12
12
 
13
13
  read and write a local OKF knowledge bundle (context notes, docs, cross-links, live bundle Views).
14
14
 
15
- It is a standalone npm package (`superbee`) installing three bins for the identical CLI: `superbee` and the
16
- legacy aliases `aslite` and `agentstate-lite`. Every example below uses `superbee`.
15
+ It is a standalone npm package (`superbee`) installing only the canonical `superbee` bin.
16
+ Legacy `aslite` and `agentstate-lite` invocations are recognized only for migration.
17
17
 
18
18
  Output is TOON on stdout (a `--json` hatch exists). Errors are structured TOON on stdout with a
19
19
  capped exit-code taxonomy (0 ok/no-op, 2 usage, 4 auth, 5 conflict, 6 not-found, 1 runtime).
@@ -24,7 +24,7 @@ capped exit-code taxonomy (0 ok/no-op, 2 usage, 4 auth, 5 conflict, 6 not-found,
24
24
 
25
25
  Every example below assumes the `superbee` bin is on PATH. If it is not:
26
26
 
27
- - `npm install -g superbee` puts it (and the legacy aliases `aslite` and `agentstate-lite`) on PATH.
27
+ - `npm install -g superbee` puts the canonical `superbee` command on PATH.
28
28
  - `npx -y superbee …` runs any command below with no install at all — swap the leading `superbee`
29
29
  for that prefix and the rest of the line runs unchanged.
30
30
 
@@ -38,11 +38,20 @@ superbee setup
38
38
 
39
39
  Without `--host`, setup returns the four supported host rows. Select the exact host running
40
40
  this agent, run that row's command, then follow the one `next.command` in each host-scoped
41
- plan, filling any explicit placeholder it identifies. Setup is read-only: it composes npm,
42
- Skill, Hook, MCP, bundle, and catalog status but never treats detection as permission to write.
41
+ plan, filling any explicit placeholder it identifies. Bare and host-scoped setup are read-only: they compose npm,
42
+ Skill, Hook, MCP, bundle, and catalog status but never treat detection as permission to write.
43
43
  Ask the human before running a returned mutating command. Restart the host after Skill, Hook,
44
44
  or MCP changes, then rerun the same setup command to verify. Foreign or unreadable state
45
45
  returns a read-only inspection command instead of overwriting it.
46
+ If setup returns `superbee setup migrate-state`, that exact explicit command copies only
47
+ validated private operational records into Superbee's canonical state root; it never moves
48
+ bundles or deletes legacy bytes.
49
+
50
+ A catalog entry preserves a workspace for explicit MCP selection; it never selects that
51
+ workspace as the current project's context. Do not read, write, orient from, or sync a
52
+ cataloged workspace merely because setup or a legacy MCP registration references it. Operate
53
+ only on a bundle resolved from the current checkout or one the user explicitly selects. If
54
+ the current checkout has no bundle, report that fact and stop bundle-oriented work.
46
55
 
47
56
  ## Stable MCP launch
48
57
 
@@ -64,52 +73,52 @@ Use `superbee mcp status --host <id>` to verify it and restart the host after a
64
73
  — Create (or open) an OKF knowledge bundle in a directory — greenfield setup; a project that already shares a board is set up by sync, not init. --create-only requires a genuinely NEW target and refuses existing, non-empty, symlinked, enclosing, bound, or concurrent targets before publication; runtime failures retain and report any empty directories they created instead of deleting them — 'recipe add' modifies a verified existing bundle
65
74
  - `superbee index generate [--dir <path>] [--check] [--force] [--actor <name>]`
66
75
  — Generate complete portable Markdown navigation explicitly; refuses curated indexes unless --force adopts them
67
- - `superbee status [--limit <n>] [--remote <url>]`
76
+ - `superbee status [--limit <n>] [--dir <path>] [--remote <url>]`
68
77
  — Read-only bundle health report (kind lint, unresolved links, orphans, staleness, graph lints)
69
78
 
70
79
  ### Documents & links
71
80
 
72
- - `superbee doc write <id> --type <t> [--title <t>] [--body <s> | --body-file <p>] [--actor <n>] [--remote <url>]`
81
+ - `superbee doc write <id> --type <t> [--title <t>] [--body <s> | --body-file <p>] [--actor <n>] [--dir <path>] [--remote <url>]`
73
82
  — Write a generic OKF concept document
74
- - `superbee doc update <id> [--<field> <value> ...] [--title <t>] [--tag <t>] [--type <t>] [--body <s> | --body-file <p>] [--expected-version <v>] [--actor <n>] [--remote <url>]`
83
+ - `superbee doc update <id> [--<field> <value> ...] [--title <t>] [--tag <t>] [--type <t>] [--body <s> | --body-file <p>] [--expected-version <v>] [--actor <n>] [--dir <path>] [--remote <url>]`
75
84
  — Patch given fields (incl. kind-declared fields like --progress_status) of an existing doc, preserving the rest; optimistic-CAS with --expected-version
76
- - `superbee doc read <id> [--out (<path> | -) | --body-out (<path> | -) | --field <name>] [--remote <url>]`
85
+ - `superbee doc read <id> [--out (<path> | -) | --body-out (<path> | -) | --field <name>] [--dir <path>] [--remote <url>]`
77
86
  — Read a doc, export its raw markdown, export its body with a same-read CAS version, or print one raw field for scripting
78
87
  - `superbee doc open <id> [--dir <path> | --remote <url>] [--port <n>] [--actor <name>]`
79
88
  — Open one exact authoritative document in the existing rendered browser UI
80
- - `superbee doc history <id> [--limit <n>] [--remote <url>]`
89
+ - `superbee doc history <id> [--limit <n>] [--dir <path>] [--remote <url>]`
81
90
  — Show a doc's version history (newest first, capped at 20 by default — --limit 0 for all; a history-keeping backend returns the full attributed chain, a local bundle just the current revision) — the tokens for --expected-version
82
- - `superbee doc delete <id> [--expected-version <v>] [--remote <url>]`
91
+ - `superbee doc delete <id> [--expected-version <v>] [--dir <path>] [--remote <url>]`
83
92
  — Hard-delete a doc (idempotent: absent -> deleted:false, exit 0)
84
- - `superbee list [--type <t>] [--tag <t>] [--field <k=v>] [--prefix <p>] [--open] [--limit <n>] [--remote <url>]`
93
+ - `superbee list [--type <t>] [--tag <t>] [--field <k=v>] [--prefix <p>] [--open] [--limit <n>] [--dir <path>] [--remote <url>]`
85
94
  — Query concepts over their frontmatter (alias: query) — a comma in --field's value is set membership (OR); --open excludes terminal instances (declared kinds only)
86
- - `superbee link (add <from> <to> [--text <t>] [--actor <n>] | show <id> [--limit <n>] [--text <t>] | list [--from <id|prefix/>] [--to <id|prefix/>] [--text <t>] [--limit <n>]) [--remote <url>]`
95
+ - `superbee link (add <from> <to> [--text <t>] [--actor <n>] | show <id> [--limit <n>] [--text <t>] | list [--from <id|prefix/>] [--to <id|prefix/>] [--text <t>] [--limit <n>]) [--dir <path>] [--remote <url>]`
87
96
  — Add a cross-link, show a concept's links + backlinks, or query the whole bundle's derived edge list filtered by from/to (id or prefix/, repeatable/union) and exact-match text
88
97
 
89
98
  ### Artifacts
90
99
 
91
- - `superbee artifact create <file> --title <title> [--description <text>] [--supersedes <id>] [--actor <n>] [--remote <url>]`
100
+ - `superbee artifact create <file> --title <title> [--description <text>] [--supersedes <id>] [--actor <n>] [--dir <path>] [--remote <url>]`
92
101
  — Produce a shareable output (HTML) a human can view: one command promotes the bytes and writes the type:Artifact record
93
- - `superbee promote <file> --doc-key <key> [--content-type <mime>] [--expected-version <v>] [--remote <url>]`
102
+ - `superbee promote <file> --doc-key <key> [--content-type <mime>] [--expected-version <v>] [--dir <path>] [--remote <url>]`
94
103
  — Move a local file's bytes into the store (a .md key routes through the engine; else a blob)
95
- - `superbee pull --doc-key <key> --out (<path> | -) [--remote <url>]`
104
+ - `superbee pull --doc-key <key> --out (<path> | -) [--dir <path>] [--remote <url>]`
96
105
  — Pull a doc's canonical form or a blob's raw bytes out of the store (the reverse of promote)
97
- - `superbee blobs [--prefix <p>] [--limit <n>] [--remote <url>]`
106
+ - `superbee blobs [--prefix <p>] [--limit <n>] [--dir <path>] [--remote <url>]`
98
107
  — List the store's blob (non-document) keys (documents are listed by 'list'/'query')
99
- - `superbee delete --doc-key <key> [--expected-version <v>] [--remote <url>]`
108
+ - `superbee delete --doc-key <key> [--expected-version <v>] [--dir <path>] [--remote <url>]`
100
109
  — Hard-delete a doc or blob by key (idempotent: absent -> deleted:false, exit 0)
101
110
 
102
111
  ### Kinds
103
112
 
104
- - `superbee new "<Kind>" <id> --<field> <value> [...] [--body <markdown> | --body-file <path>] [--link "<type>=<target-id>" ...] [--no-prefix] [--actor <n>] [--remote <url>]`
113
+ - `superbee new "<Kind>" <id> --<field> <value> [...] [--body <markdown> | --body-file <path>] [--link "<type>=<target-id>" ...] [--no-prefix] [--actor <n>] [--dir <path>] [--remote <url>]`
105
114
  — Create a new instance of a bundle-declared kind — initial Markdown may come from --body or --body-file (otherwise declared sections are scaffolded); validates strictly, and repeatable --link wires typed cross-links in the same step
106
- - `superbee kinds [--remote <url>]`
115
+ - `superbee kinds [--dir <path>] [--remote <url>]`
107
116
  — List the kind conventions this bundle declares (purpose, described fields, exact required body headings, typed-link vocabulary, horizon)
108
- - `superbee kind field "<Kind>" (add <name> [--required] [--values <a,b,c>] | remove <name>) [--remote <url>]`
117
+ - `superbee kind field "<Kind>" (add <name> [--required] [--values <a,b,c>] | remove <name>) [--dir <path>] [--remote <url>]`
109
118
  — Edit a kind's schema — add/remove a declared field or enum value on its convention (idempotent)
110
119
  - `superbee recipes [--dir <path>] [--remote <url>]`
111
120
  — Browse built-in recipes before or after init; with a bundle, also show whether each is already applied
112
- - `superbee recipe add <name-or-path> [--remote <url>]`
121
+ - `superbee recipe add <name-or-path> [--dir <path>] [--remote <url>]`
113
122
  — Apply a recipe's content-free definitions — Kinds plus optional declared References and Views — idempotently
114
123
 
115
124
  ### Remote
@@ -135,12 +144,12 @@ Use `superbee mcp status --host <id>` to verify it and restart the host after a
135
144
  — Install the SessionStart hook (runs session-start: pull the board, then render) for Claude Code, Codex, OpenCode
136
145
  - `superbee skill install|status|uninstall [--scope project|user]`
137
146
  — Install this package's Agent Skill (SKILL.md + references/) into Claude Code and Codex skill folders (OpenCode has no skill surface — its integration is `hook install`); manifest-tracked, idempotent, refuses folders it does not manage
138
- - `superbee setup [--host codex|claude-code|claude-desktop|opencode] [--scope project|user] [--json]`
139
- — Inspect npm, Skill, Hook, MCP, bundle, and catalog readiness, then emit one deterministic safe next command
147
+ - `superbee setup [migrate-state] [--host codex|claude-code|claude-desktop|opencode] [--scope project|user] [--json]`
148
+ — Inspect npm, private state, Skill, Hook, MCP, bundle, and catalog readiness, then emit one deterministic safe next command
140
149
 
141
- ## Workspaces — the project's bundle lives at `.agentstate-lite/` in the project root
150
+ ## Workspaces — the project's bundle lives at `.superbee/` in the project root
142
151
 
143
- Unless the user directs otherwise, a project's workspace bundle lives in a `.agentstate-lite/`
152
+ Unless the user directs otherwise, a project's workspace bundle lives in a `.superbee/`
144
153
  folder at the project root. Two verbs, two different jobs — `init` always creates a LOCAL
145
154
  bundle (solo use is first-class, nothing forces sharing); `sync` is how a project's board
146
155
  becomes — or stays — shared memory across clones and teammates. Three modes:
@@ -151,7 +160,7 @@ becomes — or stays — shared memory across clones and teammates. Three modes:
151
160
  `sync` on a local-only bundle reports that state honestly (its note points at `--establish`)
152
161
  — it never establishes on its own, which would silently publish a bundle nobody asked to
153
162
  share.
154
- - **Joining an existing shared board** — if `.agentstate-lite/` is already in the clone, there
163
+ - **Joining an existing shared board** — if `.superbee/` or a legacy `.agentstate-lite/` is already in the clone, there
155
164
  is NOTHING to set up. If it isn't but the project already shares its board (the repo's
156
165
  remote has a `board` branch), `sync` is the setup verb — run it once and it creates the
157
166
  folder and pulls the shared state. NEVER init a project that already has a workspace: that
@@ -167,7 +176,7 @@ becomes — or stays — shared memory across clones and teammates. Three modes:
167
176
 
168
177
  ```sh
169
178
  superbee sync # existing shared project — provisions the board; a local-only bundle reports its state
170
- superbee init --dir .agentstate-lite # greenfield — idempotent; creates a LOCAL bundle, or opens an existing one
179
+ superbee init --create-only --dir .superbee # greenfield — creates one genuinely new LOCAL bundle
171
180
  superbee sync --establish # establish a new shared board after user approval
172
181
  ```
173
182
 
@@ -211,7 +220,8 @@ Otherwise bundle resolution stays local: explicit `--dir` → nearest `.superbee
211
220
  supported `.agentstate.json` local-path binding up-tree → the cwd walk, which at each
212
221
  ancestor checks both binding names together (both at one level fail closed), then the
213
222
  directory's own `index.md`, then its
214
- conventional `.agentstate-lite/index.md`. Reserve `--dir` for the exceptions: a bundle outside
223
+ conventional `.superbee/index.md` or legacy `.agentstate-lite/index.md`. Reserve `--dir` for the exceptions: a bundle outside
224
+ If both conventional directories contain valid bundles at one project level, discovery refuses with a conflict; move the bundle you do not intend to use outside the project before retrying.
215
225
  any project, a second workspace, or reaching another project's bundle from elsewhere.
216
226
 
217
227
  Two things override the default:
@@ -226,7 +236,7 @@ Two things override the default:
226
236
  it rather than creating a second one.
227
237
 
228
238
  If the user wants the workspace PRIVATE to their machine instead of shared (a personal
229
- scratch workspace), keep the bundle OUT of the repo (e.g. under `~/.agentstate/<name>/`)
239
+ scratch workspace), keep the bundle OUT of the repo (e.g. under `~/superbee-workspaces/<name>/`)
230
240
  and point a git-excluded `.superbee.json` at it. Choose by one question: do teammates
231
241
  share this bundle? When the user's intent is ambiguous, ask rather than defaulting silently.
232
242
 
@@ -242,7 +252,7 @@ the tradeoff and record that explicit choice; never silently substitute one for
242
252
  ```sh
243
253
  # One-time setup at the project root (see the Workspaces section) — run ONE of these:
244
254
  superbee sync # existing project that shares a board — sets up AND pulls the shared board
245
- superbee init --dir .agentstate-lite # GREENFIELD — never on a project that already has a workspace; makes a LOCAL bundle
255
+ superbee init --create-only --dir .superbee # GREENFIELD — never on a project that already has a workspace; makes a LOCAL bundle
246
256
 
247
257
  # If collaboration is requested, offer the explicit one-time shared-board operation:
248
258
  superbee sync --establish
@@ -274,7 +284,9 @@ while leaving code-project files untouched.
274
284
 
275
285
  On a shared board, run it whenever you close a unit of work — a task finished, a decision recorded, a session
276
286
  ending. Local-only work remains complete locally. Three known empty states (all exit 0):
277
- outside any git repo or workspace it prints `sync: nothing to sync`; a LOCAL-ONLY board (a
287
+ in an ordinary directory outside any git repo or workspace it prints `sync: nothing to sync`
288
+ (inside Superbee's private user-state root it refuses — that is a conflict, not an empty
289
+ state); a LOCAL-ONLY board (a
278
290
  bundle with no shared `board` branch — a supported mode) reports itself as local-only, with
279
291
  nothing committed, pulled, or pushed, and its note points at `--establish` — but bare `sync`
280
292
  NEVER establishes on its own (that would silently publish a bundle nobody asked to share);