Files
OpenROAD/AGENTS.md
minjae ee685d1702 fix: address PR review feedback on agent skills
- add-test: fix CMake example (add module name arg), fix Bazel example
  (use TESTS list + comprehension pattern), fix ./regression -R usage
- fix-bug: remove duplicated test instructions, reference add-test skill
  and docs/agents/testing.md instead
- review-pr: never post to GitHub (draft locally for human to review),
  support URL or bare PR number, remove unused headRefOid field
- AGENTS.md, .gemini: sync descriptions

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: minjae <develop.minjae@gmail.com>
2026-04-09 22:45:15 +09:00

1.9 KiB

OpenROAD - AI agent context

This file provides project-specific guidance for AI agent sessions working on the OpenROAD codebase.

Quick Reference

Detailed guides are in docs/agents/ subdirectory:

  • Build Pitfalls: See docs/agents/build.md
  • Testing Guide: See docs/agents/testing.md
  • Git & CI: See docs/agents/ci.md
  • Coding Patterns: See docs/agents/coding.md

Critical Rules

  1. Never modify src/sta/ files -- OpenSTA is managed upstream (Sdc.cc, Power.cc, Sdc.tcl, etc.). Only test files may be modified. All fixes must be in OpenROAD code (e.g., src/dbSta/, src/rsz/). If OpenSTA code change is inevitable, notify user. Exception: you may modify src/sta/ files temporarily for debugging purposes only.
  2. Run clang-format -i <files> for C++ files before commit. NEVER for src/sta/* and *.i files.
  3. Always use git commit -s for DCO compliance.
  4. When amending submodule commits, parent repo submodule reference must also be updated via git submodule update --init --recursive. It is needed after any merge/pull.
  5. Trace bugs upstream -- when a bug appears in output (e.g., Verilog), find the data creation point (e.g., buffer_ports, remove_buffers), not the serialization point (e.g., VerilogWriter).

AI Agent Skills

Skills are located in .agents/skills/ (with .claude/skills symlink for Claude Code).

Skill Purpose Invocation
triage-issue Reproduce bug and minimize test case with whittle.py /triage-issue <issue#>
fix-bug Trace root cause, implement fix, create tests, prepare commit /fix-bug <issue#-or-error-code>
add-test Add integration/unit tests with dual CMake+Bazel registration /add-test <module> [description]
review-pr Draft local PR review notes (correctness > QoR > testing); human posts /review-pr <pr#-or-url>