CubbyFlow AGENTS.md

Repository instructions for CubbyFlow, a C++ and optional CUDA engine for simulating fluids with grids, particles, and solvers. It also includes Python bindings and examples.

In plain words
What is it for?
Use them when changing the public C++ API, fluid algorithms, CUDA support, Python bindings, examples, or related tests.
Why use it?
They help keep matching two-dimensional and three-dimensional implementations, tests, and bindings consistent when the code changes.

Instructions file for CodexOpenCode

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/utilforever/cubbyflow/agents-md
Clone the repo
git clone --depth 1 https://github.com/utilForever/CubbyFlow

Made for: Codex, OpenCode.

Per session 4,114 This file is loaded in full into every session.
When invoked 4,114 The same file — it is already loaded in full.
Security scan A 0 findings. 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.04114 $0.04114
Opus 5 $0.02057 $0.02057
Sonnet 5 $0.00823 $0.00823
Haiku 4.5 $0.00411 $0.00411

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

Security

Grade A, and why

CubbyFlow 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 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.

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 · 305 lines

How it starts

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

AGENTS.md

Guidance for AI coding agents working in this repository. Humans should start with README.md; this file puts project-specific rules in the order an agent usually needs them.

What this repository is

CubbyFlow is a voxel-based fluid simulation engine with C++23 host code and optional C++17 CUDA device code. It is based on the Jet framework and contains:

  • CPU implementations of math, geometry, grids, particles, spatial search, level sets, pressure solvers, and fluid solvers.
  • Matching 2-D and 3-D APIs for most simulation domains.
  • An optional CUDA backend under Includes/Core/CUDA/ and Sources/Core/CUDA/.
  • A Python module named pyCubbyFlow, exposed through pybind11.
  • C++, CUDA, Python, manual, memory-performance, and time-performance tests.
  • Standalone simulation and conversion examples under Examples/.

The public C++ API lives under Includes/Core/; implementations live under Sources/Core/. Start there for almost every behavior change.

Golden rules

  1. Keep 2-D and 3-D behavior aligned. Most core algorithms, data structures, aliases, explicit template instantiations, bindings, and tests have dimensional counterparts. Check the sibling implementation before changing one side. Some geometry is inherently 3-D, so follow the existing domain rather than creating a meaningless counterpart.
  2. Keep the public API and Python-visible behavior in sync. When changing a public type, method, default, enum, or solver behavior, inspect Includes/API/Python/, Sources/API/Python/, Sources/API/Python/main.cpp, and Tests/PythonTests/.
  3. Fix shared behavior at the shared layer. Use rg to find every caller, override, binding, test, and dimensional specialization before editing. Avoid one-off guards in callers when the invariant belongs in a common base class or utility.
  4. Use existing patterns before adding code. Search the neighboring domain for templates, builders, aliases, numerical helpers, parallel loops, serialization code, and tests. Do not add a new abstraction or dependency when the repository already has the required shape.
  5. Use CMake targets as the source of truth. Read the root and nearest CMakeLists.txt before adding files, dependencies, compile definitions, or platform-specific behavior. Reconfigure CMake after adding source files; several targets use GLOB or GLOB_RECURSE without automatic reconfigure.
  6. Preserve C++23 portability. CI builds with GCC, Clang, and MSVC across Linux, macOS, and Windows. Avoid compiler extensions unless they are isolated behind existing CMake checks.
  7. Treat warnings as failures. CUBBYFLOW_WARNINGS_AS_ERRORS defaults to ON. Fix warnings in project code instead of suppressing them globally.
  8. Keep CUDA optional. CPU-only configurations must continue to work. CUDA-only code belongs in the existing CUDA directories and should not leak into ordinary builds without guards. Host code uses C++23; CUDA device code remains C++17 for the supported toolchains.
  9. Do not hand-edit generated files alone. FlatBuffers schemas live in Sources/Core/Flatbuffers/schema/ and checked-in generated headers live in Sources/Core/Flatbuffers/generated/. A schema change must update both; use the FlatBuffers version constrained by vcpkg.json.
  10. Run the smallest relevant check. Documentation-only changes need only document validation. Behavior changes need focused C++, Python, or CUDA coverage before broader validation.

Read the full file on GitHub · 305 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 · 305 lines · 4,114 tokens per session scan A bf24351853a6

Subscribe to this mod's changes

CubbyFlow AGENTS.md is an instructions file published in the GitHub repository utilForever/CubbyFlow (299 stars, last pushed 5d ago), licensed MIT. It adds 4,114 tokens to every session, about $0.0206 per session on Opus 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

Other instructions, from other repositories

compiler-explorer AGENTS.md

Instructions for compiler-explorer/compiler-explorer, covering agents.md, build & test commands, important workflow requirements, style guidelines and architecture guidelines.

compiler-explorer/compiler-explorer · 2,422 tokens

img2threejs CLAUDE.md

Claude Code instructions for img2threejs/img2threejs, covering shared project instructions, change rules, verification and mandatory visual screenshot gate.

img2threejs/img2threejs · 589 tokens

compiler-explorer copilot-instructions.md

Instructions for compiler-explorer/compiler-explorer: For each answer to the user, evaluate your level of confidence in the correctness of the answer on a scale from 1 to 10, where 1 is very uncertain and 10 is absolutely certain. If your confidence level is below 8, state so and suggest ways to verify the answer.

compiler-explorer/compiler-explorer · 60 tokens

rocketride-server AGENTS.md

Instructions for rocketride-org/rocketride-server, covering agents.md and co-located documentation rule.

rocketride-org/rocketride-server · 383 tokens

OpenGeometry AGENTS.md

Instructions for OpenGeometry-io/OpenGeometry, covering agents.md, 1. project identity, 2. architecture, runtime flow and build pipeline.

OpenGeometry-io/OpenGeometry · 4,855 tokens

flamerobin copilot-instructions.md

Instructions for mariuz/flamerobin, covering flamerobin — copilot instructions, build, run from build dir (sets up paths to resource subdirs), tests and or with verbose boost.test output.

mariuz/flamerobin · 1,376 tokens