sifter: Instructions file for Claude Code

CLAUDE.md

sifter CLAUDE.md is an instructions file for Claude Code from sifter-ai/sifter. It costs 1,349 tokens per session, scanned A, original, MIT.

Repository instructions for Sifter, an AI document-extraction system that turns collections of similar documents into structured fields stored in MongoDB. A monorepo is one repository containing several related packages, such as a backend, frontend, SDKs, CLI, and server.

In plain words
What is it for?
Use it when working on Sifter's Python backend, React frontend, Python or TypeScript SDKs, command-line tool, or MCP server, especially when running development and test commands.
Why use it?
It explains the repository layout, what Sifter does, and the commands needed to install dependencies, run services, and test the different packages.

Instructions file for Claude Code

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

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

Reuse

Borrowing it

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

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

README.md
[![agentmods](https://agentmods.dev/badge/instructions/sifter-ai/sifter/claude-md/github.svg)](https://agentmods.dev/instructions/sifter-ai/sifter/claude-md)
Your own site
<a href="https://agentmods.dev/instructions/sifter-ai/sifter/claude-md"><img src="https://agentmods.dev/badge/instructions/sifter-ai/sifter/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 sifter CLAUDE.md

Your own site · 80×15
<a href="https://agentmods.dev/instructions/sifter-ai/sifter/claude-md"><img src="https://agentmods.dev/badge/instructions/sifter-ai/sifter/claude-md.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 1,349 This file is loaded in full into every session.
When invoked 1,349 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.01349 $0.01349
Opus 5.5 $0.00540 $0.00540
Sonnet 5.5 $0.00270 $0.00270
Haiku 4.5 $0.00135 $0.00135

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

Security

Grade A, and why

sifter 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 1mo 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 · 118 lines

How it starts

The opening of the file, as written. The whole thing — 118 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.

What is Sifter

Sifter is an AI-powered document extraction engine. It takes homogeneous document collections (invoices, contracts, receipts) and extracts structured fields into MongoDB, making them queryable with natural language. It is not a RAG system — it generates exact MongoDB aggregation pipelines, not similarity-based results.

Monorepo Structure

All packages live under code/:

Package Path Language
Backend API code/server/ Python (FastAPI)
Frontend code/frontend/ TypeScript (React + Vite)
Python SDK code/sdk/ Python
TypeScript SDK code/sdk-ts/ TypeScript
CLI code/cli/ TypeScript (Commander.js)
MCP Server code/mcp/ Python

Commands

Tests and the production database. import litellm runs load_dotenv() at import time, so any .env next to the server is loaded into the environment of whatever process imports the app, tests included. A .env holding a remote MongoDB URI therefore points the whole test run at that cluster, and fixtures that call delete_many({}) destroy real data: this wiped the production database on 2026-09-12. Both suites now pin SIFTER_MONGODB_URI to localhost and SIFTER_MONGODB_DATABASE to sifter_test in tests/conftest.py, and abort the run if the resolved URI is not local. Keep production credentials in .env.production only, never in .env.

Backend (code/server/)

uv sync                        # install dependencies
uv run sifter-server           # start FastAPI on port 8000
uv run pytest                  # run all tests (requires MongoDB on localhost:27017)
uv run pytest tests/test_foo.py::test_bar  # run single test

Frontend (code/frontend/)

npm install
npm run dev          # Vite dev server on port 3000
npm run build
npm run lint         # ESLint
npx tsc --noEmit     # type check
npm test             # Vitest

Read the full file on GitHub · 118 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. 1mo ago Changed · +11 lines · +180 tokens per session dd3c323d802b
  2. 2mo ago First seen · 107 lines · 1,169 tokens per session scan A be4acbe13693

Subscribe to this mod's changes

sifter CLAUDE.md is an instructions file published in the GitHub repository sifter-ai/sifter (54 stars, last pushed 1mo ago), licensed MIT. It adds 1,349 tokens to every session, about $0.0054 per session on Opus 5.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

sifter CLAUDE.md compared with instructions from other repositories

sifter CLAUDE.md next to 6 instructions from other repositories
ModTypeStarsLast pushLicenceScanTokensWorks with
sifter CLAUDE.mdsifter-ai/sifterInstructions file541mo agoMITA1,349Claude Code
vscode buildNext.instructions.mdmicrosoft/vscodeInstructions file195kyesterdayMITA9,719GitHub Copilot
next.js AGENTS.mdvercel/next.jsInstructions file143ktodayMITA7,461Codex, OpenCode
langchain AGENTS.mdlangchain-ai/langchainInstructions file149kyesterdayMITA4,680Codex, OpenCode
vscode oss-third-party-notices.instructions.mdmicrosoft/vscodeInstructions file195kyesterdayMITA5,516GitHub Copilot
vscode copilot-instructions.mdmicrosoft/vscodeInstructions file195kyesterdayMITA3,093GitHub Copilot
deepseek-harness AGENTS.mddeepseek-ai/deepseek-harnessInstructions file274k2d agoMITA4,313Codex, OpenCode