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.
npx agentmods add rules/maxgfr/conforme/generalgit clone --depth 1 https://github.com/maxgfr/conformeWhat 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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.02903 | $0.02903 |
| Opus 5 | $0.01452 | $0.01452 |
| Sonnet 5 | $0.00581 | $0.00581 |
| Haiku 4.5 | $0.00290 | $0.00290 |
Grade A, and why
general 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.
How it starts
The opening of the file, as written. The whole thing — 238 lines — stays where its author put it; the contents beside it link to each section on GitHub.
CLAUDE.md
Project overview
conforme is a Rust CLI that synchronizes AI coding agent configurations across 14 tools. It reads config from a source tool (Claude Code, Cursor, etc.) or AGENTS.md, and propagates to all other tool-specific config files.
Build & test
cargo build --release
cargo test
cargo clippy -- -D warnings # lint — MUST pass before pushing
cargo fmt -- --check # format check
conforme check # verify AI configs are in sync (dogfooding)
Architecture
src/
main.rs — Entry point, dispatches subcommands
cli.rs — CLI arg parsing (clap derive)
config.rs — NormalizedConfig, NormalizedRule, NormalizedSkill, NormalizedAgent, NormalizedMcpServer, ActivationMode
markdown.rs — AGENTS.md parser (sections → rules via ## Rule: headings)
frontmatter.rs — gray_matter wrapper for YAML frontmatter parsing/serialization
lib.rs — Library crate re-exports (adapters, config, etc.)
sync.rs — Core sync engine: init, sync, check, status, remove commands
detect.rs — Tool detection (which tools present in project)
hash.rs — SHA-256 content hashing for change detection
hook.rs — Git pre-commit hook install/uninstall (like Husky)
project_config.rs — .conformerc.toml parser (source, only, exclude, clean options)
validate.rs — Config validation (duplicate names, empty content, invalid globs)
watch.rs — File watcher for auto-sync (notify + debounce)
help_ai.rs — Detailed help about all supported tools and formats
mcp.rs — MCP config generation/parsing per tool:
- Codex: project `.codex/config.toml`, atomically merged with comment/settings preservation; strict safe parser — merge_codex_mcp_toml / parse_codex_mcp_toml
- Standard mcpServers: Claude, Kiro, Amazon Q, Cursor
- Roo Code: mcpServers, HTTP uses type "streamable-http" (not "http") — generate_roocode_mcp_json
- Continue.dev: mcpServers, HTTP uses type "streamable-http" (bare "http" is rejected) — generate_continue_mcp_json
- Claude .mcp.json parsing accepts http/https, sse, streamable-http, and ws transports (all mapped to the HTTP variant)
- Copilot: "servers" key (env + headers supported)
- Windsurf: mcpServers, no type field, serverUrl for HTTP
- OpenCode: "mcp" key merged into opencode.json, type local/remote, command as array, `environment` key
- Zed: "context_servers" key
- Gemini: mcpServers, no type field, httpUrl for HTTP
- Amp: "amp.mcpServers" key merged into .amp/settings.json — build_amp_mcp_object
- parse_mcp_json reads back mcpServers / servers / context_servers / amp.mcpServers
- OpenCode needs its own inverse (parse_opencode_mcp_object / parse_opencode_agent_object)
skills.rs — Skills (SKILL.md) and agents generation per tool; shared read helpers
(read_skills_from_dir, read_agents_from_dir, parse_frontmatter_tool_list)
used by adapters to round-trip skills/agents on read()
adapters/
mod.rs — AiToolAdapter trait + registry + shared write_if_changed
claude.rs — Claude Code: CLAUDE.md + .claude/rules/*.md (paths: frontmatter)
cursor.rs — Cursor: .cursor/rules/*.mdc (alwaysApply/globs/description); subagents at .cursor/agents/*.md
windsurf.rs — Windsurf: .devin/rules/*.md when .devin/ exists, else .windsurf/rules/*.md (trigger/description/globs)
copilot.rs — GitHub Copilot: .github/copilot-instructions.md (applyTo); skills at .github/skills/<name>/SKILL.md
codex.rs — OpenAI Codex CLI: reads AGENTS.md natively
opencode.rs — OpenCode: reads AGENTS.md natively
roocode.rs — Roo Code / Cline: .roo/rules/*.md (plain Markdown)
gemini.rs — Gemini CLI: GEMINI.md
continuedev.rs — Continue.dev: .continue/rules/*.md (name/globs/alwaysApply)
zed.rs — Zed AI: .rules file
amazonq.rs — Amazon Q: .amazonq/rules/*.md
kiro.rs — Kiro (AWS): .kiro/steering/*.md (inclusion/fileMatchPattern)
amp.rs — Amp (Sourcegraph): reads AGENTS.md natively
deepseek.rs — DeepSeek Harness (dsh): reads AGENTS.md natively; skills at .dsh/skills/<name>/SKILL.md
tests/
integration.rs — CLI integration tests (assert_cmd + tempfile)
roundtrip.rs — Write→read round-trip tests for every adapter (rules, skills, agents, MCP)
error_cases.rs — Edge cases, MCP sync, agents sync, activation modes
docs/
providers/ — One doc per supported tool with official URLs, config format, adapter notes
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.
- yesterday First seen · 238 lines · 2,903 tokens per session scan A c907baa0d2bf
general is a cursor rule published in the GitHub repository maxgfr/conforme (2 stars, last pushed 7d ago), licensed MIT. It adds 2,903 tokens to every session, about $0.0145 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-31.
Other cursor rules, from other repositories
cursor-project-rule
Project Spine operating contract for "Ledger API".
project-spine-apps-web
Project Spine scoped guidance for "apps/web".
project-spine-packages-ui
Project Spine scoped guidance for "packages/ui".
project
Core project context for ai-context-kit.
checklist
Before making ANY changes or implementing ANY new features.
nextjs-patterns
// ✅ Correct: Default to Server Components export default async function Page({ params }) { const data = await getData(); return ; }.