cs CLAUDE.md

Repository instructions for cs, a Go command-line code-search tool. The tool searches files using Boolean queries, regular expressions, fuzzy matching, and relevance ranking, and can run as a terminal app, web server, or MCP server.

In plain words
What is it for?
Use them when working on query parsing, file walking, search execution, ranking, the terminal interface, HTTP server, MCP server, or Go tests and linting.
Why use it?
They show where the search pipeline lives and provide the commands and conventions needed to change or test it safely.

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/boyter/cs/claude-md
Clone the repo
git clone --depth 1 https://github.com/boyter/cs
Per session 1,022 This file is loaded in full into every session.
When invoked 1,022 The same file — it is already loaded in full.
Security scan A 0 findings. 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.01022 $0.01022
Opus 5 $0.00511 $0.00511
Sonnet 5 $0.00204 $0.00204
Haiku 4.5 $0.00102 $0.00102

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

Security

Grade A, and why

cs 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 yesterday.

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 · 78 lines

How it starts

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

CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

Project Overview

cs (codespelunker) is a command-line code search tool written in Go. It searches files recursively using boolean queries, regex, and fuzzy matching, with relevance ranking (BM25/TF-IDF). Four modes: console output, interactive TUI, HTTP server, and MCP server.

Build & Test Commands

go build -o cs                        # Build binary
go test ./...                         # Run all tests
go test -v ./...                      # Verbose tests
go test -run TestPreParseQuery ./...  # Run a single test

Linting:

golangci-lint run --enable=gofmt ./...
gofmt -s -w -l .

Architecture

Root package main plus subpackages under pkg/. The search pipeline is orchestrated by DoSearch() in search.go:

FileWalker → [read + filter files] → AST query evaluation → matched FileJobs channel

Query Pipeline (pkg/search/)

Queries are parsed into an AST and evaluated against each file:

Lexer → Parser → Transformer → Planner → Executor
  • Lexer (lexer.go): tokenizes query string (terms, quotes, regex, operators, fuzzy markers)
  • Parser (parser.go): builds AST with boolean logic (AND/OR/NOT), quoted phrases, regex /pattern/, fuzzy ~1/~2
  • Transformer (transformer.go): semantic rewrites (e.g. complexity=high)
  • Planner (planner.go): query optimization
  • Executor (executor.go): evaluates AST against file content, returns match locations
  • Extractor (extractor.go): extracts matched terms for highlighting
  • AST (ast.go): AST node type definitions (AndNode, OrNode, NotNode, KeywordNode, PhraseNode, RegexNode, FuzzyNode, FilterNode)
  • Document (document.go): Document and SearchResult structs

See pkg/search/README.md for detailed query syntax documentation.

Core Root Files

  • main.go: Cobra CLI entry point. Routes to ConsoleSearch(), TUI (initialModel()), StartHttpServer(), or StartMcpServer() based on flags/args
  • config.go: Config struct with all CLI-configurable fields. DefaultConfig() provides sensible defaults
  • search.go: DoSearch() — orchestrates the full search pipeline: file walking, reading, binary/minified filtering, AST evaluation, and result streaming via channels. Uses SearchCache for prefix-based caching
  • console.go: ConsoleSearch() — collects results, ranks, and outputs in text/JSON/vimgrep format
  • tui.go: bubbletea TUI with lipgloss styling. Debounced search input, incremental result streaming, syntax-highlighted preview
  • http.go: HTTP server with embedded templates, search/display endpoints, theme support (dark/light/bare), custom template overrides
  • cache.go: SearchCache — LRU cache with TTL for query results; supports prefix matching for progressive refinement in TUI
  • syntax.go: Syntax highlighting with keyword tables for 80+ languages
  • language.go: Language detection via scc processor's language database
  • mcp.go: MCP (Model Context Protocol) server over stdio; exposes search as a tool for AI agents
  • templates.go: Template loading with //go:embed for built-in HTML templates; supports custom template paths

Read the full file on GitHub · 78 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. yesterday First seen · 78 lines · 1,022 tokens per session scan A a0d56afc0a09

Subscribe to this mod's changes

cs CLAUDE.md is an instructions file published in the GitHub repository boyter/cs (1,063 stars, last pushed 7d ago), licensed MIT. It adds 1,022 tokens to every session, about $0.0051 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.