# 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: - 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: (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 `//` holds `plan/tasks.md`, `architecture.md`, `patterns.md`, `roadmap.md`, `adr/`, `journal/.md`. - **Zero core code changes** — reuses `DEMARKUS_AUTH`, `/health`, ALPN negotiation, and CLI stdout redirection. See [plan](/plans/claude-code-plugin.md) 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.