Skip to content

Update AGENTS.md from init#28012

Open
yuslepukhin wants to merge 3 commits intomainfrom
yuslepukhin/AGENTS_addition
Open

Update AGENTS.md from init#28012
yuslepukhin wants to merge 3 commits intomainfrom
yuslepukhin/AGENTS_addition

Conversation

@yuslepukhin
Copy link
Copy Markdown
Member

Description

Purported improvments.

Motivation and Context

Share. Share.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates AGENTS.md to provide more onboarding guidance for building, extending (ops/kernels), and navigating ONNX Runtime documentation and tooling.

Changes:

  • Add a “Build prerequisites” section with baseline toolchain requirements.
  • Add high-level guidance for adding operators/kernels, EP responsibilities, and test directory layout.
  • Add tables for tool configuration and key documentation links.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread AGENTS.md Outdated
Comment thread AGENTS.md Outdated
@edgchen1
Copy link
Copy Markdown
Contributor

edgchen1 commented Apr 9, 2026

sharing a local Copilot's opinion:

do the changes make it easier for you to perform tasks in the repo?

Yes, meaningfully so. Here's a concrete breakdown of what helps and what's less impactful:

High value:

Test organization table — This is probably the single most useful addition. When asked to write or find tests, knowing providers/ has per-EP kernel tests vs. contrib_ops/ has contrib op tests vs. shared_lib/ has C API tests saves me multiple search steps.
Adding operators/kernels — The macro names (ONNX_OPERATOR_KERNEL_CLASS_NAME, etc.) and the pointer to the contrib kernel registration files give me a concrete pattern to follow. Without this, I'd have to search the codebase to discover the conventions, which is slow and error-prone.
Key Documentation table — When a user asks about, say, threading or the C API design, I can go straight to the right doc instead of searching docs blindly.

Moderate value:

Tool Configuration table — Knowing that lintrunner -a auto-fixes and which config files control which tools helps me when asked to lint or format. Though the /ort-lint skill already covers this in more detail.
Execution Providers — The pointer to IExecutionProvider and the key overrides (GetCapability, GetDataTransfer) gives me a starting point when working on EP-related tasks.

Lower value (for an agent):

Build prerequisites — I can discover CMake version requirements from CMakeLists.txt and Python version from setup.py. This section is more useful for human onboarding. That said, it does prevent me from giving wrong advice about minimum versions (assuming the Python version issue gets fixed).

What would help even more:

Guidance on which build preset/configuration to use for quick local iteration (e.g., minimal CPU-only debug build). The /ort-build skill likely covers this, but a quick pointer in AGENTS.md would help.
A note on where schema/op definitions live (e.g., contrib_ops for contrib op schemas) — the current text covers kernel registration but not schema registration, which is the other half of adding an op.

So net: the changes reduce the number of exploratory searches I need to do by ~30-40% for common tasks like "add a kernel," "find the right test directory," or "which doc covers X." That's a real improvement.

yuslepukhin and others added 2 commits April 14, 2026 11:11
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@yuslepukhin yuslepukhin enabled auto-merge (squash) April 14, 2026 19:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants