@inkeep/open-knowledge 0.19.1-beta.0 → 0.19.1-beta.10
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 +10 -10
- package/dist/assets/skills/packs/codebase-wiki/SKILL.md +1 -1
- package/dist/assets/skills/packs/entity-vault/SKILL.md +1 -1
- package/dist/assets/skills/packs/knowledge-base/SKILL.md +1 -1
- package/dist/assets/skills/packs/okf/SKILL.md +3 -3
- package/dist/assets/skills/packs/plain-notes/SKILL.md +1 -1
- package/dist/assets/skills/packs/software-lifecycle/SKILL.md +1 -1
- package/dist/assets/skills/packs/worldbuilding/SKILL.md +1 -1
- package/dist/assets/skills/packs/writing-pipeline/SKILL.md +1 -1
- package/dist/assets/skills/project/SKILL.md +13 -13
- package/dist/cli.mjs +14 -14
- package/dist/config-schema.json +1 -1
- package/dist/config.project.schema.json +1 -1
- package/dist/constants-Bhw3dVi1.mjs +2 -0
- package/dist/{dist-CKbTJ2SP.mjs → dist-CSYT3uRJ.mjs} +1 -1
- package/dist/{dist-DijTLjBt.mjs → dist-dm_DI4lI.mjs} +24 -24
- package/dist/{gh-detect-Cvw39ew1.mjs → gh-detect-Drsi8mbA.mjs} +2 -2
- package/dist/index.d.mts +2 -2
- package/dist/index.mjs +1 -1
- package/dist/init-BtJhGC1W.mjs +1 -0
- package/dist/{init-BsxfRS80.mjs → init-ChNWqX_K.mjs} +11 -11
- package/dist/{loader-BW4HWUZz.mjs → loader-B5gVF_x1.mjs} +2 -2
- package/dist/loader-Cb_y6hK2.mjs +1 -0
- package/dist/{preview-BnW3wj59.mjs → preview-C5P0CL_f.mjs} +2 -2
- package/dist/preview-CUHcO0zX.mjs +1 -0
- package/dist/public/assets/{ActivityModeContent-jZ6HnQxU.js → ActivityModeContent-Dy1_JO4s.js} +1 -1
- package/dist/public/assets/{ConsentDialogBody-DOf6_QiW.js → ConsentDialogBody-CPn5k8Yj.js} +1 -1
- package/dist/public/assets/{DocumentContext-DVhriDCf.js → DocumentContext-DppavGIB.js} +1 -1
- package/dist/public/assets/GraphPanel-B7tXBL9C.js +46 -0
- package/dist/public/assets/{McpConsentDialogBody-stteh15-.js → McpConsentDialogBody-_slAuRpY.js} +1 -1
- package/dist/public/assets/SettingsDialogBody-DgfCMlWX.js +7 -0
- package/dist/public/assets/{SourceEditor-DW3ZzZL8.js → SourceEditor-CvVog_I5.js} +1 -1
- package/dist/public/assets/{TerminalPanel-BQT_RT2t.js → TerminalPanel-gtDefA9J.js} +3 -3
- package/dist/public/assets/{config-validation-events-DSgrywOU.js → config-validation-events-De91seTf.js} +7 -7
- package/dist/public/assets/{dist-52GaUc7C.js → dist-DzbxRXt5.js} +13 -13
- package/dist/public/assets/{index-Ddc1Tv7f.js → index-DkmfFrL2.js} +95 -95
- package/dist/public/assets/index-DlZTOWgT.css +1 -0
- package/dist/public/assets/{keyboard-shortcuts-NT911PBK.js → keyboard-shortcuts-CrOPSj32.js} +1 -1
- package/dist/public/assets/{prop-types-DFOayjLw.js → prop-types-C0kDsvPx.js} +1 -1
- package/dist/public/assets/{target-navigation-intent-Ck2yPxGj.js → target-navigation-intent-BW8U2Njg.js} +1 -1
- package/dist/public/assets/toggle-group-DsgJIlng.js +1 -0
- package/dist/public/assets/{typing-burst-detector-CpE9cH17.js → typing-burst-detector-Wg72tb4K.js} +1 -1
- package/dist/public/index.html +11 -11
- package/dist/{repair-launch-json-C1BEgqKz.mjs → repair-launch-json-CARK9RAA.mjs} +2 -2
- package/dist/{repair-mcp-configs-Bs1HhvwH.mjs → repair-mcp-configs-D1ZLT9sG.mjs} +2 -2
- package/dist/repair-skills-B57xTnpU.mjs +1 -0
- package/dist/repair-skills-CsRymFFj.mjs +3 -0
- package/dist/schemas/v0/config.project.schema.json +1 -1
- package/dist/server-lock-8Lv6A-Xa-BTQcAAhW.mjs +1 -0
- package/dist/{server-lock-BpjJj3OD-DwwMezJh.mjs → server-lock-CN2YHwpP-Cvbk69Pj.mjs} +5 -5
- package/dist/{src-CK8w6qU6.mjs → src-BjJgR5K9.mjs} +3 -3
- package/dist/start-DZeLNeUa.mjs +3 -0
- package/dist/start-DvrS6uIC.mjs +1 -0
- package/dist/write-project-skill-C3yO9LBO.mjs +12 -0
- package/package.json +1 -1
- package/dist/constants-BNoR2_Qg.mjs +0 -2
- package/dist/init-DIT1ZqWz.mjs +0 -1
- package/dist/loader-dvZHcwcQ.mjs +0 -1
- package/dist/preview-Blsaqire.mjs +0 -1
- package/dist/public/assets/GraphPanel-Bqt3XRIg.js +0 -46
- package/dist/public/assets/SettingsDialogBody-CcxV23r0.js +0 -7
- package/dist/public/assets/index-6vGfMBbB.css +0 -1
- package/dist/public/assets/toggle-group-oSLn0Q3B.js +0 -1
- package/dist/repair-skills-Fvio4Y5j.mjs +0 -3
- package/dist/repair-skills-RiEpYpER.mjs +0 -1
- package/dist/server-lock-CyhBidkz-CtwSwoJc.mjs +0 -1
- package/dist/start-CYhN6fGd.mjs +0 -3
- package/dist/start-jTgkie2f.mjs +0 -1
- package/dist/write-project-skill-X3m0-n6F.mjs +0 -12
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: open-knowledge-discovery
|
|
3
|
-
description: "Read when the user asks what
|
|
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 install-skill` / 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.19.1-beta.
|
|
6
|
+
version: "0.19.1-beta.10"
|
|
7
7
|
author: "Inkeep"
|
|
8
8
|
repository: "https://github.com/inkeep/open-knowledge"
|
|
9
9
|
---
|
|
10
|
-
#
|
|
10
|
+
# OpenKnowledge — what it is and how to install it
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
OpenKnowledge (OK) is a markdown-CRDT collaboration platform. It turns a
|
|
13
13
|
directory of `.md` / `.mdx` files into a live, multi-writer knowledge base:
|
|
14
14
|
agents and humans edit the same documents in real time, every change is
|
|
15
15
|
attributed, and a browser preview renders edits as they land.
|
|
16
16
|
|
|
17
|
-
This skill is **discovery-only**. It explains what
|
|
17
|
+
This skill is **discovery-only**. It explains what OpenKnowledge is and how
|
|
18
18
|
to set it up. It carries **no runtime rules** for reading or editing markdown
|
|
19
19
|
— that guidance ships separately (see *Working inside a project* below).
|
|
20
20
|
|
|
21
|
-
## Install
|
|
21
|
+
## Install OpenKnowledge on a repository
|
|
22
22
|
|
|
23
23
|
Run `ok init` from the repository root:
|
|
24
24
|
|
|
@@ -32,7 +32,7 @@ ok init
|
|
|
32
32
|
`ok init` is the one setup verb. It:
|
|
33
33
|
|
|
34
34
|
- scaffolds a `.ok/` directory (project config — `content.dir` defaults to `.`);
|
|
35
|
-
- wires the
|
|
35
|
+
- wires the OpenKnowledge MCP server into detected editors (Claude Code,
|
|
36
36
|
Cursor, Codex) — skip with `--no-mcp`;
|
|
37
37
|
- installs the **project-local runtime skill** at `.claude/skills/open-knowledge/`
|
|
38
38
|
and `.cursor/skills/open-knowledge/` so agents working in this repo get the
|
|
@@ -42,7 +42,7 @@ ok init
|
|
|
42
42
|
Re-run `ok init` any time to refresh wiring and skills to the installed CLI
|
|
43
43
|
version.
|
|
44
44
|
|
|
45
|
-
## Share an
|
|
45
|
+
## Share an OpenKnowledge project with collaborators
|
|
46
46
|
|
|
47
47
|
An OK project travels with its repository. To share one:
|
|
48
48
|
|
|
@@ -73,14 +73,14 @@ from the releases page.
|
|
|
73
73
|
|
|
74
74
|
## Working inside a project — use the project-local skill, not this one
|
|
75
75
|
|
|
76
|
-
Do **not** use this skill to perform
|
|
76
|
+
Do **not** use this skill to perform OpenKnowledge reads or writes. The
|
|
77
77
|
runtime contract — STOP rules for native file tools on in-scope markdown, the
|
|
78
78
|
preview-attach handshake, grounding and linking rules, the MCP tool routing
|
|
79
79
|
table — lives in a **separate project-local skill** installed at
|
|
80
80
|
`.claude/skills/open-knowledge/SKILL.md` whenever `ok init` runs.
|
|
81
81
|
|
|
82
82
|
If the user is editing markdown inside a project that has a `.ok/` directory
|
|
83
|
-
and this discovery skill is the only
|
|
83
|
+
and this discovery skill is the only OpenKnowledge skill loaded, the
|
|
84
84
|
project-local skill is missing (the repo was never `ok init`'d, or the skill
|
|
85
85
|
directory was not committed). Advise the user to run `ok init` to install it.
|
|
86
86
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: open-knowledge-pack-codebase-wiki
|
|
3
3
|
description: "How to work in a Codebase Wiki project (the `codebase-wiki` starter pack): an agent-authored, source-grounded wiki of the surrounding codebase. Read when the project has a `wiki/` knowledge base with `architecture/`, `modules/`, `flows/`, `concepts/`, and `guides/` sections plus `wiki/OVERVIEW.md`. Carries the per-folder rules and freshness + log discipline, summarizes the audience/depth knobs and source-reference convention, and points to the `workflow({ kind: 'wiki' })` guide for the full generate/refresh procedure. Complements the platform `open-knowledge` skill; does not replace it."
|
|
4
|
-
compatibility: "Claude Code, Claude Desktop, Claude Cowork, Claude.ai web. Requires
|
|
4
|
+
compatibility: "Claude Code, Claude Desktop, Claude Cowork, Claude.ai web. Requires OpenKnowledge MCP server. Installed project-local by `ok seed --pack codebase-wiki`."
|
|
5
5
|
metadata:
|
|
6
6
|
pack: "codebase-wiki"
|
|
7
7
|
author: "Inkeep"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: open-knowledge-pack-entity-vault
|
|
3
3
|
description: "How to work in an Entity vault project (the `entity-vault` starter pack, GBrain-compatible): a typed-entity vault of people, companies, meetings, and concepts, each a dossier with a rewritable summary plus an append-only timeline. Read when the project has these folders. Carries the dossier convention and entity-extraction behaviors so that guidance does not live inside template bodies or folder descriptions. Complements the platform `open-knowledge` skill; does not replace it."
|
|
4
|
-
compatibility: "Claude Code, Claude Desktop, Claude Cowork, Claude.ai web. Requires
|
|
4
|
+
compatibility: "Claude Code, Claude Desktop, Claude Cowork, Claude.ai web. Requires OpenKnowledge MCP server. Installed project-local by `ok seed --pack entity-vault`."
|
|
5
5
|
metadata:
|
|
6
6
|
pack: "entity-vault"
|
|
7
7
|
author: "Inkeep"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: open-knowledge-pack-knowledge-base
|
|
3
3
|
description: "How to work in a Knowledge Base project (the `knowledge-base` starter pack). Read when the project has the three-layer source-grounded layout — `external-sources/` → `research/` → `articles/` — wired to the `workflow` MCP tool's ingest / research / consolidate kinds. Carries the pack's workflow, per-folder rules, status flows, and log discipline so this guidance does NOT live inside template bodies or log.md. Complements the platform `open-knowledge` skill; does not replace it."
|
|
4
|
-
compatibility: "Claude Code, Claude Desktop, Claude Cowork, Claude.ai web. Requires
|
|
4
|
+
compatibility: "Claude Code, Claude Desktop, Claude Cowork, Claude.ai web. Requires OpenKnowledge MCP server. Installed project-local by `ok seed --pack knowledge-base`."
|
|
5
5
|
metadata:
|
|
6
6
|
pack: "knowledge-base"
|
|
7
7
|
author: "Inkeep"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: open-knowledge-pack-okf
|
|
3
3
|
description: "How to work in an OKF starter project (the `okf` starter pack): a knowledge base that is conformant with Google's Open Knowledge Format (OKF) from commit one — `concepts/`, `references/`, `notes/`, a reserved `index.md` navigation hub, and a reserved `log.md` change history. Read when the project has these folders + reserved files. Carries the OKF conventions (non-empty `type` on every non-reserved doc; reserved files carry no frontmatter) as guidance, not enforcement. Complements the platform `open-knowledge` skill; does not replace it."
|
|
4
|
-
compatibility: "Claude Code, Claude Desktop, Claude Cowork, Claude.ai web. Requires
|
|
4
|
+
compatibility: "Claude Code, Claude Desktop, Claude Cowork, Claude.ai web. Requires OpenKnowledge MCP server. Installed project-local by `ok seed --pack okf`."
|
|
5
5
|
# `type` keeps this skill doc OKF-conformant: it installs as project-local
|
|
6
6
|
# markdown under `.claude`/`.cursor`/`.agents` skills dirs, which OK admits into
|
|
7
7
|
# the content corpus — so without a non-empty `type` it would be a non-reserved
|
|
@@ -14,7 +14,7 @@ metadata:
|
|
|
14
14
|
---
|
|
15
15
|
# OKF starter pack — how to work here
|
|
16
16
|
|
|
17
|
-
This project was scaffolded to be conformant with **Google's Open Knowledge Format (OKF) v0.1** from the first commit — markdown + YAML frontmatter, a standard-markdown link graph, and two reserved files. Conformance here is pre-populated, **not enforced**:
|
|
17
|
+
This project was scaffolded to be conformant with **Google's Open Knowledge Format (OKF) v0.1** from the first commit — markdown + YAML frontmatter, a standard-markdown link graph, and two reserved files. Conformance here is pre-populated, **not enforced**: OpenKnowledge's native frontmatter schema stays open-shaped, nothing is linted, and you are free to author however you like. This skill explains the conventions so the kit stays OKF-portable as it grows.
|
|
18
18
|
|
|
19
19
|
> This skill is pack guidance. The platform `open-knowledge` skill (read/write/preview/grounding rules) still governs every markdown operation — this layers OKF conventions on top.
|
|
20
20
|
|
|
@@ -32,7 +32,7 @@ OKF requires exactly one thing of every **non-reserved** document: a **non-empty
|
|
|
32
32
|
- **`references/`** — external sources and citations you rely on (`type: reference`).
|
|
33
33
|
- **`notes/`** — working notes and observations (`type: note`).
|
|
34
34
|
|
|
35
|
-
Link liberally with **standard markdown links** (`[text](./path.md)`) — the value is the graph that emerges from the links between typed docs, and standard links keep that graph portable to any OKF consumer. (
|
|
35
|
+
Link liberally with **standard markdown links** (`[text](./path.md)`) — the value is the graph that emerges from the links between typed docs, and standard links keep that graph portable to any OKF consumer. (OpenKnowledge also accepts `[[wiki-link]]` shorthand as a native superset, and the OKF export normalizes it to standard links — but seeded content uses standard links so the bundle is conformant as-is.)
|
|
36
36
|
|
|
37
37
|
## Reserved files (keep them frontmatter-free)
|
|
38
38
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: open-knowledge-pack-plain-notes
|
|
3
3
|
description: "How to work in a Plain Notes project (the `plain-notes` starter pack): a flat notes/ folder plus a daily/ journal. The 'I just want to write' layout. Read when the project has these folders. Carries the linking habit and daily-entry behavior so templates and folder descriptions stay minimal. Complements the platform `open-knowledge` skill; does not replace it."
|
|
4
|
-
compatibility: "Claude Code, Claude Desktop, Claude Cowork, Claude.ai web. Requires
|
|
4
|
+
compatibility: "Claude Code, Claude Desktop, Claude Cowork, Claude.ai web. Requires OpenKnowledge MCP server. Installed project-local by `ok seed --pack plain-notes`."
|
|
5
5
|
metadata:
|
|
6
6
|
pack: "plain-notes"
|
|
7
7
|
author: "Inkeep"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: open-knowledge-pack-software-lifecycle
|
|
3
3
|
description: "How to work in a Software Lifecycle project (the `software-lifecycle` starter pack): proposals → decisions → specs → postmortems, plus guides. Read when the project has these folders. Carries the doc lifecycle, status flows, and per-folder agent behaviors so that guidance does not live inside template bodies or folder descriptions. Complements the platform `open-knowledge` skill; does not replace it."
|
|
4
|
-
compatibility: "Claude Code, Claude Desktop, Claude Cowork, Claude.ai web. Requires
|
|
4
|
+
compatibility: "Claude Code, Claude Desktop, Claude Cowork, Claude.ai web. Requires OpenKnowledge MCP server. Installed project-local by `ok seed --pack software-lifecycle`."
|
|
5
5
|
metadata:
|
|
6
6
|
pack: "software-lifecycle"
|
|
7
7
|
author: "Inkeep"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: open-knowledge-pack-worldbuilding
|
|
3
3
|
description: "How to work in a Worldbuilding project (the `worldbuilding` starter pack): a fiction encyclopedia of characters, settings, themes, factions, and lore. Read when the project has these folders. Carries the auto-stub and consistency behaviors so that guidance does not live inside template bodies or folder descriptions. Complements the platform `open-knowledge` skill; does not replace it."
|
|
4
|
-
compatibility: "Claude Code, Claude Desktop, Claude Cowork, Claude.ai web. Requires
|
|
4
|
+
compatibility: "Claude Code, Claude Desktop, Claude Cowork, Claude.ai web. Requires OpenKnowledge MCP server. Installed project-local by `ok seed --pack worldbuilding`."
|
|
5
5
|
metadata:
|
|
6
6
|
pack: "worldbuilding"
|
|
7
7
|
author: "Inkeep"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: open-knowledge-pack-writing-pipeline
|
|
3
3
|
description: "How to work in a Writing Pipeline project (the `writing-pipeline` starter pack): a three-stage drafting flow, ideas → drafts → published. Read when the project has these folders. Carries the stage flow and review behaviors so that guidance does not live inside template bodies or folder descriptions. Complements the platform `open-knowledge` skill; does not replace it."
|
|
4
|
-
compatibility: "Claude Code, Claude Desktop, Claude Cowork, Claude.ai web. Requires
|
|
4
|
+
compatibility: "Claude Code, Claude Desktop, Claude Cowork, Claude.ai web. Requires OpenKnowledge MCP server. Installed project-local by `ok seed --pack writing-pipeline`."
|
|
5
5
|
metadata:
|
|
6
6
|
pack: "writing-pipeline"
|
|
7
7
|
author: "Inkeep"
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: open-knowledge
|
|
3
|
-
description: "MUST invoke before reading or editing any `.md` / `.mdx` file, and before any `mcp__open-knowledge__*` tool call (`exec`, `search`, `write`, `edit`, and the rest). This skill is installed into the repository by `ok init`, so its presence alone means this is an
|
|
4
|
-
compatibility: "Claude Code, Claude Desktop, Claude Cowork, Claude.ai web. Requires
|
|
3
|
+
description: "MUST invoke before reading or editing any `.md` / `.mdx` file, and before any `mcp__open-knowledge__*` tool call (`exec`, `search`, `write`, `edit`, and the rest). This skill is installed into the repository by `ok init`, so its presence alone means this is an OpenKnowledge project — its runtime contract governs every markdown file here, with no need to probe for a `.ok/` directory. Authoritative agent-runtime contract for working inside this OpenKnowledge project."
|
|
4
|
+
compatibility: "Claude Code, Claude Desktop, Claude Cowork, Claude.ai web. Requires OpenKnowledge MCP server + code execution."
|
|
5
5
|
metadata:
|
|
6
|
-
version: "0.19.1-beta.
|
|
6
|
+
version: "0.19.1-beta.10"
|
|
7
7
|
author: "Inkeep"
|
|
8
8
|
repository: "https://github.com/inkeep/open-knowledge"
|
|
9
9
|
---
|
|
10
|
-
#
|
|
10
|
+
# OpenKnowledge — agent guidance
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
OpenKnowledge (OK) is a markdown-CRDT collaboration platform exposed via MCP. This skill carries the behavioral rules agents need to use it fluently. Every section is a MUST unless marked otherwise.
|
|
13
13
|
|
|
14
|
-
> **Authoritative source.** This skill is the single source of
|
|
14
|
+
> **Authoritative source.** This skill is the single source of OpenKnowledge agent guidance — the full attach rule, grounding rule, media rules, dead-link verification, and failure-mode guidance live only here.
|
|
15
15
|
|
|
16
16
|
> Skill version: tracks `@inkeep/open-knowledge-server` package version. Check `cat ~/.ok/skill-state.yml` to see what's installed locally. **Version floor:** `ok seed` (referenced below) requires `@inkeep/open-knowledge` >= 0.4.0. If `ok seed` errors with `unknown command`, upgrade: `npm install -g @inkeep/open-knowledge`.
|
|
17
17
|
|
|
@@ -45,19 +45,19 @@ Tools NOT in OK MCP (they belong to your agent host): `preview_start`, `preview_
|
|
|
45
45
|
|
|
46
46
|
## STOP — native tools on in-scope `.md` / `.mdx`
|
|
47
47
|
|
|
48
|
-
When this workspace has
|
|
48
|
+
When this workspace has OpenKnowledge MCP configured, do **not** use your host's native file tools on markdown paths inside the content directory. The ban covers every common rationalization:
|
|
49
49
|
|
|
50
50
|
- **Native `Read` / `Grep` / `Glob` on in-scope `.md` / `.mdx`** — the original case.
|
|
51
51
|
- **`Bash ls` / `Bash find` / `Bash cat` on dirs containing in-scope markdown** — use `exec("ls -A …")` / `exec("find … -name '*.md'")` / `exec("cat …")` instead. Native returns bare names; `exec` returns frontmatter, backlink counts, and recent activity per child. `-A` shows hidden entries (`.ok/`, `.okignore`) which OK projects carry; omit `.` and `..` rows that `-a` would add.
|
|
52
52
|
- **Glob patterns that target markdown** (`**/*.md`, any dir known to be markdown-heavy like `specs/**`, `reports/**`, `docs/**`) — use `exec` with `find`, or `exec("ls -A <dir>")`.
|
|
53
|
-
- **Dispatching the Explore / general-purpose subagent for markdown-heavy exploration** — subagents use native `Read` / `Grep` / `Glob` internally and bypass
|
|
53
|
+
- **Dispatching the Explore / general-purpose subagent for markdown-heavy exploration** — subagents use native `Read` / `Grep` / `Glob` internally and bypass OpenKnowledge entirely. Do markdown exploration yourself via `exec` / `search`. Subagents remain appropriate for **source-code** exploration.
|
|
54
54
|
- **Native `Read` / `Grep` on any in-scope markdown inside `.ok/`** — the `.ok/` directory is in-scope; if it carries `.md` / `.mdx`, treat those the same as any other knowledge-base file.
|
|
55
55
|
|
|
56
56
|
Why: native tools skip frontmatter, backlinks, shadow-repo activity, and project git history that OK's tools return for every matched knowledge-base file. `exec` is the primary read surface; it runs read-only bash (`cat`, `ls`, `grep`, `find`, `head`, `tail`, `wc`, `sort`, `uniq`, `cut`) and returns raw stdout plus enriched metadata per file. One command or a pipe (`|`) per call — it is NOT a shell, so `&&` / `;` / redirects are rejected; list several dirs with `ls -A a b c` or make separate calls.
|
|
57
57
|
|
|
58
|
-
**MCP tool visibility — not seeing `exec` is NOT the escape hatch.** MCP wiring varies by client. Claude Code, Cursor, Codex, Windsurf, VS Code — each surfaces MCP differently. Server labels are user-defined; tools may not appear as top-level symbols named `exec` in your specific UI. If
|
|
58
|
+
**MCP tool visibility — not seeing `exec` is NOT the escape hatch.** MCP wiring varies by client. Claude Code, Cursor, Codex, Windsurf, VS Code — each surfaces MCP differently. Server labels are user-defined; tools may not appear as top-level symbols named `exec` in your specific UI. If OpenKnowledge is registered as an MCP server in this workspace, route markdown reads through its `exec` / `search` via your client's documented MCP invocation (including any generic "call MCP tool" flow). Registration is the test, not top-level-symbol visibility.
|
|
59
59
|
|
|
60
|
-
**Escape hatch.** Native `Read` / `Grep` / `Glob` on `.md` / `.mdx` is allowed **only** when no
|
|
60
|
+
**Escape hatch.** Native `Read` / `Grep` / `Glob` on `.md` / `.mdx` is allowed **only** when no OpenKnowledge MCP server is registered for this project, **or** immediately after you tried an MCP call and it failed — then begin a user-visible sentence with `OpenKnowledge MCP unavailable:`. Never use the hatch because you skipped your client's MCP path, didn't see `exec` as a top-level tool, or rationalized the skill wasn't necessary.
|
|
61
61
|
|
|
62
62
|
**Source code and non-markdown files** (`.ts`, `.py`, `package.json`, …): native `Read` / `Grep` / `Glob` always.
|
|
63
63
|
|
|
@@ -141,7 +141,7 @@ To author an MDX doc (the KB renders MDX/JSX components), set `extension: ".mdx"
|
|
|
141
141
|
|
|
142
142
|
To delete a doc, call `delete({ document })` — never `rm` / `unlink` / native `Bash` removal on in-scope markdown. The MCP path closes open agent sessions and unloads the doc from Hocuspocus before unlinking; native `rm` desynchronizes those. Deletion is irreversible — call `checkpoint()` first if you may need to roll back (it snapshots the whole project; afterwards restore the doc via `restore_version({ document, version })`, finding the `version` in `history`), and `links({ kind: "backlinks", document })` first if you want to fix referrers that will become redlinks. To move or rename a doc instead of delete + rewrite, use `move({ from, to })` — it auto-detects document vs folder vs asset and rewrites incoming references atomically.
|
|
143
143
|
|
|
144
|
-
**If `edit` returns "Text not found" on text you can verify exists on disk** (via `exec("cat …")`), the MCP session is likely stale (e.g., after a folder rename or server restart). Treat this as the escape-hatch trigger from the STOP block: prefix your next user-visible sentence with `
|
|
144
|
+
**If `edit` returns "Text not found" on text you can verify exists on disk** (via `exec("cat …")`), the MCP session is likely stale (e.g., after a folder rename or server restart). Treat this as the escape-hatch trigger from the STOP block: prefix your next user-visible sentence with `OpenKnowledge MCP unavailable:` and report the inconsistency. Don't loop on retries — the symptom is structural, not transient.
|
|
145
145
|
|
|
146
146
|
## Conflict-aware writes
|
|
147
147
|
|
|
@@ -504,9 +504,9 @@ If `write` or `edit` returns a "Hocuspocus server is not running" error, start i
|
|
|
504
504
|
|
|
505
505
|
## Scope recap
|
|
506
506
|
|
|
507
|
-
|
|
507
|
+
OpenKnowledge looks for documents under the resolved `content.dir` (discoverable at runtime via `config({ key: 'content.dir' })`). `.gitignore` and `.okignore` (at the project root and at any folder depth) define exclusions. A folder's own metadata + templates live in nested `<folder>/.ok/frontmatter.yml` + `<folder>/.ok/templates/` — NOT in `.ok/config.yml`.
|
|
508
508
|
|
|
509
|
-
Default mental model (no jargon): **every `.md` and `.mdx` under `content.dir`** not excluded by `.gitignore` or `.okignore` is an
|
|
509
|
+
Default mental model (no jargon): **every `.md` and `.mdx` under `content.dir`** not excluded by `.gitignore` or `.okignore` is an OpenKnowledge document — including under `specs/`, `reports/`, `docs/`, etc. Read `.okignore` (and any nested `.okignore` files) once per turn to know what's excluded.
|
|
510
510
|
|
|
511
511
|
**First session in this project?** If substantial folders have no frontmatter of their own and no `templates_available`, the project isn't onboarded — invoke `workflow({ kind: 'discover' })` before writing.
|
|
512
512
|
|