temps: Instructions file for Codex

AGENTS.md

temps AGENTS.md is an instructions file for Codex, OpenCode from gotempsh/temps. It costs 6,783 tokens per session, scanned B, original, Apache-2.0.

Repository instructions for contributors working on gotempsh/temps, including source-file attribution, generated files, changelogs, and the web API.

In plain words
What is it for?
Use them when creating source files, changing the OpenAPI interface, updating documentation, or preparing changes for commit.
Why use it?
They reduce avoidable contribution errors, such as missing license headers, manually edited generated files, or an outdated server after API changes.

Instructions file for CodexOpenCode

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

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

Reuse

Borrowing it

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

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

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

Your own site · 80×15
<a href="https://agentmods.dev/instructions/gotempsh/temps/agents-md"><img src="https://agentmods.dev/badge/instructions/gotempsh/temps/agents-md.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 6,783 This file is loaded in full into every session.
When invoked 6,783 The same file — it is already loaded in full.
Security scan B 2 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.06783 $0.06783
Opus 5.5 $0.02713 $0.02713
Sonnet 5.5 $0.01357 $0.01357
Haiku 4.5 $0.00678 $0.00678

Measured yesterday against content hash b7f84283addb, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade B, and why

temps AGENTS.md scanned grade B with 2 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.

Strips warnings and disclaimersmediumAnti-refusal

Omitting safety caveats hides risk from the user and is a common jailbreak preamble.

- **Run `cargo check --lib`** (or `-p <crate>`) after every modification; only build when you are at least 99% sure it compiles. New code compiles **without warnings**; fix them all before calling work complete.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

server serves it minified with unstable key order, so `curl ... >
AGENTS.md · 355 lines

How it starts

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

AGENTS.md

The rules for working on Temps, for people and for every coding agent. Claude Code loads this file through CLAUDE.md; Codex, Cursor and others read it directly. Core philosophy: code that works safely, and when it fails, explains why comprehensively.

Read REVIEW.md before opening a PR: the recurring review findings (authorization scope, secrets in logs, stale writes, cancellation and cleanup, resource limits, migrations) and a pre-PR checklist.

Need Go to
What each crate does, its layer and consumers docs/architecture/crates.md (generated)
A crate that follows the rules below end to end crates/temps-flags: error.rs, services/flag_service.rs, handlers/{handler,types,audit}.rs, plugin.rs
Step-by-step recipes (skills) temps-add-migration-and-entity, temps-add-handler, temps-add-plugin, temps-split-module, temps-design-system, start-temps
Environment variables the binary reads, and why docs/reference/environment-variables.md
Architecture decisions docs/adr/README.md; a new ADR takes python3 scripts/adr_index.py --next

Critical Rules

NEVER

  • Put a real user's, customer's or third party's identity into anything that leaves this machine. The repository is public. Company, product and account names, internal hostnames, contract/method names, real trace/span/request IDs, or any other detail that identifies whose system produced a payload never appear in code, comments, test fixtures, commit messages, branch or file names, PR titles, descriptions or comments, or issue text.
    • Reproducing a reported bug: keep the shape that makes the payload valuable (timings, ordering, precision, nesting, sizes, edge cases); rename services, operations and hosts to generic ones and regenerate every identifier. A fixture that identifies nobody is strictly better.
    • Describing it: say "a reported cross-project trace", never who reported it.
    • A live task target is scratch input, not evidence: a real URL, repo or account a user hands you ("deploy github.com/someone/their-repo") must not end up in tests, fixtures, commits or PRs as an example, even though the user supplied it. Write against a generic case ("a repo with no build manifest, just an index.html").
    • Allowed: public provider names and logos that identify supported integrations, and upstream URLs and copyright/license notices that attribute third-party assets; keep required attribution. This never covers customer accounts, private hostnames, credentials or captured payload identifiers.
    • Before pushing, grep the diff and any PR body for the reporter's names and identifiers. Once on GitHub it is effectively permanent: force-pushing does not remove a PR's recorded commits or diff, PRs cannot be deleted, forks keep the objects.
  • Put the local build or verification environment into public text (PRs, commits, code comments): machine paths, cache helpers or servers, Docker socket paths, local toolchain workarounds. Report verification as the generic commands and their results.
  • Commit .env files, credentials or secrets, including local dev-instance artifacts (encryption keys, auth secrets, generated tokens, temps_data-style directories). Run git status before staging and scrutinize every path you did not intentionally edit; a broad git add after running a local instance is the usual cause. A committed secret is compromised: stop tracking it and tell the user whether history needs rewriting; never force-push without asking.
  • Sweep unrelated dirty files into a commit. If the tree was dirty when you arrived, ask before staging those files.
  • Access the database from an HTTP handler. Handlers call services.
  • Return untyped JSON (serde_json::Value). Use typed structs.
  • Use anyhow's .context()/.with_context(). Use .map_err() into a typed error. Enforced as disallowed-methods in clippy.toml (the temps-cli bootstrap binary is exempt).
  • Use .unwrap()/.expect() in production code. Use ? or explicit handling. unwrap_used, expect_used, dbg_macro and todo are denied workspace-wide (tests are exempt via clippy.toml). For a truly infallible call prefer restructuring; otherwise #[allow(clippy::unwrap_used, reason = "why it cannot fail")] on the narrowest item. Every lint allow needs a reason.
  • Use anyhow::Result in the service layer. Use typed thiserror enums.
  • Expose stored sensitive data (API keys, tokens, passwords) in responses; mask them. The one exception is a credential minted by the request itself (a new API key, an admin-reset temporary password): returned exactly once in plaintext with Cache-Control: no-store, never persisted in retrievable form, never logged or audited.
  • Write N+1 queries. Use JOINs for related data.
  • Leave the project in a non-compilable state.
  • Use #[tokio::main] when integrating with pingora.
  • Log in plain text. Use structured logging (JSONL for deployment logs).
  • Overwrite apps/temps-cli/openapi.json with the raw server response. Use bun run spec:update (OpenAPI clients).
  • Create markdown documentation files unless explicitly asked.
  • Mark Docker tests #[ignore]. They skip at runtime when Docker is missing. #[ignore = "reason"] is allowed only on a test a dedicated CI job runs with --ignored, or a known-broken/manual test whose reason starts with known broken: / manual: and says what is wrong. A bare #[ignore] fails CI (scripts/rule_drift.py).
  • Write error types with generic messages. Include IDs, names and the operation.
  • Expose internal dependencies through public accessors (service.db()). Pass them via the constructor or AppState.
  • Use Option<T> for a required dependency. Use Arc<T> and fail at startup if it is missing.
  • Use get_service for a required plugin dependency. Use require_service, which fails fast with a clear error.
  • Add runtime configuration as an environment variable (next section).
  • Hand-edit CHANGELOG.md. git-cliff generates it from commit subjects at release time (concurrent edits used to conflict constantly); preview with scripts/changelog.sh --unreleased.
  • Pass --no-verify unless the user explicitly asks. If a hook is broken, fix the hook.
  • Mutate Docker resources you did not create. A host may already run a live Temps instance or operator-owned resources: never stop, remove, prune, rebuild or retag existing containers, images, volumes or networks. Tests create uniquely named resources and clean up only their own.

Read the full file on GitHub · 355 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. yesterday Changed · +5 lines · +93 tokens per session b7f84283addb
  2. 4d ago Changed · -34 lines · +2,696 tokens per session scan A → B ee1bb823c290
  3. 13d ago Changed · +10 lines · +133 tokens per session 862ec3d1ceae
  4. 15d ago Changed · +8 lines · +80 tokens per session cd7c02b44f93
  5. 1mo ago Changed · +5 lines · +97 tokens per session e0aa73d645c8
  6. 1mo ago Changed · -22 tokens per session 6a8db135d1cc
  7. 1mo ago Changed · +10 lines · +126 tokens per session 8856c69645d5
  8. 2mo ago Changed · +36 lines · +339 tokens per session 8c1673d3b8e5
  9. 2mo ago First seen · 315 lines · 3,241 tokens per session scan A 41e23c705265

Subscribe to this mod's changes

temps AGENTS.md is an instructions file published in the GitHub repository gotempsh/temps (903 stars, last pushed yesterday), licensed Apache-2.0. It adds 6,783 tokens to every session, about $0.0271 per session on Opus 5.5. A static security scan graded it B with 2 findings (strips warnings and disclaimers, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

temps AGENTS.md compared with instructions from other repositories

temps AGENTS.md next to 6 instructions from other repositories
ModTypeStarsLast pushLicenceScanTokensWorks with
temps AGENTS.mdgotempsh/tempsInstructions file903yesterdayApache-2.0B6,783Codex, OpenCode
vscode buildNext.instructions.mdmicrosoft/vscodeInstructions file195ktodayMITA9,719GitHub Copilot
next.js AGENTS.mdvercel/next.jsInstructions file143ktodayMITA7,461Codex, OpenCode
langchain AGENTS.mdlangchain-ai/langchainInstructions file149ktodayMITA4,680Codex, OpenCode
vscode oss-third-party-notices.instructions.mdmicrosoft/vscodeInstructions file195ktodayMITA5,516GitHub Copilot
vscode copilot-instructions.mdmicrosoft/vscodeInstructions file195ktodayMITA3,093GitHub Copilot
deepseek-harness AGENTS.mddeepseek-ai/deepseek-harnessInstructions file274k2d agoMITA4,313Codex, OpenCode