conjurings
conjurings are system-level instructions that shape how the agent approaches tasks. they're combined when you run conjure.
core
always included. defines fundamental behavior:
- smallest correct change, no drive-by refactors
- restate task, list files, implement in small steps
- run format + lint + tests
- ask before adding dependencies or changing public apis
- never print secrets
rust
rust-specific guidelines:
default commands:
- format:
cargo fmt - lint:
cargo clippy --all-targets --all-features -- -D warnings - test:
cargo test --all-features - build:
cargo build --all-features
rules:
- no unsafe without explicit rationale
- avoid new crates unless strong reason
- keep errors structured
- add tests for parsing/edge cases
python
python-specific guidelines:
default commands:
- format:
ruff format - lint:
ruff check - type:
mypy . - test:
pytest -q
rules:
- keep functions small
- add tests for boundary cases
- avoid widening public apis
- prefer explicit types at module boundaries
infra
infrastructure/devops guidelines:
- plan first: what changes, impact, rollback
- no production changes without explicit instruction
- least privilege everywhere (iam/rbac/security groups)
- avoid 0.0.0.0/0 unless explicitly required
- pin versions (providers, modules, images)
- include verification commands (terraform, kubectl, helm)
frontend
react frontend guidelines:
default commands:
- lint:
npm run lint - typecheck:
npm run typecheck - test:
npm test
rules:
- no
anyin TypeScript - no console.log in production
- accessibility required (labels, keyboard nav, focus states)
- keep components under ~100 lines
- use React Testing Library, test behavior not implementation
docs
documentation guidelines:
- know your audience before writing
- active voice, concrete examples, front-load important info
- structure: README (quick start), tutorials (teach by building), how-to (goal-oriented), reference (scannable)
- every code example must be correct, minimal, and self-contained
data
data engineering guidelines:
critical rules:
- always use parameterized queries (never string concatenation)
- no unreviewed SQL against production
- no DELETE/UPDATE/TRUNCATE on production without explicit approval
patterns:
- transactional DBs: use transactions, verify before COMMIT
- analytical DBs: prefer immutable patterns (new partitions, not updates)
- pipelines: idempotent, atomic, validated
sec
security-focused guidelines:
always do:
- identify trust boundaries + attacker-controlled inputs
- confirm authn/authz expectations
- check for secret leakage
- validate input early, fail closed, secure defaults
never do:
- weaken tls/crypto settings
- add debug logging of secrets
- introduce permissive wildcard policies
combining conjurings
conjurings are additive. order doesn't matter.
# rust project with security focus
familiar conjure codex rust sec
# python infrastructure tooling
familiar conjure claude python infra
# all conjurings
familiar conjure codex rust python infra sec