vera: Instructions file for Claude Code

CLAUDE.md

vera CLAUDE.md is an instructions file for Claude Code from aallan/vera. It costs 7,958 tokens per session, scanned A, original, MIT.

Project instructions for coding agents working on Vera, a programming language that uses strict type checking, contracts, and explicit handling of effects. They explain the development environment, commands, project layout, and language rules.

In plain words
What is it for?
Installing development dependencies, checking and running Vera files, reading compiler diagnostics, and navigating the Vera codebase.
Why use it?
They reduce setup mistakes and help agents use the correct tools and checks when changing the compiler or Vera programs.

Instructions file for Claude Code

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

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

Reuse

Borrowing it

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

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

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

Your own site · 80×15
<a href="https://agentmods.dev/instructions/aallan/vera/claude-md"><img src="https://agentmods.dev/badge/instructions/aallan/vera/claude-md.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 7,958 This file is loaded in full into every session.
When invoked 7,958 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.07958 $0.07958
Opus 5.5 $0.03183 $0.03183
Sonnet 5.5 $0.01592 $0.01592
Haiku 4.5 $0.00796 $0.00796

Measured 6d ago against content hash 64e290de32ea, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

vera 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 6d 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.

Runs shell commandslowCapability

Expected in a hook, worth knowing in a rule or an instructions file.

- Text I/O MUST pass `encoding="utf-8"` explicitly, enforced by `scripts/check_explicit_encoding.py` (pre-commit + CI lint, #645): every text-mode `open()` / `read_text()` / `write_text()` **and** every `subprocess.run/P
CLAUDE.md · 263 lines

How it starts

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

CLAUDE.md — Project orientation for Claude Code

Vera is a programming language designed for LLMs to write. It has mandatory contracts, algebraic effects, typed slot references (@T.n), and compiles to WebAssembly. The reference compiler is written in Python.

Virtual environment

Always use the project venv. All commands below assume it is active:

source .venv/bin/activate

If the venv does not exist, create it first:

python -m venv .venv && source .venv/bin/activate && pip install -e ".[dev]"

If you prefer uv, use uv sync --extra dev (not plain uv sync). The [dev] extras group holds pytest, mypy, ruff, pre-commit, and pip-licenses; uv sync without --extra dev will quietly uninstall those and make pytest fall through to a non-venv copy that can't import vera.

Key commands

vera check file.vera              # Parse and type-check
vera check --json file.vera       # Type-check with JSON diagnostics
vera check --quiet file.vera      # Type-check, suppress success output
vera check --explain-slots file.vera  # Show slot resolution table (which @T.n maps to which param)
vera verify file.vera             # Type-check + verify contracts via Z3, then compile in
                                  #   process and check every Tier 3 claim against the
                                  #   checks the module holds (E541 claim with no check,
                                  #   W004 check with no record)
vera verify --json file.vera      # Verify with JSON diagnostics
vera verify --quiet file.vera     # Verify, suppress success output
vera verify --timeout-ms 60000 file.vera  # Per-query Z3 budget in ms (default 10000;
                                  #   env VERA_Z3_TIMEOUT_MS; raise it to tell a
                                  #   needs-more-time Tier 3 from a never one, #1350)
vera verify --no-reconcile file.vera  # Verify without compiling: no reconciliation
vera compile file.vera                    # Compile to .wasm binary
vera compile --wat file.vera              # Print WAT text (human-readable WASM)
vera compile --target browser file.vera   # Compile + emit browser bundle
vera compile --target wasi-p2 file.vera   # Emit a WASI Preview 2 component (IO+Random; #237)
vera run file.vera                # Compile and execute (calls main)
vera run file.vera --fn f -- 42   # Call function f with argument 42
vera run --target wasi-p2 file.vera  # Execute under the built-in WASI 0.2 host (spec/13-wasi.md)
vera compile --target wasi-p2 --world server file.vera  # wasi:http server component for `wasmtime serve` (spec §13.7)
vera serve file.vera              # Serve handle(Request -> Response) over HTTP (#305)
vera serve --port 8080 file.vera  # Serve on a specific port (default 8000)
vera test file.vera               # Contract-driven testing via Z3 + WASM
vera test --json file.vera        # Test with JSON output
vera test --trials 50 file.vera   # Limit trials per function (default 100)
vera test --distrust file.vera    # Also execute proved functions; a failed proved check refutes the proof (E703)
vera parse file.vera              # Print the parse tree
vera ast file.vera                # Print the typed AST
vera ast --json file.vera         # Print the AST as JSON
vera fmt file.vera                # Format to canonical form (stdout)
vera fmt --write file.vera        # Format in place
vera fmt --check file.vera        # Check if already canonical
vera lsp                          # Serve LSP over stdio (needs the [lsp] extra; see LSP_SERVER.md)
vera version                      # Print the installed version (also --version, -V)
vera builtins [--json]            # List the built-in function registry (no file needed)
vera effects [--json]             # List the effect and ability registry (no file needed)
vera errors [--json]              # List the diagnostic code registry (no file needed)

pytest tests/ -v                  # Run the test suite (see TESTING.md); each class-instrument matrix runs its sample
pytest tests/ -v --matrix=full    # The same, with every cell of every class-instrument matrix
VERA_JS_COVERAGE=1 pytest tests/test_browser.py -v  # Browser tests with JS coverage
VERA_EAGER_GC=1 vera run file.vera  # Force GC on every alloc (see ENVIRONMENT.md, debug knob for #593-class GC-rooting bugs)
VERA_DEBUG_HOST_ERRORS=1 vera run file.vera  # Re-raise a host callback's own exception (see ENVIRONMENT.md, debug knob for host-binding bugs)
mypy vera/                        # Type-check the compiler itself

python scripts/check_conformance.py    # Verify every conformance program (positives pass their level; negatives fail with their expected_error E-code)
python scripts/check_examples.py      # Verify every example parses + checks + verifies
python scripts/check_examples_run.py  # Run every runnable example trap-free under the native runtime; the rest carry a documented skip property, and an example that is neither is an error
python scripts/check_reconciliation.py # Reconcile every corpus program's runtime-check claims (`tier3`) with the checks its compiled module holds (the audit's T2a); fails on a mismatch outside its KNOWN allowlist, keyed by open issue, or on a KNOWN entry the join no longer reports
python scripts/check_corpus_canonical.py # Verify every corpus program is in canonical form (vera fmt)
python scripts/check_examples_readme.py # Verify vera run commands in examples/README.md
python scripts/check_doc_examples.py  # Verify every Vera block in the agent-facing docs (SKILL.md, README, FAQ, EXAMPLES.md, DE_BRUIJN.md, PYPI_README, spec/, docs/index.html + index.md) parses, passes vera check (no warning outside a named benign set) + vera verify, and prints what each vera:run marker says it prints — or carries a vera:skip marker naming the stage and codes it fails with; a block that exports a function names a vera:run invocation or a vera:no-run property; every `vera run examples/...` a doc names is run unless check_examples_run.py already runs it or skips that example by property; also fails when a tracked doc with Vera blocks is in neither DOC_GATES nor NOT_GATED (#1481)
python scripts/check_doc_examples.py SKILL.md  # The same gate, for the named documents only
python scripts/check_diagnostic_examples.py # Verify every vera:diagnostic-annotated ```text fence matches the live diagnostic it shows (#1291)
python scripts/check_doc_builtin_shadowing.py # Verify no doc example redefines a built-in (E151; #819)
python scripts/check_diagnostic_fields.py # Verify every diagnostic carries rationale + spec_ref (+ fix for errors; warnings exempt) or a # diag-fields-exempt reason — waives missing/unresolvable fields only, never a factually wrong spec_ref/error_code (#682)
python scripts/check_explicit_encoding.py # Verify every text-mode open()/read_text()/write_text() passes explicit encoding='utf-8' (#645)
python scripts/build_site.py          # Regenerate AI-readable site assets (llms.txt, etc.)
python scripts/check_site_assets.py   # Verify site assets are up-to-date + docs/index.html ↔ docs/index.md state coherent facts (#1154)
python scripts/render_status.py      # The release PR: write TESTING.md's generated status (where the counts live) from the tree
python scripts/check_doc_counts.py --release # The release PR: TESTING.md's generated status and every render_lists block are current (CI runs this mode on any change that raises [project].version, via --release-if-version-raised)
python scripts/render_lists.py --write  # Write the lists that have one source between their render_lists markers: the effect names from the registry into the editor grammars and extension READMEs, the limitation tables from limitations.json
python scripts/render_lists.py --check  # Name each render_lists block that is not what --write writes (the release check above runs it)
python scripts/check_doc_counts.py --check-bug-issues # The release PR: KNOWN_ISSUES' Bugs table against the open `bug` issues (GitHub API)
python scripts/check_corpus_differential.py --base-ref origin/main  # Compile the corpus at two revisions; report programs whose WAT moved (burndown instrument, not a hook)
python scripts/check_licenses.py      # Verify all package licenses are MIT-compatible
python scripts/check_wheel_availability.py # Verify every runtime dep has wheels for all supported platforms (README §Supported platforms)
python scripts/check_limitations_sync.py              # Verify limitations.json loads and the KNOWN_ISSUES.md and SKILL.md Bugs headings survive (offline)
python scripts/check_limitations_sync.py --check-states # Also verify every issue they cite is still open via GitHub API (limitations-sync.yml runs it weekly)

Read the full file on GitHub · 263 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. 6d ago Changed · +5 tokens per session 64e290de32ea
  2. 7d ago Changed · +86 tokens per session 27338becd1a1
  3. 14d ago Changed · +3 lines · +118 tokens per session a39e1da5be1d
  4. 15d ago Changed · +83 tokens per session 6dbfa1e53c30
  5. 16d ago Changed · +1 lines · +123 tokens per session fbd5e93253e2
  6. 23d ago Changed · +64 tokens per session 61e170a29cec
  7. 25d ago Changed · +1 lines · +309 tokens per session 4befc0987926
  8. 27d ago Changed · -1 lines · -700 tokens per session 04ecffa0ba55
  9. 28d ago Changed · +14 lines · +700 tokens per session 03acbd9d05d6
  10. 1mo ago First seen · 245 lines · 7,170 tokens per session scan A 74fdea5c8dc6

Subscribe to this mod's changes

vera CLAUDE.md is an instructions file published in the GitHub repository aallan/vera (420 stars, last pushed yesterday), licensed MIT. It adds 7,958 tokens to every session, about $0.0318 per session on Opus 5.5. A static security scan graded it A with 1 finding (runs shell commands). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

vera CLAUDE.md compared with instructions from other repositories

vera CLAUDE.md next to 6 instructions from other repositories
ModTypeStarsLast pushLicenceScanTokensWorks with
vera CLAUDE.mdaallan/veraInstructions file420yesterdayMITA7,958Claude 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