aimx CLAUDE.md

Repository instructions for aimx, a self-hosted email server for AI agents written in Rust.

In plain words
What is it for?
Use them when changing aimx, running its tests or checks, building releases, installing it locally, or working on the verifier service.
Why use it?
They document how the project is built, tested, formatted, installed, and organized across its main and verifier components.

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/uzyn/aimx/claude-md
Clone the repo
git clone --depth 1 https://github.com/uzyn/aimx
Per session 5,420 This file is loaded in full into every session.
When invoked 5,420 The same file — it is already loaded in full.
Security scan B 1 finding. 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.05420 $0.05420
Opus 5 $0.02710 $0.02710
Sonnet 5 $0.01084 $0.01084
Haiku 4.5 $0.00542 $0.00542

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

Security

Grade B, and why

aimx CLAUDE.md scanned grade B 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 2d 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.

Asks for rootmediumPrivilege escalation

A mod that escalates privileges can change anything on the machine, not only the project.

cargo build --release && sudo cp target/release/aimx /usr/local/bin/
CLAUDE.md · 155 lines

How it starts

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

Self-hosted email for AI agents. One binary, one setup command. Built-in SMTP server handles inbound. Direct SMTP delivery for outbound. aimx handles everything: ingest to Markdown, DKIM signing, MCP server, hooks (on_receive / after_send). aimx serve is the SMTP daemon. All other commands are short-lived processes.

Build and test commands

# Build
cargo build
cargo build --release

# Install locally
cargo build --release && sudo cp target/release/aimx /usr/local/bin/

# Tests (all unit + integration)
cargo test

# Single test
cargo test test_name
cargo test -- --exact module::tests::test_name

# Lint
cargo clippy -- -D warnings
cargo fmt -- --check

# Format
cargo fmt

Verifier service (separate Rust crate)

cd services/verifier
cargo build
cargo test
cargo clippy -- -D warnings
cargo fmt -- --check

CI runs both crates independently (.github/workflows/ci.yml).

Test environment escape hatches

A handful of CLI gating points refuse to run as non-root in production. The test suite injects an opt-in to keep the post-gate code paths exercised under a non-root cargo test runner. Set this only from the test harness:

  • AIMX_TEST_SKIP_AUTHZ_CHECK=1 — bypasses the authorize() call (gating Action::HookCrud) in aimx hooks --cmd raw-shell paths so the rest of the command (config writes, fallback hints, error formatting) stays reachable without sudo. Read by src/hooks.rs only — mailbox CRUD authz is enforced server-side over UDS and never consults this env var. Production callers must never set this — it neutralizes the authz predicate by design.

Other test-only env vars are documented next to their read sites: AIMX_SANDBOX_FORCE_FALLBACK (force the non-systemd-run hook executor), AIMX_CONFIG_DIR / AIMX_DATA_DIR (redirect config + storage paths), AIMX_TEST_MAIL_DROP (use the file-drop transport instead of MX delivery), AIMX_INTEGRATION_SUDO=1 (opt the integration suite into the root-only MAILBOX-CRUD branch when the test runner has sudo).

Read the full file on GitHub · 155 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. 2d ago First seen · 155 lines · 5,420 tokens per session scan B d2a5631a3e7d

Subscribe to this mod's changes

aimx CLAUDE.md is an instructions file published in the GitHub repository uzyn/aimx (28 stars, last pushed 4d ago), licensed MIT. It adds 5,420 tokens to every session, about $0.0271 per session on Opus 5. A static security scan graded it B with 1 finding (asks for root). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.