Linkdown is an active fork of Inkdown, developed and maintained by Agent Digital. It is a WYSIWYG editor and LLM dialogue tool for GitHub Flavored Markdown.
The project is actively developed for the Mac desktop, with a clear roadmap for vault features, MCP, and publishing. Public source: Linkdown (AGPL-3.0) β see LICENSE and NOTICE. Run from source / live testing: QUICKSTART.md Β· Maintainer workflow: DEV.md Β· dev/README.md.
Companion app: Syncdown (native macOS) is the always-on sync and automation layer for the same vault. Linkdown is the workspace, editor, and LLM environment; full MCP runtime (plus premium βstructured contextβ tooling) is packaged in Linkdown-premium (see docs/V30_FREE_PREMIUM_BOUNDARY.md, docs/SPEC_STANDARDS.md).
- In Linkdown UX and docs, Workspace is being renamed to Vault.
- Folder remains a valid term for tree structures (uDOS-style binders/folders), but Linkdown does not require uDOS to be used.
- Compatibility goal: Linkdown works with uDOS, Obsidian, and TaskForge via shared markdown-first vault practices.
Requirements: Node.js 20+ and npm (nodejs.org or brew install node).
-
Double-click launcher (recommended): Dev-Linkdown.command at the repo root (delegates to scripts/Dev-Linkdown.command; either path is fine).
- On first run (or if
node_modulesis missing), installs dependencies withnpm install --legacy-peer-deps(needed for@lancedb/lancedbvsapache-arrowpeers). - Then runs
npm run dev(Electron + Vite). - If macOS blocks execution: right-click β Open, or run once:
chmod +x Dev-Linkdown.command(orchmod +x scripts/Dev-Linkdown.command).
- On first run (or if
-
CLI equivalent:
npm run bootstrap # same as: npm install --legacy-peer-deps npm run devMaintainers: fast gate
npm run check(typecheck + validateTASKS.md+ doc audit + Vitest); full shakedownnpm run shakedownβ see docs/CURSOR_COMPLETION_CHECKLIST.md. CI:.github/workflows/check.ymlruns the same gate on push/PR tomaster/main. uCode CLI (stub):npm run ucode:run -- examples/ucode/sample.ucode(ornpx linkdown run β¦afternpm link) β dev/UCODE_CLI_STUB.md. Env template:.env.family.example(also.env.example). -
Production compile (typecheck + Vite bundle):
npm run build- Faster compile-only (skips
tsc):npm run build:compile.
- Faster compile-only (skips
-
Packaged app: after
npm run build, usenpm run build:mac:arm64orbuild:mac:x64(seepackage.json). -
MCP (optional): in the Linkdown-premium repo run
npm install && npm run build, then start Linkdown withLINKDOWN_PREMIUM_ENABLE=1andLINKDOWN_PREMIUM_ENTRYset to the absolute path of that repoβsdist/index.js. Without this, MCP IPC returns a premium-required stub; editingData/mcp/servers.jsonin Settings still works.
See CONTRIBUTING.md for license and PR scope.
Start here: docs/README.md β full map (fork preservation, active v3 docs, vault specs, archive). Terminology: docs/SPEC_STANDARDS.md, Markdown: docs/MARKDOWN_AND_RENDERING.md.
Published docs (GitHub Pages): enable Settings β Pages β GitHub Actions, then open https://fredporter.github.io/Linkdown/ (path matches your GitHub user/repo name). Setup and local build: docs/GITHUB_PAGES.md.
End-user guide: docs/guide/README.md β start with Quick start, then Introduction, FAQ, Markdown, Media, Publish, import/export, release notes.
Public support (screenshots & short topics): maintained in the AgentDigital-Docs repo (support/linkdown/; see docs/support/README.md).
| Doc | Contents |
|---|---|
| docs/SPEC_STANDARDS.md | Canonical doc vocabulary β GFM+Task, Settings toggles, archive map |
| docs/MARKDOWN_AND_RENDERING.md | GFM baseline, extensions, flag colours / YAML tags |
| docs/guide/README.md | User-facing topics (Inkdown-doc lineage, Linkdown-specific) |
| docs/LICENSING_AND_ATTRIBUTION.md | AGPL, upstream credit, documentation provenance |
| CHANGELOG.md | Linkdown version history |
| docs/FORK_LINEAGE.md | Relationship to upstream Inkdown and open-source lineage |
| docs/FORK_SETUP.md | Upstream remote, AGPL releases, distribution notes |
| docs/LINKDOWN_PRODUCT_MODEL.md | Product model β vault, tasks, entities, views, feeds/spools |
| docs/V30_FREE_PREMIUM_BOUNDARY.md | v3.0+ policy β free vs premium boundary and patch-line versioning |
| dev/ROADMAP.md | Canonical roadmap β core vs premium vs Syncdown; next priorities |
| dev/V30_ROADMAP.md | Historical 3.0.x patch-line notes (see dev/ROADMAP for current) |
| docs/V30_ROADMAP.md | Stub β dev/V30_ROADMAP.md |
| docs/V30_FAMILY_CONFIGURATION.md | v3.0+ family config β app/premium integration contract and env gates |
| dev/ROADMAP_SPLIT.md | Roadmap and split with Syncdown (canonical) |
| docs/ROADMAP_SPLIT.md | Stub β dev/ROADMAP_SPLIT.md |
| docs/ROADMAP.md | Stub β dev/ROADMAP.md |
| docs/LINKDOWN_ROADMAP.md | Redirect β dev/ROADMAP.md |
| docs/archive/legacy-v21/V21_VAULT_IMPLEMENTATION_PLAN.md | v2.1 binder vault β epics + codebase map (archived) |
| docs/archive/GITHUB_ISSUES_V2.1_VAULT.md | Archived v2.1.0 milestone β copy-paste GitHub issues + touchpoints |
| docs/V22_VAULT_SCHEMA.md | Spec v1 β canonical vault tree, truth vs derived index |
| docs/V22_FRONTMATTER_SCHEMA.md | Spec v1 β frontmatter types and required fields |
| docs/V22_VIEW_ENGINE.md | Spec v1 β views (table/list/board/timeline/feed) |
| docs/INDEXING_ENGINE.md | Derived .linkdown/index.db β schema, watcher, rebuild |
| docs/V21_VAULT_SCHEMA.md | Legacy vault tree (preβSpec v1) |
| docs/archive/legacy-v21/V21_FRONTMATTER_SCHEMA.md | Legacy frontmatter (preβSpec v1, archived) |
| docs/archive/legacy-v21/V21_CONTACTS_DB_SCHEMA.md | Legacy contacts.db schema (archived) |
| docs/archive/legacy-v21/V21_SYSTEM_RULES.md | Obsidian compatibility, tasks, build order (archived) |
Legacy filenames (redirect stubs): docs/THINKDOWN_ROADMAP.md, docs/PRODUCT_MODEL_V2.md.
Product split (v3.0+): Linkdown (public/free) = workspace/editor/local vault/LLM + basic GitHub publish. Linkdown-premium (private) = MCP runtime + structured-context workflows + task/contact handling + advanced connectors + advanced publishing. Syncdown = Apple sync, rules, operational UI. Shared layer = vault on disk (canonical markdown + derived index).
The Inkdown upstream project is currently in a paused maintenance state. Linkdown carries the lineage forward as a maintained fork.
| Mac | Windows | VS Code |
|---|---|---|
| Arm64 X64 | Arm64 X64 | Marketplace |
Links above point to upstream Inkdown builds for reference.
This repo includes a local-first sync scaffold at sync-engine/ (rules, scheduler, vault writes). Run from repo root:
npm run sync-engine:build
npm run sync-engine:start


