satus: Instructions file for Codex

AGENTS.md

satus AGENTS.md is an instructions file for Codex, OpenCode from darkroomengineering/satus. It costs 7,165 tokens per session, scanned A, original, MIT.

The main engineering rulebook for a Satus web application built with Next.js, React, TypeScript, Tailwind CSS, and Bun. It includes rules that automated checks enforce before code can pass.

In plain words
What is it for?
It helps agents understand the application stack, use the required tools, follow TypeScript and styling rules, and avoid changing managed documentation blocks that the development tools control.
Why use it?
It gives coding agents one reliable source for the project's technology choices and restrictions. Following it helps avoid changes that fail continuous integration, the automated build and test checks run for proposed code.

Instructions file for CodexOpenCode

Written for Codex and OpenCode: the file is AGENTS.md. Also seen: mentions CLAUDE.md; mentions Claude Code; mentions AGENTS.md.

This is darkroomengineering/satus's own configuration. It tells Codex and OpenCode how to work on satus 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 satus configures →

About the project

Satūs is a Next.js starter template for building content-driven websites with React, Tailwind CSS, TypeScript, and optional integrations such as WebGL, Sanity, Shopify, HubSpot, and Mailchimp. Developers use it as a starting point for creating and deploying sites, while the catalogue add-ons provide project-specific coding guidance and workflows.

darkroomengineering/satus · 1,013 stars · on GitHub · satus.darkroom.engineering

Reuse

Borrowing it

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

Made for: Codex, OpenCode.

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 satus AGENTS.md

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

Your own site · 80×15
<a href="https://agentmods.dev/instructions/darkroomengineering/satus/agents-md"><img src="https://agentmods.dev/badge/instructions/darkroomengineering/satus/agents-md.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 7,165 This file is loaded in full into every session.
When invoked 7,165 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.07165 $0.07165
Opus 5.5 $0.02866 $0.02866
Sonnet 5.5 $0.01433 $0.01433
Haiku 4.5 $0.00717 $0.00717

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

Security

Grade A, and why

satus AGENTS.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 8d 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.

AGENTS.md · 309 lines

How it starts

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

AGENTS.md - Satus Engineering Standards

This is the single source of truth for engineering standards in this repo. Claude Code, Codex, Cursor, and other AI tools read this file. .cursor/rules/ points here. Do not add a CLAUDE.md: while one exists, Claude Code skips loading this file.

This file changes only by deliberate review. When next dev detects an AI coding agent it appends a managed block here (an HTML comment fencing nextjs-agent-rules); agentRules: false in next.config.ts stops that. Keep it off. If the block appears, revert it and do not commit it. Do not include its opening marker in prose: Next searches for that exact string, and a match truncates everything below it on the next next dev run.


Stack

Layer Technology
Framework Next.js 16 (App Router, proxy.ts)
UI React 19.3 (React Compiler ON, no manual memoization)
Language TypeScript 7, strict: true
Styling Tailwind v4 (CSS-first) + CSS Modules
Runtime Bun
Linter / Formatter oxlint + oxfmt
Validation Zod
Animation Lenis, anime.js, Tempus
3D (optional) React Three Fiber, @react-three/drei

Enforced Rules (CI fails without these)

bun run check and CI enforce these rules; the pre-commit hook runs oxlint and tsc. Type-aware rules run only in lint:types, check, and CI because next build does not typecheck (ignoreBuildErrors is on).

oxlint rules

Rule What it catches Enforcer
typescript/no-explicit-any any types oxlint typescript
typescript/consistent-type-imports Missing import type for type-only imports oxlint typescript (.ts/.tsx)
typescript/consistent-type-exports Missing export type for type-only re-exports oxlint typescript, type-aware
nextjs/no-img-element Raw <img> tags; use @/components/ui/image for optimization and WebGL integration oxlint nextjs
react/forbid-elements Raw <a> tags; use @/components/ui/link for external detection, prefetching and consistent behavior oxlint react
eslint/no-restricted-imports ../../ imports (use @/ aliases), forwardRef (React 19 ref-as-prop), useMemo/useCallback/memo (React Compiler), hamo useMediaQuery (use useDeviceDetection or desktop-only/mobile-only markup), next/image (use @/components/ui/image) oxlint eslint
hamo/no-raw-layout-read getBoundingClientRect, offset*/client*/scroll* sizes, window.scrollY, getComputedStyle and other forced-layout reads; use hamo useRect, useWindowSize, useResizeObserver, or lenis.scroll because raw reads force layout on every scroll/frame tools/oxlint/hamo
hamo/no-raw-observer new ResizeObserver/IntersectionObserver, matchMedia, window resize/scroll listeners; use hamo, useDeviceDetection, or Lenis tools/oxlint/hamo
styling/no-class-string-variable Tailwind class lists stored in variables, cn() results, variant maps, or helper returns; write them in className, extract a component, or use the CSS module because stored lists travel across files and skip oxfmt sorting and IntelliSense tools/oxlint/styling
eslint/no-unused-vars Unused imports, variables and parameters oxlint eslint
react/jsx-key Missing key in list renders oxlint react (.tsx/.jsx)
jsx-a11y/alt-text Images without alt text oxlint jsx-a11y
react/button-has-type <button> without type oxlint react
react/no-danger-with-children XSS risk oxlint react
import/first Imports outside the top of a file oxlint import
react/rules-of-hooks Hooks called conditionally or outside components oxlint react
typescript/no-floating-promises Un-awaited promises oxlint typescript, type-aware
typescript/no-misused-promises Async functions passed where void is expected oxlint typescript, type-aware

Read the full file on GitHub · 309 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. 8d ago Changed · +10 tokens per session 57f496da6274
  2. 14d ago Changed · -90 lines · -1,621 tokens per session b101349afd68
  3. 15d ago Changed · +1 lines · +192 tokens per session 4047d5e9839a
  4. 18d ago Changed · +1 lines · +133 tokens per session 4e0ea81279c7
  5. 22d ago Changed · +2 lines · +207 tokens per session 8c7548155e7d
  6. 25d ago Changed · +6 lines · +492 tokens per session e67688549dda
  7. 28d ago Changed · +1 lines · +124 tokens per session 4f0b85505327
  8. 29d ago Changed · +7 lines · +491 tokens per session fe9b4f3cd2b5
  9. 1mo ago Changed · -13 tokens per session e747364e612a
  10. 1mo ago First seen · 381 lines · 7,150 tokens per session scan A 41dfefc6bee3

Subscribe to this mod's changes

satus AGENTS.md is an instructions file published in the GitHub repository darkroomengineering/satus (1,013 stars, last pushed 2d ago), licensed MIT. It adds 7,165 tokens to every session, about $0.0287 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

satus AGENTS.md compared with instructions from other repositories

satus AGENTS.md next to 6 instructions from other repositories
ModTypeStarsLast pushLicenceScanTokensWorks with
satus AGENTS.mddarkroomengineering/satusInstructions file1.0k2d agoMITA7,165Codex, OpenCode
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