Note maps

Markdown documents on a canvas — cross-linked to issues and code, written by you or your agent.

Notes are markdown documents that live in notebooks — Obsidian-style, on a live graph canvas. They're where decisions, plans, and session knowledge live: written by you, or distilled by your agent as it works.

Documents, not bubbles

Each note opens into a real markdown document — headings, lists, code blocks, the works. Click a note in the tree (or a node on the canvas) and the document opens right over the graph; hit Edit in its top bar and the document edits in place. Every note has its own URL — copy the link from the ⋯ menu and send it.

Bodies are plain markdown and stay plain: Alkahest never rewrites your text.

Notebooks, folders, and a tree

A note lives in exactly one note map — think of a map as a notebook (a vault). Each notebook has an Obsidian-style folder tree in the left rail; drag notes between folders, or move a note to another notebook from its menu. Keep as many notebooks as you like — wiki, runbooks, meeting-notes — each at its own link.

Links live in the text

Write [[Another note]] in a body and it renders as a link — and the canvas draws the connection. Backlinks show up on the target's document ("Linked from"). The text owns the graph: rename-safe, no hidden writes, delete the ref and the line disappears.

Cross-links are explicit:

  • note ↔ issue — "this design note decides these tickets"
  • note ↔ code node — "this decision touches these screens"

Links show up on both ends: the note's document lists its issues and code nodes, and an issue's detail shows its related notes.

Properties

Each notebook can define typed properties (text, select, multi, date, number, checkbox) that its notes carry — status, topic, whatever your workflow needs — plus built-in tags with a filter pane under the tree. Manage the schema from the ⚙ on any note's Properties block. Agents read and write them too.

Bring your vault

Already keep a wiki in Obsidian? alkahest notes import <dir> mirrors a folder of .md files into a notebook — one note per file, subfolders become the tree, YAML frontmatter is harvested into properties, and your existing [[wikilinks]] just work. Re-run it any time to refresh — the full procedure (and how re-sync matching behaves) is in Mirror a docs folder.

From an agent

add_note      — create a note (title + markdown body + folder + props)
update_note   — edit a note (props merge in; write [[refs]] in the body to link)
link_notes    — connect note ↔ issue:<id> or note ↔ code:<node>
map_note      — move a note to another notebook
notes / get_note — search and read (wikilink graph included)

A good habit: end agent sessions by asking it to distill what was decided into a note and link it to the issues it touched — the knowledge base writes itself. Ready-made instruction blocks for this live in Note recipes.

From the terminal

alkahest notes add "Release runbook" --body-file runbook.md --folder ops
alkahest notes list
alkahest notes show <slug>
alkahest notes link <slug> issue:<id>
alkahest notes import ~/vaults/team-wiki --map wiki