mesh-browser: Instructions file for Claude Code

CLAUDE.md

mesh-browser CLAUDE.md is an instructions file for Claude Code from guyroyse/mesh-browser. It costs 4,477 tokens per session, scanned A, original, MIT.

Project instructions for MeshBrowser, an Electron desktop browser for decentralized networks. It currently uses Reticulum mesh networking and the custom rweb:// address scheme.

In plain words
What is it for?
Use them when developing the browser interface, protocol handlers, backend communication, process lifecycle, or support for future decentralized protocols.
Why use it?
They explain how the Electron interface, HTTP API, and Python networking backend fit together, reducing confusion when changing the application.

Instructions file for Claude Code

Written for Claude Code: the file is CLAUDE.md. Also seen: mentions CLAUDE.md.

This is guyroyse/mesh-browser's own configuration. It tells Claude Code how to work on mesh-browser itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything mesh-browser configures →

Reuse

Borrowing it

Nothing to install: this file belongs to guyroyse/mesh-browser. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/guyroyse/mesh-browser/main/CLAUDE.md
Clone the repo
git clone --depth 1 https://github.com/guyroyse/mesh-browser

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for mesh-browser CLAUDE.md

README.md
[![agentmods](https://agentmods.dev/badge/instructions/guyroyse/mesh-browser/claude-md/github.svg)](https://agentmods.dev/instructions/guyroyse/mesh-browser/claude-md)
Your own site
<a href="https://agentmods.dev/instructions/guyroyse/mesh-browser/claude-md"><img src="https://agentmods.dev/badge/instructions/guyroyse/mesh-browser/claude-md/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for mesh-browser CLAUDE.md

Your own site · 80×15
<a href="https://agentmods.dev/instructions/guyroyse/mesh-browser/claude-md"><img src="https://agentmods.dev/badge/instructions/guyroyse/mesh-browser/claude-md.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 4,477 This file is loaded in full into every session.
When invoked 4,477 The same file — it is already loaded in full.
Security scan A 1 finding. A grade says what 26 rules found in the file — not that it is safe.
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.1 $0.04477 $0.04477
Opus 5.5 $0.01791 $0.01791
Sonnet 5.5 $0.00895 $0.00895
Haiku 4.5 $0.00448 $0.00448

Measured 2mo ago against content hash 886e2819cd08, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

mesh-browser 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 2mo 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.

const { body, headers, statusCode } = await reticulumClient.fetch(target)
CLAUDE.md · 364 lines

How it starts

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

CLAUDE.md

AI assistant context for MeshBrowser development.

Project Overview

MeshBrowser is an Electron-based desktop browser for decentralized protocols. It currently speaks two Reticulum protocols: rweb:// (rserver pages) and nomadnet:// (Nomad Network pages, rendered from micron). Future protocols include IPFS and Hypercore.

Reticulum is spoken directly from the Electron main process using reticulum-js (@reticulum/core + @reticulum/node), attached to a locally running rnsd shared instance.

Key Goals:

  • Web-like browsing experience over mesh networks
  • Familiar browser interface (address bar, navigation, status indicators)
  • No per-site configuration - mesh routing is handled by rnsd
  • Extensible architecture for multiple decentralized protocols

Architecture

High-Level Design

Electron Main Process (reticulum-js) ↔ local socket ↔ rnsd

Single process, no sidecar. The rweb:// protocol handler calls the Reticulum client in-process; the client attaches to a running rnsd shared instance via LocalClientInterface, which is what actually owns the radios and TCP links.

  • Frontend: Electron with electron-vite and TypeScript, custom protocol handlers for rweb:// URLs
  • Networking: reticulum-js in the main process (@reticulum/node uses node:net, so it must never be imported from a renderer)
  • Transport: rnsd, which the user runs separately

File Structure

Top level is split by process, because that is the boundary that decides what can run at all: @reticulum/node uses node:net, so everything under main/ is unavailable to a renderer. Feature folders live one level down.

src/
├── main/                        # Electron main process (Node)
│   ├── main.ts                 # App entry, lifecycle, shutdown ordering
│   ├── config.ts               # Tunable settings (future config-file home)
│   ├── html.ts                 # escapeHtml + the shared transport-failure page
│   ├── theme.ts                # Content-view colours mirroring theme.css
│   ├── lifecycle.ts            # Startable / Stoppable / Lifecycle contracts
│   ├── paths.ts                # Renderer URLs, preload + icon paths (environment-derived)
│   ├── windows.ts              # Window/view creation, IPC handlers, view events
│   ├── protocols/               # Protocol layer: schemes, clients, handlers
│   │   ├── protocols.ts        # Three lifecycle phases; owns the stack and clients
│   │   ├── rweb.ts             # rweb:// scheme and handler factory
│   │   └── nomadnet.ts         # nomadnet:// scheme, handler, micron render pipeline
│   └── reticulum/               # Reticulum networking
│       ├── stack.ts            # The single Reticulum instance + lifecycle
│       ├── destination.ts      # Path discovery, Destination, configured links
│       ├── destination-hash.ts # Destination hash validation (pure)
│       ├── async.ts            # Semaphore, deadline helpers (no RNS dependency)
│       ├── bz2.ts              # bz2 codec injected into links
│       ├── rserver/            # The rserver protocol
│       │   ├── client.ts       # Fetch orchestration over pooled links
│       │   ├── link-pool.ts    # One-request-per-link pool (see §3)
│       │   ├── rserver.ts      # The rserver request/response wire protocol
│       │   ├── url.ts          # rweb:// URL parsing (pure)
│       │   └── response.ts     # HTTP-like response parsing (pure)
│       └── nomadnet/           # The NomadNet protocol
│           ├── client.ts       # Fetch orchestration; returns micron source
│           ├── node-link.ts    # One warm link per node, many requests (see §3)
│           ├── url.ts          # nomadnet:// URL parsing (pure)
│           └── micron/         # Micron markup -> HTML (pure, no network)
│               ├── parse.ts        # Source -> block tree (state machine)
│               ├── link-target.ts  # Micron link targets -> URLs
│               ├── render.ts       # Block tree -> HTML fragment
│               └── page.ts         # Fragment -> document (CSP + stylesheet)
├── preload/
│   └── preload.ts              # Context bridge for renderer ↔ main IPC (built as CJS)
├── renderer/                    # Browser chrome only - NOT the browsed page
│   ├── navigation/             # Address bar + nav buttons
│   ├── status/                 # Status indicators
│   ├── shared/                 # Common styles, assets
│   └── types/
│       └── window.d.ts         # BrowserAPI type declarations
├── shared/
│   └── ipc.ts                  # main ↔ renderer message contract (types only)
└── types/
    └── seek-bzip.d.ts          # Ambient types for seek-bzip, which ships none

Read the full file on GitHub · 364 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. 2mo ago Changed · +99 lines · +1,393 tokens per session 886e2819cd08
  2. 2mo ago Changed · +91 lines · +1,522 tokens per session scan B → A da365ad87e7c
  3. 2mo ago First seen · 174 lines · 1,562 tokens per session scan B 3486e2dd4cd4

Subscribe to this mod's changes

mesh-browser CLAUDE.md is an instructions file published in the GitHub repository guyroyse/mesh-browser (19 stars, last pushed 2mo ago), licensed MIT. It adds 4,477 tokens to every session, about $0.0179 per session on Opus 5.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.

Related

mesh-browser CLAUDE.md compared with instructions from other repositories

mesh-browser CLAUDE.md next to 6 instructions from other repositories
ModTypeStarsLast pushLicenceScanTokensWorks with
mesh-browser CLAUDE.mdguyroyse/mesh-browserInstructions file192mo agoMITA4,477Claude Code
vscode buildNext.instructions.mdmicrosoft/vscodeInstructions file195ktodayMITA9,719GitHub Copilot
next.js AGENTS.mdvercel/next.jsInstructions file143ktodayMITA7,461Codex, OpenCode
vscode oss-third-party-notices.instructions.mdmicrosoft/vscodeInstructions file195ktodayMITA5,685GitHub Copilot
langchain AGENTS.mdlangchain-ai/langchainInstructions file149ktodayMITA4,680Codex, OpenCode
vscode copilot-instructions.mdmicrosoft/vscodeInstructions file195ktodayMITA3,093GitHub Copilot
vscode model-prompts.instructions.mdmicrosoft/vscodeInstructions file195ktodayMITA2,022GitHub Copilot