meridian: Instructions file for Claude Code

CLAUDE.md

meridian CLAUDE.md is an instructions file for Claude Code, Codex from Meridiona/meridian. It costs 14,431 tokens per session, scanned A, original, MIT.

Project instructions for Meridian, a Rust service that turns screen captures into app-based activity sessions and stores them in SQLite, a file-based database.

In plain words
What is it for?
They guide file headers, repository layout, builds, tests, linting, capture sources, and cautious changes to the daemon, dashboard, and MCP server.
Why use it?
They give coding agents the repository rules and safety context needed when changing software that handles real user data.

Instructions file for Claude CodeCodex

Written for Claude Code and Codex: SessionEnd hook event, but also reads ~/.codex or $CODEX_HOME. Also seen: reads .claude/ paths; mentions Claude Code; mentions Codex.

This is Meridiona/meridian's own configuration. It tells Claude Code and Codex how to work on meridian 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 meridian configures →

Needs its repository: it reads a path above its own folder, which exists only inside the repository. The line is `../../ui/out`; the build copies the tray popover into `out/popover/` and the main window loads.

Reuse

Borrowing it

Nothing to install: this file belongs to Meridiona/meridian. 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/Meridiona/meridian/main/CLAUDE.md
Clone the repo
git clone --depth 1 https://github.com/Meridiona/meridian

Made for: Claude Code, Codex.

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 meridian CLAUDE.md

README.md
[![agentmods](https://agentmods.dev/badge/instructions/meridiona/meridian/claude-md.svg)](https://agentmods.dev/instructions/meridiona/meridian/claude-md)
Your own site
<a href="https://agentmods.dev/instructions/meridiona/meridian/claude-md"><img src="https://agentmods.dev/badge/instructions/meridiona/meridian/claude-md.svg" alt="Measured on agentmods" height="20"></a>
Per session 14,431 This file is loaded in full into every session.
When invoked 14,431 The same file — it is already loaded in full.
Security scan A 0 findings. 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.14431 $0.14431
Opus 5 $0.07215 $0.07215
Sonnet 5 $0.02886 $0.02886
Haiku 4.5 $0.01443 $0.01443

Measured 9d ago against content hash 030536a77444, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-08, from the pricing page.

Security

Grade A, and why

meridian CLAUDE.md scanned grade A with 0 findings 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 9d 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.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

CLAUDE.md · 728 lines

How it starts

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

Meridian — Claude Code Instructions

Meridian is a single-process Rust daemon that normalises raw screen-capture frames into structured, app-based activity sessions stored in its own SQLite database at ~/.meridian/meridian.db. A Next.js dashboard and a TypeScript MCP server sit alongside the daemon. (Capture source: historically screenpipe's SQLite DB; since the Bucket-2 cutover on feat/in-process-capture the frames are produced in-process by the tray and the daemon reads meridian.db's own capture tables — see "Capture source — in-process" below.)


Hard Rules

  • Do what has been asked; nothing more, nothing less
  • Meridian has real users running it in production right now — this is not a sandbox, and a bug here can silently destroy someone's data. Weigh every change by its blast radius, not just whether it compiles and the existing tests pass: a change with even a small chance of corrupting data, losing a signed-in session, or crash-looping the daemon/tray must not ship until you've actually reasoned through the failure paths (concurrent writers, a process dying mid-operation, a network drop, an empty/malformed payload) and, where practical, written a test that would have caught it — "it built and the happy path worked" is not the bar. This is not hypothetical: a race where the tray held a meridian.db connection open across a daemon restart, with no WAL checkpoint on either side, shipped to production and left a real alpha tester (issue #851) with a database so corrupted that even raw SQLCipher page reads with the correct key failed — unrecoverable, days of tracked activity gone. Nothing in CI caught it; only live use did. When you're not sure a change is safe, say so and ask, rather than pushing it and hoping — "does it currently pass" and "is it actually safe" are different questions, and only the second one is the one that matters here.
  • NEVER create files unless absolutely necessary — prefer editing existing files
  • NEVER create documentation files unless explicitly requested
  • ALWAYS read a file before editing it
  • NEVER commit secrets, credentials, or .env files
  • Keep files under 500 lines; split when a file grows beyond that
  • Validate all input at system boundaries (config load, DB open, frame parsing)
  • NEVER run git reset, git push --force, or delete local code — other agents may be working on the codebase in parallel
  • NEVER merge a PR automatically — open/update PRs as needed, but leave the actual merge to a human reviewer
  • NEVER push directly to main or pre-main — always create a separate feature branch, commit there, and raise a PR to pre-main. All features, fixes, and other changes target pre-main (the staging branch), not main — only a maintainer opens the pre-main → main release PR, and only after everything on pre-main has been tested end-to-end on staging
  • ALWAYS use a separate branch per feature/fix — branch name format: type/short-description (e.g. feat/trello-oauth, fix/ui-disconnect)
  • In all user-facing app text — window titles, wizard/UI copy, button and menu labels, notification bodies, tray tooltips, any string the user reads — use a plain hyphen - only. NEVER an em-dash (), en-dash (), or double hyphen (--). Use it spaced (-) where a dash separates clauses. (This rule is about displayed strings; code comments and docs are exempt.)
  • Any publicly reachable service we deploy must authenticate every request, validate its origin, allowlist the paths it serves, and rate-limit — and it gets deleted the day its last caller does. "Authenticate" is separate from "validate the origin" on purpose: an origin check alone is a header a caller controls, and reading the two as one requirement is what permits an unauthenticated public service. An unauthenticated request must be rejected outright with a 401, and verifying that is currently a MANUAL stepscripts/deploy-gateway.sh only prints "should 401 without a Bearer token" as a reminder at the end of a deploy; it sends no request and fails on nothing, so a gateway that started answering 200 unauthenticated would deploy green. infra/hf-proxy (hf.meridiona.com) was an unauthenticated reverse proxy to huggingface.co. Its header carried a thoughtful SECURITY: block about cache-key poisoning and auth headers leaking into a shared cache; it never asked who may call this. When the MLX stack that used it was deleted it kept running with no callers and a public DNS record — and Cloudflare publishes every hostname to the Certificate Transparency logs the moment it issues the cert, so scanners find it whether or not you advertise it. It reached 173,088 requests in a day against a 100k/day account-wide cap and took meridiona.com down with Error 1027 for traffic the site did not generate. Assume every hostname you provision is public knowledge immediately.

Read the full file on GitHub · 728 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. 9d ago First seen · 728 lines · 14,431 tokens per session scan A 030536a77444

Subscribe to this mod's changes

meridian CLAUDE.md is an instructions file published in the GitHub repository Meridiona/meridian (331 stars, last pushed 3d ago), licensed MIT. It adds 14,431 tokens to every session, about $0.0722 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other instructions, from other repositories

next.js AGENTS.md

AGENTS.md instructions for vercel/next.js, covering next.js development guide, codebase structure, monorepo overview, core package: packages/next and other important packages.

vercel/next.js · 7,296 tokens

codex AGENTS.md

AGENTS.md instructions for openai/codex, covering rust/codex-rs, the codex-core crate, code review rules, crate api surface and model visible context.

openai/codex · 5,153 tokens

vscode buildNext.instructions.md

Working notes and architecture documentation for the new esbuild-based build system in build/next. Use when making changes to the new build pipeline (transpile/bundle commands, NLS plugin, source-map handling, resource copying, or self-hosting watch tasks).

microsoft/vscode · 6,785 tokens

vscode oss-third-party-notices.instructions.md

Instructions for microsoft/vscode, covering vs code oss third-party-notices pipeline, architecture, pipeline flow in ci, applying the notice (cutover) and fallback chain (never fail the build).

microsoft/vscode · 5,001 tokens

langchain AGENTS.md

AGENTS.md instructions for langchain-ai/langchain, covering global development guidelines for the langchain monorepo, corridor security analysis, project architecture and context, monorepo structure and development tools & commands.

langchain-ai/langchain · 4,469 tokens

spec-kit AGENTS.md

AGENTS.md instructions for github/spec-kit, covering agents.md, about spec kit and specify, quickstart — add a new integration in 5 steps, integration architecture and integrationmanifest — file tracking.

github/spec-kit · 7,104 tokens