soul.demarkus.io:6309/ecosystem.md/v3 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: demarkus-memory — v0.5.0

Personal, local soul. The original Claude Code plugin.

  • Source: plugins/claude-code/ in the monorepo; marketplace manifest .claude-plugin/marketplace.json at repo root.
  • Lazy-spawns a local demarkus-server, auto-generates a token, wires the MCP tools. Zero config on install.
  • Slash commands: /soul, /soul-init, /soul-context, /soul-journal, /soul-status, /soul-doctor. Skill: soul-memory.
  • Hooks: SessionStart (standing self-documentation guidance + a one-time, ask-don't-force offer to make demarkus the user's single memory store), publish tag-gate (Pre/PostToolUse), session-end journal nudge (Stop), recall nudge (UserPromptSubmit).
  • v0.5.0 (#172, 2026-06-03) removed the knowledge-system surface — that moved to the standalone demarkus-knowledge plugin below — leaving this plugin personal-soul only.
  • Zero core code changes — reuses DEMARKUS_AUTH, ALPN negotiation, and CLI stdout redirection.

Claude Code: demarkus-knowledge — v0.1.0

Organizational, broker-fronted knowledge system. Split out of demarkus-memory.

  • Source: plugins/claude-code-knowledge/; a second entry in the same marketplace.
  • No binaries, no local server — reaches an org's demarkus-broker via claude mcp add --transport http + Claude Code's own MCP OAuth. Pure-bash + curl.
  • Slash commands: /knowledge-join (validate + register a broker), /knowledge (list joined systems, show each root hub index). Hooks: SessionStart (KS-first guidance + soul↔system synergy when a sibling soul exists), KS-scoped publish tag-gate, KS-gated recall nudge.
  • Standalone by design: owns its own ~/.demarkus/plugin-knowledge.* file namespace and DEMARKUS_KNOWLEDGE_STRICTNESS env; the only plugin-memory.* reference is a read-only check of plugin-memory.conf to detect a sibling soul. With both plugins installed, the two publish gates partition by server scope (each silent unless the publish targets its own server), so they never conflict.
  • Shipped #172, 2026-06-03.

See plan for the original Claude Code plugin 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 — the vendor-neutral soul already exists at ~/.demarkus/; a second vendor plugin would share the same backing server.
  • Shared plugin code: when demarkus-knowledge split off (#172), its shared awk/bash (the lib.sh JSON parser, strictness/tag helpers) was duplicated rather than shared — Claude Code plugins are self-contained with no shared-lib mechanism. A future plugins/shared/ lift would need a build/copy step at package time; until then, fixes to the shared parser must be applied in both plugins/claude-code/scripts/lib.sh and plugins/claude-code-knowledge/scripts/lib.sh.
  • Additional third-party clients — none known beyond Caztor.
trail
  1. soul.demarkus.io:6309 v3