Skip to main content
Wiki links connect pages with [[double brackets]]. KiwiFS indexes every link, so each page knows what links to it, the knowledge graph stays current, and moving a page rewrites the links that point at it.
concepts/tokens.md

Syntax

The .md extension is optional. Matching ignores case and treats -, _, and spaces as the same, so [[Rate Limiting]] finds rate-limiting.md. Links inside code blocks and inline code are plain text, not links. A bare name matches a file name exactly. There is no prefix guessing: [[auth]] does not find authentication.md. When more than one file has the same name, KiwiFS picks one in this order:
  1. The file in the same folder as the linking page.
  2. The file with the shortest path.
  3. The alphabetically first path.
A link with a slash, such as [[folder/note]], is tried from the root first, then relative to the linking page’s folder, then as a unique path suffix anywhere in the knowledge base. The web UI, backlinks, the graph, and DQL all use the same rules, so a link points at the same page everywhere. Frontmatter fields can hold typed links. By default, contradicts, supersedes, and superseded_by are indexed as links with that relation. Add your own fields in config:
.kiwi/config.toml
Values can be plain paths or wiki links:
Typed links appear in backlinks with their relation, and DQL’s rollup() can follow them. Every page shows a Backlinks panel listing the pages that link to it.
Terminal
The response lists each linking page, with its relation for typed links. Over MCP, call kiwi_backlinks. Renaming or moving a page through KiwiFS rewrites every wiki link and markdown link that pointed at it. The move and every relinked page land in one commit, and the rename fails with 409 instead of leaving a link behind. See Refactor for plans, merges, and reverting a restructuring. A link that resolves to nothing is styled as missing in the web UI. Click it to create the page. Broken links never stop a page from rendering. See the Refactor API for these endpoints.

Knowledge graph

The web UI’s graph view draws every page as a node and every link as an edge, in 2D or 3D. You can filter by folder or tag and find the shortest path between two pages.
Terminal
The response has nodes (pages with their tags) and edges (raw link pairs). For centrality, communities, shortest paths, and local neighborhoods, see the graph APIs.

Refactor

Move, merge, and restructure pages safely.

Metadata API

Backlinks and graph endpoints.

DQL

Query links with rollup() and _backlink_count.

Web UI

Graph view, backlinks panel, and the editor.
Last modified on October 19, 2026