@inkeep/open-knowledge 0.26.1-beta.1 → 0.27.0-beta.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/dist/assets/skills/discovery/SKILL.md +1 -1
- package/dist/assets/skills/project/SKILL.md +2 -2
- package/dist/assets/skills/project/references/preview.md +4 -4
- package/dist/assets/skills/write-skill/SKILL.md +1 -1
- package/dist/cli.mjs +63 -63
- package/dist/constants-CcX8Gqpn.mjs +2 -0
- package/dist/{dist-CUbAo1yS.mjs → dist-BoFX-ULL.mjs} +6 -6
- package/dist/{dist-D8lHZNr8.mjs → dist-Dqzx7uaJ.mjs} +1 -1
- package/dist/{gh-detect-BUJyWvGO.mjs → gh-detect-KLjG6xCR.mjs} +2 -2
- package/dist/index.d.mts +16 -3
- package/dist/index.mjs +1 -1
- package/dist/init-CW86rv2p.mjs +660 -0
- package/dist/init-D1Y1wnBD.mjs +1 -0
- package/dist/loader-CDRIcG7O.mjs +1 -0
- package/dist/{loader-DLBG2Jf0.mjs → loader-CoosfBmo.mjs} +2 -2
- package/dist/{preview-DMdR22hR.mjs → preview-CMQHzrY-.mjs} +2 -2
- package/dist/preview-Cnvpohpz.mjs +1 -0
- package/dist/public/assets/{ActivityModeContent-ZV1oiH21.js → ActivityModeContent-Bu-aPWfE.js} +1 -1
- package/dist/public/assets/{ConsentDialogBody-ClEtx_H4.js → ConsentDialogBody-u7A2_0jL.js} +1 -1
- package/dist/public/assets/{DocumentContext-CNrQKGNw.js → DocumentContext-BNan6rEA.js} +1 -1
- package/dist/public/assets/{EnableSyncConfirmDialog-BhMvTv-2.js → EnableSyncConfirmDialog-DLAmAtNx.js} +1 -1
- package/dist/public/assets/{GraphPanel-B_Rx6o7k.js → GraphPanel-BXSu0qzO.js} +1 -1
- package/dist/public/assets/{ManagedArtifactProperties-CabIneyc.js → ManagedArtifactProperties-DCf7FSvm.js} +1 -1
- package/dist/public/assets/{McpConsentDialogBody-DW0Ku8h2.js → McpConsentDialogBody-DHnMMoKv.js} +1 -1
- package/dist/public/assets/{PropertyPanel-BGGPGg8z.js → PropertyPanel-CLRxrKmQ.js} +1 -1
- package/dist/public/assets/{SettingsDialogBody-D9Spbasa.js → SettingsDialogBody-BU_CWPpQ.js} +1 -1
- package/dist/public/assets/{ShareBranchSwitchDialog-MF01jVyK.js → ShareBranchSwitchDialog-DqhVt0LE.js} +1 -1
- package/dist/public/assets/{ShareReceiveDialog-BeDLlUWc.js → ShareReceiveDialog-COOji2w1.js} +1 -1
- package/dist/public/assets/{ShareReceiveMissDialog-CErdFiaW.js → ShareReceiveMissDialog-BIUsfWwx.js} +1 -1
- package/dist/public/assets/{SkillEditorActions--NrMimEw.js → SkillEditorActions-Cwen9r7n.js} +1 -1
- package/dist/public/assets/{SourceEditor-DR04Kk-L.js → SourceEditor-B8i0Zuc4.js} +1 -1
- package/dist/public/assets/{TerminalPanel-CDlxv5DM.js → TerminalPanel-CFHapL_S.js} +1 -1
- package/dist/public/assets/{auth-state-cache-XGzST2ZD.js → auth-state-cache-DbOzyU3U.js} +1 -1
- package/dist/public/assets/{config-provider-CNEpgM_S.js → config-provider-Do7HkFaK.js} +1 -1
- package/dist/public/assets/{dist-CQyX-suk.js → dist-IJIMi_KI.js} +2 -2
- package/dist/public/assets/{doc-hash-DK_ofUpp.js → doc-hash-B9qR3wab.js} +1 -1
- package/dist/public/assets/{documents-events-DWU2wzVY.js → documents-events-5sCrqLAB.js} +1 -1
- package/dist/public/assets/{file-tree-adapter-Co_rTNFv.js → file-tree-adapter-DeCSzJFc.js} +1 -1
- package/dist/public/assets/{index-CyAGZpgf.js → index-BJzaxr7Z.js} +7 -7
- package/dist/public/assets/{keyboard-shortcuts-B_CAsza0.js → keyboard-shortcuts-DoqeoYey.js} +1 -1
- package/dist/public/assets/{navigation-targets-B88nmSdU.js → navigation-targets-CSLWdrg5.js} +1 -1
- package/dist/public/assets/{open-managed-artifact-tab-Bk_tqTdp.js → open-managed-artifact-tab-D6l9ALAm.js} +1 -1
- package/dist/public/assets/{pending-receive-nav-store-DpqQxXOd.js → pending-receive-nav-store-OU-qfx40.js} +1 -1
- package/dist/public/assets/{prop-types-YLAnoO2T.js → prop-types-Cak_LhNF.js} +1 -1
- package/dist/public/assets/{receive-store-BVPHm3DM.js → receive-store-DM0i5Ybb.js} +1 -1
- package/dist/public/assets/{selection-context-ythQq0B9.js → selection-context-Br-4VUmJ.js} +1 -1
- package/dist/public/assets/skill-actions-C1QaoF_v.js +1 -0
- package/dist/public/assets/{skills-api-9bY3Jtgz.js → skills-api-DJJ_LIKc.js} +1 -1
- package/dist/public/assets/{target-navigation-intent-CwZkFyaW.js → target-navigation-intent-DksqRbJO.js} +1 -1
- package/dist/public/assets/{typing-burst-detector-BwvPMOYl.js → typing-burst-detector-ClZLBemU.js} +1 -1
- package/dist/public/index.html +21 -21
- package/dist/{repair-launch-json-CWUTx3IW.mjs → repair-launch-json-BMSm2Ehv.mjs} +2 -2
- package/dist/{repair-mcp-configs-BYRhVChI.mjs → repair-mcp-configs-DRvD2OCI.mjs} +2 -2
- package/dist/{repair-skills-B2AtzCSn.mjs → repair-skills-B9vf1LVl.mjs} +2 -2
- package/dist/repair-skills-rGTpTOuw.mjs +1 -0
- package/dist/server-lock-GuuouVft-CeF2bXVd.mjs +1 -0
- package/dist/{server-lock-iLcBw_q0-BF_u0tGL.mjs → server-lock-iLcBw_q0-CdrK5Xfo.mjs} +2 -2
- package/dist/{src-BWAFlazs.mjs → src-DvxqYbWe.mjs} +2 -2
- package/dist/start-CaOLfcjz.mjs +1 -0
- package/dist/{start-CnXUmVrI.mjs → start-CbpBelBg.mjs} +2 -2
- package/dist/write-project-skill-DVYnPUfx.mjs +36 -0
- package/package.json +1 -1
- package/dist/constants-BfJcirqe.mjs +0 -2
- package/dist/init-9d1LNBPj.mjs +0 -1
- package/dist/init-Dvj0QJzs.mjs +0 -321
- package/dist/loader-z1b3_1sK.mjs +0 -1
- package/dist/preview-C9s_wKIU.mjs +0 -1
- package/dist/public/assets/skill-actions-CbRk7LAn.js +0 -1
- package/dist/repair-skills-B8ePNziA.mjs +0 -1
- package/dist/server-lock-GuuouVft-CWlICi2c.mjs +0 -1
- package/dist/start-CY3HKbBn.mjs +0 -1
- package/dist/write-project-skill-Cjym3mlY.mjs +0 -36
|
@@ -3,7 +3,7 @@ name: open-knowledge-discovery
|
|
|
3
3
|
description: "Read when the user asks what OpenKnowledge is, wants to install it on a repository, wants to share an OpenKnowledge project with collaborators, or asks how `ok init` / `ok cowork` / OK Desktop set up a project. Do NOT load to perform OpenKnowledge reads/writes — the runtime guidance for editing markdown inside an initialized OK project ships as a separate project-local skill at `.claude/skills/open-knowledge/` whenever `ok init` runs. If the user appears to be editing markdown inside a `.ok/` project and this is the only OK skill loaded, advise them to re-run `ok init` to install the project-local skill."
|
|
4
4
|
compatibility: "Any agent host — no MCP server required. Pure discovery + install guidance."
|
|
5
5
|
metadata:
|
|
6
|
-
version: "0.
|
|
6
|
+
version: "0.27.0-beta.0"
|
|
7
7
|
author: "Inkeep"
|
|
8
8
|
repository: "https://github.com/inkeep/open-knowledge"
|
|
9
9
|
---
|
|
@@ -3,7 +3,7 @@ name: open-knowledge
|
|
|
3
3
|
description: "Authoritative agent-runtime contract for working inside an OpenKnowledge project — a markdown-CRDT knowledge base exposed over MCP. Use whenever reading, listing, searching, or editing any `.md` or `.mdx` file in the project, and before any `mcp__open-knowledge__*` tool call (`exec`, `search`, `write`, `edit`, and the rest). Installed by `ok init`, so its presence means this is an OpenKnowledge project and it governs every markdown file here. Covers the read/write tool surface, grounding and linking rules, folder/template conventions, the live browser preview, and the rule that OK's MCP tools — never native file tools — handle in-scope markdown."
|
|
4
4
|
compatibility: "Claude Code, Claude Desktop, Claude Cowork, Claude.ai web. Requires OpenKnowledge MCP server + code execution."
|
|
5
5
|
metadata:
|
|
6
|
-
version: "0.
|
|
6
|
+
version: "0.27.0-beta.0"
|
|
7
7
|
author: "Inkeep"
|
|
8
8
|
repository: "https://github.com/inkeep/open-knowledge"
|
|
9
9
|
---
|
|
@@ -22,7 +22,7 @@ OpenKnowledge (OK) is a markdown-CRDT collaboration platform exposed via MCP. Th
|
|
|
22
22
|
3. **Preview / open a doc — determine your ONE surface FIRST (once per session).** Before opening anything, pick where to focus, stop at first match: **`OK_DESKTOP_TERMINAL` set** (check your env — `echo "$OK_DESKTOP_TERMINAL"`) → OK Desktop's own terminal → `ok open <name>` (switches this window) · have `preview_*` → Claude Code Desktop pane · have a URL-navigation/browser tool → Cursor/Codex → `preview_url` then navigate it · else plain CLI → `ok open <name>`. `ok open <name>` opens a **doc or folder** (auto-detected — no `--folder`); add `--skill <name>` for a skill. The `previewUrl` field is a route id, **not** your open mechanism — don't hand it to a browser just because you saw it. Don't `preview_screenshot` to confirm edits. Full Step-0 procedure + per-surface how-to: `references/preview.md`.
|
|
23
23
|
4. **Workflow guides:** `workflow({ kind: 'ingest' | 'research' | 'consolidate' | 'discover' })` returns a procedural guide, not data. Use it when the work fits the layer.
|
|
24
24
|
5. **Direct questions:** a plain business question ("which customers…", "what did we decide about…") routes to `search` / `exec` + a cited chat answer — no "research" keyword needed. Persist only when durable + multi-doc + not already covered, and *offer* first. See `references/corpus-qa.md`.
|
|
25
|
-
6. **Authoring or improving a skill** ("write/make a skill", "improve this skill", "turn this into a skill"): STOP and invoke the **`open-knowledge-write-skill`** skill — it owns scope choice (project vs global), the SKILL.md contract, evaluation, and install; don't improvise from this skill. Author through the `skill` target (`write({ skill })`), never a raw `.ok/skills/…` document. **Never read, diff, or edit the installed projections under `.claude/skills/` · `.cursor/skills/` · `.codex/skills/` · `.opencode/skills/` · `.agents/skills/`** — `install` generates them and overwrites them on the next sync; they are NOT source of truth.
|
|
25
|
+
6. **Authoring or improving a skill** ("write/make a skill", "improve this skill", "turn this into a skill"): STOP and invoke the **`open-knowledge-write-skill`** skill — it owns scope choice (project vs global), the SKILL.md contract, evaluation, and install; don't improvise from this skill. Author through the `skill` target (`write({ skill })`), never a raw `.ok/skills/…` document. **Never read, diff, or edit the installed projections under `.claude/skills/` · `.cursor/skills/` · `.codex/skills/` · `.opencode/skills/` · `.pi/skills/` · `.agents/skills/`** — `install` generates them and overwrites them on the next sync; they are NOT source of truth.
|
|
26
26
|
|
|
27
27
|
## Tool index — 19 tools (router; the MCP tool descriptions carry each tool's full contract)
|
|
28
28
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
- Re-navigation and end-of-turn discipline
|
|
6
6
|
- `previewUrl` is a route, not a URL
|
|
7
7
|
- The three first-class apps (Claude Code Desktop, Cursor, Codex desktop)
|
|
8
|
-
- Any-CLI track — Claude Code / Codex / Cursor CLI / OpenCode, no browser → `ok open`
|
|
8
|
+
- Any-CLI track — Claude Code / Codex / Cursor CLI / OpenCode / Pi, no browser → `ok open`
|
|
9
9
|
- Four attach signals
|
|
10
10
|
- `previewUrl: null` semantics, server lifecycle, read-only mirror, no-screenshots
|
|
11
11
|
|
|
@@ -24,11 +24,11 @@ Your host doesn't change mid-session, so determine this **once**, the first time
|
|
|
24
24
|
1. **Is `OK_DESKTOP_TERMINAL` set in your environment?** You're a shell agent — actually check it (`echo "$OK_DESKTOP_TERMINAL"`, or read your env), don't assume. **Set → you're inside the OK Desktop app's own terminal.** Open a doc or folder with `ok open <name>` (auto-detected; `--skill <name>` for a skill) — it switches THIS window to the target. **Never resolve a preview URL here.** (This rung is the one agents miss most — check the env first, before anything else.)
|
|
25
25
|
2. **Do you have `preview_*` tools** (`preview_start` / `preview_eval`)? → **Claude Code Desktop** → drive its pane (rung details below).
|
|
26
26
|
3. **Do you have any URL-navigation / in-app browser tool** (Cursor `Navigate`, Codex `@Browser`, or `browser` / `open_url` / `view_url` / …)? → **Cursor / Codex desktop** → `preview_url` once, then navigate that browser to the `url`.
|
|
27
|
-
4. **None of the above** → you're a **plain CLI** (Claude Code CLI, Codex CLI, Cursor CLI, OpenCode, any shell agent) → `ok open <name>` for a doc or folder (auto-detected; `--skill <name>` for a skill); deep-links a separate OK Desktop window, system browser only if no desktop.
|
|
27
|
+
4. **None of the above** → you're a **plain CLI** (Claude Code CLI, Codex CLI, Cursor CLI, OpenCode, Pi, any shell agent) → `ok open <name>` for a doc or folder (auto-detected; `--skill <name>` for a skill); deep-links a separate OK Desktop window, system browser only if no desktop.
|
|
28
28
|
|
|
29
29
|
Decide once; then every "open / show / preview this doc" this session uses that surface's mechanism. **The `previewUrl` field in tool responses is a route id, not your open mechanism** — seeing it is not a reason to hand it to a browser. The rest of this section is the per-surface "how" for whichever rung you landed on.
|
|
30
30
|
|
|
31
|
-
**OK ships first-class preview support for three apps — Claude Code Desktop, Cursor, and the Codex desktop app — plus any CLI (Claude Code CLI, Codex CLI, Cursor CLI, OpenCode, …) on a separate `ok open` track (below). Make the preview seamless in each.** Match on the tool you actually have (capability, not host name): if a tool can navigate to a URL, it counts as an in-app browser; if nothing can, you're a CLI → `ok open`. The three apps map to:
|
|
31
|
+
**OK ships first-class preview support for three apps — Claude Code Desktop, Cursor, and the Codex desktop app — plus any CLI (Claude Code CLI, Codex CLI, Cursor CLI, OpenCode, Pi, …) on a separate `ok open` track (below). Make the preview seamless in each.** Match on the tool you actually have (capability, not host name): if a tool can navigate to a URL, it counts as an in-app browser; if nothing can, you're a CLI → `ok open`. The three apps map to:
|
|
32
32
|
|
|
33
33
|
- **Claude Code Desktop — you have `preview_*` tools** (e.g. `preview_start` + `preview_eval`) → **First open of the session:** to land directly on a doc, arm it first with `preview_url({ armPaneTarget: true, document })` (or `folder`), then `preview_start("open-knowledge-ui")` — `ok ui` redirects the base-open straight to the armed route, so the pane opens on the doc, not root. Plain `preview_start` (no arm) opens at root. **Moving between docs once the pane is open: do it in one `preview_eval` step — set `window.location.hash` to the target's route fragment from the response `previewUrl`, the part from `#` on (e.g. `window.location.hash = '#/specs/foo/SPEC'`).** That drives the SPA router directly. Arm + `preview_start` only redirects a *fresh* open; it can't move an already-open pane (`preview_start` reuses the live process without reloading), so use `preview_eval` there. Don't read or edit `.claude/launch.json` — host-managed; the OK lock-collision proxy handles the UI-already-running case. If `preview_start` fails, report it; don't "fix" `launch.json`.
|
|
34
34
|
- **Cursor / Codex desktop — no `preview_*` tool, but you have an in-app / built-in browser tool** → call `preview_url` once for the **exact** target (`document` for a doc, `folder` for a folder) and navigate your **in-app browser** straight to the returned `url`. Open that deep URL directly — never the root then navigate; omit both args only for the root. Drive the tool your host gives you:
|
|
@@ -37,7 +37,7 @@ Decide once; then every "open / show / preview this doc" this session uses that
|
|
|
37
37
|
- **Any other host** with a URL-navigation tool (`browser`, `view_url`, `open_url`, `web.browse`, …) → navigate it to the `url`. **This is also the fallback when a named tool above isn't present under that exact name** (hosts rename tools): match on the capability, not the name. If no URL-navigation tool exists at all, drop to the Claude Code CLI track below.
|
|
38
38
|
- **Honor `autoOpen`** (on `preview_url`, or on `warning` for write tools). If `false`, do not open or refresh any preview UI; surface the URL only if asked.
|
|
39
39
|
|
|
40
|
-
**Any CLI — a separate track (no browser).** **Claude Code CLI, Codex CLI, Cursor CLI, OpenCode — any pure-stdio / shell agent with no in-app browser tool — uses `ok open`, never a preview URL.** The rule is capability, not vendor: no tool that navigates a URL → you're on this track.
|
|
40
|
+
**Any CLI — a separate track (no browser).** **Claude Code CLI, Codex CLI, Cursor CLI, OpenCode, Pi — any pure-stdio / shell agent with no in-app browser tool — uses `ok open`, never a preview URL.** The rule is capability, not vendor: no tool that navigates a URL → you're on this track.
|
|
41
41
|
|
|
42
42
|
- **`ok open <name>`** — opens a **doc or folder** in the OK Desktop app. The type is auto-detected (a directory on disk → folder, otherwise a doc), so **`--folder` is not needed** (it stays only as an explicit override for a folder that doesn't exist on disk yet). An action you run, not a URL to print.
|
|
43
43
|
- **`ok open <skill-name> --skill [--scope project|global]`** — opens a **skill** in the skill editor (skills are addressed by name + scope, not a content path, so they need the flag).
|
|
@@ -158,7 +158,7 @@ install({ name: "<name>" })
|
|
|
158
158
|
```
|
|
159
159
|
|
|
160
160
|
This fans the validated skill into the project's configured editors
|
|
161
|
-
(`.claude/skills/`, `.cursor/skills/`, `.codex/skills/`, `.opencode/skills/`). For a project skill,
|
|
161
|
+
(`.claude/skills/`, `.cursor/skills/`, `.codex/skills/`, `.opencode/skills/`, `.pi/skills/`). For a project skill,
|
|
162
162
|
commit `.ok/skills/<name>/` and the projections so teammates get it on pull. Edit
|
|
163
163
|
later with `edit({ skill })` then `install` again; `delete({ skill })` removes it
|
|
164
164
|
and uninstalls. Roll back a **project** skill with `history({ skill })` →
|