Skip to content

Commit 36226bf

Browse files
chore: expand make target guidance in AGENTS.md
- Add step to checklist for picking make targets before raw uv commands - Add quick make command map for common workflows - Expand testing section with per-package targets and iteration tips - Add make verify-imports to useful commands - Refine quality gate with license header and check-all reminders Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent 70bfe62 commit 36226bf

File tree

1 file changed

+28
-4
lines changed

1 file changed

+28
-4
lines changed

AGENTS.md

Lines changed: 28 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,9 @@ Optimize for:
1616
1. Read this file and user request.
1717
2. Identify impacted layer(s): `config`, `engine`, `interface`, plugin package(s).
1818
3. Locate the execution path from public API to concrete implementation.
19-
4. Make minimal code changes with explicit type annotations.
20-
5. Run focused lint/tests for changed scope, then broaden only if needed.
19+
4. Pick `make` targets for install/check/test steps before using direct `uv` commands.
20+
5. Make minimal code changes with explicit type annotations.
21+
6. Run focused lint/tests for changed scope, then broaden only if needed.
2122

2223
## Architecture At A Glance
2324

@@ -94,6 +95,7 @@ flowchart TD
9495
- Keep lines `<= 120` chars.
9596
- Avoid vacuous comments; comment only non-obvious logic.
9697
- Prefer `make` targets over raw tool commands when a matching `Makefile` target exists.
98+
- Do not use raw `uv sync` for standard setup/install flows; use the corresponding `make install*` target.
9799
- Preserve or add NVIDIA SPDX headers in Python files:
98100

99101
```python
@@ -128,6 +130,21 @@ Rules:
128130

129131
## Testing and Validation Workflow
130132

133+
Use `make` targets by default. Use direct `uv run ...` only when no equivalent `make` target exists (for example, one
134+
specific test file during tight iteration).
135+
136+
Quick `make` command map:
137+
- Install baseline: `make install`
138+
- Install dev environment: `make install-dev`
139+
- Install with notebook deps: `make install-dev-notebooks`
140+
- Install with recipe deps: `make install-dev-recipes`
141+
- Lint + format checks: `make check-all`
142+
- Autofix checks: `make check-all-fix`
143+
- Package tests: `make test-config`, `make test-engine`, `make test-interface`
144+
- Full tests: `make test`
145+
- Coverage: `make coverage`
146+
- License headers: `make update-license-headers`
147+
131148
Preferred local flow:
132149

133150
```bash
@@ -137,7 +154,12 @@ make install-dev
137154
# lint + format
138155
make check-all
139156

140-
# targeted test during iteration
157+
# targeted package tests during iteration
158+
make test-config
159+
# or: make test-engine
160+
# or: make test-interface
161+
162+
# optional: one specific test file when needed
141163
uv run pytest path/to/test_file.py -v
142164

143165
# full test pass before large merge-ready change
@@ -153,6 +175,7 @@ make install-dev-recipes
153175
make check-all-fix
154176
make coverage
155177
make update-license-headers
178+
make verify-imports
156179
```
157180

158181
Command preference:
@@ -225,6 +248,7 @@ config_builder.add_column(
225248
## Quality Gate Before Hand-Off
226249

227250
- Changed behavior covered by tests or justified if not testable.
228-
- Ruff checks pass for modified files/scope.
251+
- If new Python files were added, `make update-license-headers` was run.
252+
- Ruff checks pass for modified files/scope (prefer `make check-all` or package-scoped checks).
229253
- No regressions in import style/type annotation rules.
230254
- User-facing behavior and tradeoffs explained clearly.

0 commit comments

Comments
 (0)