commit 50890c19a060c5164f3f73d698b45cf8de898844
parent 8d3cf5ad0fa3ce2fc13442acf542952d9dd1b4dc
Author: alltheseas <64376233+alltheseas@users.noreply.github.com>
Date: Thu, 30 Oct 2025 16:19:12 -0500
AGENTS.md: add nevernesting requirement
AGENTS.md: add nevernesting requirement
Diffstat:
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/AGENTS.md b/AGENTS.md
@@ -95,13 +95,14 @@ This document captures the current architecture, coding conventions, and design
## Notedeck Coding Patterns
-1. Please make all commits logically distinct.
-2. Please make all commits standalone (i.e. so that they can be readily removed tens of commits later without impact the rest of the code).
-3. Related to logically distinct code, and standalone commits care must be taken for all code to be human readable, and reviewable by human developers.
-4. Please set up code for performance profiling utilizing puffin (e.g. `cargo run --release --features puffin`).
-5. Related to Puffin & performance profiling, for code suspected of impacting performance, carefully consider adding performance profiling attributes such as e.g. profiling::function in order to see functions performance in the profiler.
-6. Global variables are not allowed in this codebase, even if they are thread local. State should be managed in an struct that is passed in as reference.
-7. Inspect notedeck code for reusable components, elements, patterns etc. before creating new code for both A) notedeck updates, and B) apps built on notedeck.
+1. Please make all **commits logically distinct**.
+2. Please make all **commits standalone** (i.e. so that they can be readily removed tens of commits later without impact the rest of the code).
+3. Related to logically distinct code, and standalone commits care must be taken for all **code to be human readable, and reviewable by human developers**.
+4. Please set up code for **performance profiling utilizing puffin** (e.g. `cargo run --release --features puffin`).
+5. Related to **Puffin & performance profiling**, for code suspected of impacting performance, carefully consider adding performance profiling attributes such as e.g. profiling::function in order to see functions performance in the profiler.
+6. **Global variables are not allowed** in this codebase, even if they are thread local. State should be managed in an struct that is passed in as reference.
+7. **Inspect notedeck code for reusable components, elements, patterns** etc. before creating new code for both A) notedeck updates, and B) apps built on notedeck.
+8. **Nevernesting** — favor early returns and guard clauses over deeply nested conditionals; simplify control flow by exiting early instead of wrapping logic in multiple layers of `if` statements.