harnss CLAUDE.md

A project instruction file for Harnss, an open-source desktop client for the Agent Client Protocol. It documents the project's technology choices, structure, and architecture.

In plain words
What is it for?
Use it when working on Harnss, including its Electron desktop application, React interface, TypeScript code, tests, styling, and agent-session features.
Why use it?
It gives coding agents the project-specific context needed to work consistently in a codebase they do not already know.

Instructions file

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add instructions/opensource03/harnss/claude-md
Clone the repo
git clone --depth 1 https://github.com/OpenSource03/harnss
Per session 16,923 This file is loaded in full into every session.
When invoked 16,923 The same file — it is already loaded in full.
Security scan A 1 finding. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.16923 $0.16923
Opus 5 $0.08461 $0.08461
Sonnet 5 $0.03385 $0.03385
Haiku 4.5 $0.01692 $0.01692

Measured 2d ago against content hash da5b8ca41d32, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

harnss CLAUDE.md scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

- `git:push(cwd)` / `git:pull(cwd)` / `git:fetch(cwd)` — remote sync
CLAUDE.md · 858 lines

How it starts

The opening of the file, as written. The whole thing — 858 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Harnss

Open-source desktop client for the Agent Client Protocol. Uses the @anthropic-ai/claude-agent-sdk to programmatically manage Claude sessions via query(). Supports multiple concurrent sessions with persistent chat history, project workspaces, background agents, tool permissions, and context compaction.

Tech Stack

  • Runtime: Electron 40 (main process) + React 19 (renderer)
  • Build: Vite 7, TypeScript 5.9, tsup (electron TS→JS), electron-builder (cross-platform packaging)
  • Testing: vitest (unit tests for hooks, lib utilities, and electron modules; config: vitest.config.electron.ts)
  • Styling: Tailwind CSS v4 + ShadCN UI (includes Preflight — no CSS resets needed)
  • UI Components: ShadCN (Button, Badge, ScrollArea, Tooltip, Collapsible, Separator, DropdownMenu, Avatar)
  • Icons: lucide-react
  • Markdown: react-markdown + remark-gfm + react-syntax-highlighter + @tailwindcss/typography
  • Diff: diff (word-level diff rendering)
  • Glass effect: electron-liquid-glass (macOS Tahoe+ transparency)
  • Claude SDK: @anthropic-ai/claude-agent-sdk (ESM-only, async-imported from CommonJS)
  • ACP SDK: @agentclientprotocol/sdk (Agent Client Protocol client — ACP sessions use ClientSideConnection)
  • Terminal: node-pty (main process) + @xterm/xterm + @xterm/addon-fit (renderer)
  • Browser: Electron <webview> tag (requires webviewTag: true in webPreferences)
  • Virtualization: @tanstack/react-virtual (chat message windowing)
  • State management: zustand (settings store, localStorage wrapper)
  • Animation: motion (v12, formerly framer-motion)
  • Canvas/Annotations: react-konva + konva (image annotation editor)
  • Diagrams: mermaid (MermaidDiagram.tsx)
  • Code editor: @monaco-editor/react (Monaco VS Code editor integration)
  • Voice: @huggingface/transformers (Whisper speech-to-text, lazy-loaded)
  • Notifications: sonner (toast notifications)
  • MCP protocol: @modelcontextprotocol/sdk (MCP client SDK for server integration)
  • HTML sanitization: dompurify (sanitize HTML before rendering)
  • Syntax highlighting: refractor (Prism via refractor, used by syntax-highlight.tsx)
  • Context menus: electron-context-menu (right-click context menus in Electron)
  • Auto-updater: electron-updater (managed binary auto-update infrastructure)
  • UI primitives: radix-ui (direct Radix primitive usage, separate from ShadCN)
  • Package manager: pnpm
  • Path aliases: @/./src/, @shared/./shared/

Read the full file on GitHub · 858 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 858 lines · 16,923 tokens per session scan A da5b8ca41d32

Subscribe to this mod's changes

harnss CLAUDE.md is an instructions file published in the GitHub repository OpenSource03/harnss (362 stars, last pushed 23d ago), licensed MIT. It adds 16,923 tokens to every session, about $0.0846 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.