diff --git a/.changeset/bottom-ask-ai-composer.md b/.changeset/bottom-ask-ai-composer.md deleted file mode 100644 index f5e0fba73..000000000 --- a/.changeset/bottom-ask-ai-composer.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -"@inkeep/open-knowledge": patch ---- - -Add a persistent "Ask AI" prompt composer to the bottom of the OK Desktop editor. When a document is open, a small "Ask AI" pill sits above the editor footer; press Cmd+L (Ctrl+L on Windows/Linux) or click it to expand a freetext composer, type an instruction about the current doc, and send it to your coding agent (Claude, Codex, or Cursor) without leaving the editor. It reuses the same handoff path as "Open with AI" and "Edit with AI", scoping the prompt to the current document. The agent picker lists your installed agents and remembers your last choice per machine, and the empty composer shows rotating example prompts (a single static suggestion when reduced motion is requested). The composer stays out of the way when it does not apply: it is hidden while the terminal is open, in embedded or web hosts, and when no document is open. - -You can also pull a highlighted passage into the prompt as context: select text in the document and a removable snapshot pill appears in the composer. A short single-line selection is inlined verbatim; anything longer is sent as a reference the agent reads back from the file (line numbers in source mode, a passage anchor in rich-text mode), so the prompt stays compact. The pill persists when you move the cursor or click into the composer, is replaced when you highlight something new, and clears with its × or after you send. - -The project-wide "Create Something Great" composer on the empty-state screen now supports the same `@`-mentions: type `@` to reference existing docs and files as chips, so a create brief can point the agent at the parts of the project to build on. The referenced paths are passed through to the agent alongside your brief. diff --git a/.changeset/codebase-wiki-starter-pack.md b/.changeset/codebase-wiki-starter-pack.md deleted file mode 100644 index bf9251225..000000000 --- a/.changeset/codebase-wiki-starter-pack.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@inkeep/open-knowledge": minor ---- - -Add the `codebase-wiki` starter pack — an agent-authored, navigable wiki of your codebase. `ok seed --pack codebase-wiki` scaffolds a `wiki/` knowledge base (architecture, modules, flows, concepts, and guides — each with a page template) plus an `OVERVIEW` hub and a generation log. The new `workflow({ kind: "wiki" })` guide drives an agent to generate — and later incrementally refresh — the wiki from source, with mermaid diagrams, cross-linked pages, and source references, tuned by two natural-language knobs (`audience`: internal/public, `depth`: tour/standard/exhaustive). Version-controlled and private by default; the wiki doubles as durable grounding context for future agent sessions. diff --git a/.changeset/file-tree-scroll-to-bottom.md b/.changeset/file-tree-scroll-to-bottom.md deleted file mode 100644 index 066387eec..000000000 --- a/.changeset/file-tree-scroll-to-bottom.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@inkeep/open-knowledge-app': patch ---- - -Fix the file-tree sidebar not scrolling all the way to the bottom. The virtualized tree positioned rows on a 24px grid while they rendered at 26px, so the accumulated per-row gap was subtracted from the scroll range and the last rows became unreachable (worse the taller or more deeply nested the tree). The virtualizer row height is now derived from a single source of truth, so it can no longer drift from the rendered row height. diff --git a/.changeset/fix-desktop-internal-link-new-tab-browser-leak.md b/.changeset/fix-desktop-internal-link-new-tab-browser-leak.md deleted file mode 100644 index 5edf3207b..000000000 --- a/.changeset/fix-desktop-internal-link-new-tab-browser-leak.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@inkeep/open-knowledge": patch ---- - -Fix internal document links opening in the wrong place from the desktop app. "Open in new tab" (Cmd/Ctrl-click, or the link panel's open-in-new-tab) on an in-app document link now navigates to that document inside Open Knowledge. Previously the desktop window handler treated the in-app route as an external URL: in development builds this opened a `localhost` tab in your web browser (and repeated follows could flood the browser with tabs), and in packaged builds the click did nothing. diff --git a/.changeset/graph-example-links-and-title-clearance.md b/.changeset/graph-example-links-and-title-clearance.md deleted file mode 100644 index 21cc8e392..000000000 --- a/.changeset/graph-example-links-and-title-clearance.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -"@inkeep/open-knowledge": patch ---- - -Keep illustrative example links in the starter packs out of the link graph, and -clear the fullscreen graph title from the macOS traffic-light buttons. - -Several starter-pack examples used forms that the link indexer still extracts, -so docs seeded or instantiated from them carried links to placeholder targets -(`path/to/doc-a`, `companies/acme`, `another-concept`, …) that surfaced as -phantom dead-links and red "missing" nodes in the graph: - -- The entity-vault `log.md` wrapped its "Example entry shape" block in an HTML - comment. Comments don't render, but the indexer reads links inside them — it - is now a fenced `markdown` code block (which the indexer skips), matching the - knowledge-base pack. The example also renders as a visible, copyable template. -- The entity-vault person/company/meeting templates and the OKF concept template - had bare example links in their instructional prose, which every instantiated - dossier/concept then inherited. They are now inline code, matching how the - folder descriptions already write the same examples. - -To exclude an example link from the broken-link detector in your own docs, put -it in a code fence (block) or inline code (inline) — an HTML comment will not. - -In the expanded (fullscreen) graph, the "GRAPH" title sat flush against the -macOS traffic-light buttons: the header's safe-area reserve clears the button -footprint, but the flush-left title was left touching the buttons. The left -title cluster now gets a small margin in fullscreen so it clears them; the -header keeps the shared safe-area reserve token unchanged. diff --git a/.changeset/pre.json b/.changeset/pre.json index 4a05164f4..20138435e 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -3,13 +3,13 @@ "tag": "beta", "initialVersions": { "@inkeep/open-knowledge-docs": "0.0.1", - "@inkeep/open-knowledge-app": "0.17.0", - "@inkeep/open-knowledge": "0.17.0", - "@inkeep/open-knowledge-core": "0.17.0", - "@inkeep/open-knowledge-desktop": "0.17.0", - "@inkeep/md-conformance": "0.0.7", + "@inkeep/open-knowledge-app": "0.18.0", + "@inkeep/open-knowledge": "0.18.0", + "@inkeep/open-knowledge-core": "0.18.0", + "@inkeep/open-knowledge-desktop": "0.18.0", + "@inkeep/md-conformance": "0.0.8", "@inkeep/open-knowledge-plugin": "0.3.1", - "@inkeep/open-knowledge-server": "0.17.0" + "@inkeep/open-knowledge-server": "0.18.0" }, "changesets": [] } diff --git a/bun.lock b/bun.lock index c585c9533..892207a17 100644 --- a/bun.lock +++ b/bun.lock @@ -55,7 +55,7 @@ }, "packages/app": { "name": "@inkeep/open-knowledge-app", - "version": "0.17.0", + "version": "0.18.0", "dependencies": { "@codemirror/autocomplete": "^6.20.1", "@codemirror/commands": "^6.10.3", @@ -198,7 +198,7 @@ }, "packages/cli": { "name": "@inkeep/open-knowledge", - "version": "0.17.0", + "version": "0.18.0", "bin": { "open-knowledge": "dist/cli.mjs", "ok": "dist/cli.mjs", @@ -240,7 +240,7 @@ }, "packages/core": { "name": "@inkeep/open-knowledge-core", - "version": "0.17.0", + "version": "0.18.0", "dependencies": { "@handlewithcare/remark-prosemirror": "0.1.5", "@opentelemetry/api": "^1.9.0", @@ -316,7 +316,7 @@ }, "packages/desktop": { "name": "@inkeep/open-knowledge-desktop", - "version": "0.17.0", + "version": "0.18.0", "dependencies": { "@inkeep/open-knowledge": "workspace:*", "@inkeep/open-knowledge-core": "workspace:*", @@ -350,7 +350,7 @@ }, "packages/server": { "name": "@inkeep/open-knowledge-server", - "version": "0.17.0", + "version": "0.18.0", "dependencies": { "@hocuspocus/server": "4.0.0-rc.1", "@inkeep/open-knowledge-core": "workspace:*", diff --git a/packages/app/package.json b/packages/app/package.json index 232036f24..370feb6a9 100644 --- a/packages/app/package.json +++ b/packages/app/package.json @@ -1,6 +1,6 @@ { "name": "@inkeep/open-knowledge-app", - "version": "0.17.0", + "version": "0.18.0", "license": "GPL-3.0-or-later", "private": true, "type": "module", diff --git a/packages/cli/package.json b/packages/cli/package.json index e1c7f2677..2881a0a97 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@inkeep/open-knowledge", - "version": "0.17.0", + "version": "0.18.0", "license": "GPL-3.0-or-later", "private": false, "type": "module", diff --git a/packages/core/package.json b/packages/core/package.json index 9920f8ffe..820132ef6 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@inkeep/open-knowledge-core", - "version": "0.17.0", + "version": "0.18.0", "license": "GPL-3.0-or-later", "private": true, "type": "module", diff --git a/packages/desktop/package.json b/packages/desktop/package.json index bfc9ead2e..895f880dd 100644 --- a/packages/desktop/package.json +++ b/packages/desktop/package.json @@ -1,7 +1,7 @@ { "name": "@inkeep/open-knowledge-desktop", "productName": "Open Knowledge", - "version": "0.17.0", + "version": "0.18.0", "license": "GPL-3.0-or-later", "private": true, "type": "module", diff --git a/packages/server/assets/skills/discovery/SKILL.md b/packages/server/assets/skills/discovery/SKILL.md index e9b65282d..ec4ade17d 100644 --- a/packages/server/assets/skills/discovery/SKILL.md +++ b/packages/server/assets/skills/discovery/SKILL.md @@ -3,7 +3,7 @@ name: open-knowledge-discovery description: "Read when the user asks what Open Knowledge is, wants to install it on a repository, wants to share an Open Knowledge project with collaborators, or asks how `ok init` / `ok install-skill` / OK Desktop set up a project. Do NOT load to perform Open Knowledge 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." compatibility: "Any agent host — no MCP server required. Pure discovery + install guidance." metadata: - version: "0.17.0" + version: "0.18.0" author: "Inkeep" repository: "https://github.com/inkeep/open-knowledge" --- diff --git a/packages/server/assets/skills/project/SKILL.md b/packages/server/assets/skills/project/SKILL.md index c505c96f2..0cbb31949 100644 --- a/packages/server/assets/skills/project/SKILL.md +++ b/packages/server/assets/skills/project/SKILL.md @@ -3,7 +3,7 @@ name: open-knowledge 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 Open Knowledge 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 Open Knowledge project." compatibility: "Claude Code, Claude Desktop, Claude Cowork, Claude.ai web. Requires Open Knowledge MCP server + code execution." metadata: - version: "0.17.0" + version: "0.18.0" author: "Inkeep" repository: "https://github.com/inkeep/open-knowledge" --- diff --git a/packages/server/package.json b/packages/server/package.json index 999bd5a2f..63851e60c 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,6 +1,6 @@ { "name": "@inkeep/open-knowledge-server", - "version": "0.17.0", + "version": "0.18.0", "license": "GPL-3.0-or-later", "private": true, "type": "module",