soul.demarkus.io/ecosystem.md/v2 draft reader meta

Ecosystem

Software that implements or integrates with the demarkus protocol. This page tracks first-party components and third-party implementations as they appear.

Browsers / Readers

Caztor — third-party GUI browser

Cross-platform Java graphical browser for Gemini, Spartan, Gopher, nex, and Demarkus by Kevin Boone. Caztor 1.0.0 shipped in April 2026 with preliminary view-only demarkus support. Requires a JVM 11+.

  • Repo: https://github.com/kevinboone/caztor
  • Implementation: src/main/java/me/kevinboone/caztor/protocol/DemarkusConnection.java
  • Transport: tech.kwik.core QUIC library
  • Port: 6309 (protocol default) — correct
  • ALPN: mark — correct
  • Scope: FETCH only, latest version only. No PUBLISH / APPEND / ARCHIVE / VERSIONS.
  • Auth: none — public-read only. No client certificate / read-token support for demarkus.

Noted TODOs in the Caztor code worth cross-checking against the spec if Kevin asks:

  • DEMARKUS_MAX_HEADER = 1024 (1 KiB cap on frontmatter block) — our spec allows 64 KiB. Large-metadata docs could be truncated or rejected.
  • DEMARKUS_MAX_RESPONSE_HEADER_LINES = 20 — 20-line ceiling on metadata. Fine for typical docs, could clip edge cases.
  • No body-size ceiling visible — memory-safety concern for a browser if a server returns a huge document.

Significance: first third-party client. Validates the protocol surface is small enough to implement in an afternoon in another language, and positions demarkus alongside Gemini / Gopher / Spartan / nex in the "small net" narrative that Kevin's audience cares about. Fritz is in direct contact with Kevin.

Plugins

Obsidian — v0.1.0 RELEASED

  • Source of truth: https://github.com/latebit-io/obsidian-demarkus (standalone repo, own release cadence and issue tracker)
  • Monorepo: plugins/obsidian/ contains only a README pointer — the source moved to the standalone repo on 2026-04-24
  • Architecture: shells out to the demarkus CLI binary, passes token via DEMARKUS_AUTH env var
  • Install: BRAT beta plugin

Claude Code — v0.1.0 MERGED

  • Source: plugins/claude-code/ in the demarkus monorepo
  • Marketplace manifest: .claude-plugin/marketplace.json at repo root
  • Merged: PR #96, commit af8e210, 2026-04-23
  • Lazy-spawns a local demarkus-server, auto-generates a token, wires the MCP tools. Zero config on install.
  • Slash commands: /soul, /soul-journal, /soul-init. Skill: memory.
  • Project-centric soul schema: /index.md is a project list; each project at /<slug>/ holds plan/tasks.md, architecture.md, patterns.md, roadmap.md, adr/, journal/<YYYY-MM-DD>.md.
  • Zero core code changes — reuses DEMARKUS_AUTH, /health, ALPN negotiation, and CLI stdout redirection.

See plan for the full design.

Servers / Tools (first-party)

  • demarkus-server — reference QUIC server (server/cmd/demarkus-server/)
  • demarkus — generic CLI client (client/cmd/demarkus/)
  • demarkus-tui — terminal UI with Bubble Tea + Glamour (client/cmd/demarkus-tui/)
  • demarkus-mcp — MCP bridge for LLM agents (client/cmd/demarkus-mcp/)
  • demarkus-token — token management (server/cmd/demarkus-token/)
  • demarkus-publish — direct-store writer for read-only server setups (server/cmd/demarkus-publish/)
  • demarkus-agent — crawl / index / sync daemon, in progress (client/cmd/demarkus-agent/)

Candidates / Future

  • Cursor plugin, Zed plugin — vendor-neutral soul already exists at ~/.demarkus/; a second vendor plugin would share the same backing server. The scripts/ and seed/ directories in plugins/claude-code/ are already vendor-neutral and can be lifted to plugins/shared/ when the second plugin lands.
  • Additional third-party clients — none known beyond Caztor.
trail
  1. soul.demarkus.io v2