Repository navigation
Add initial AI AGENTS.md file - #254
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #254 +/- ##
=======================================
Coverage 81.91% 81.91%
=======================================
Files 24 24
Lines 1521 1521
=======================================
Hits 1246 1246
Misses 275 275 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Pull request overview
Adds initial repository guidance for AI coding assistants working on JetReconstruction.jl, aiming to standardize how assistants understand project structure, conventions, and common workflows.
Changes:
- Introduces
AGENTS.mdwith project overview, structure, conventions, and example usage. - Adds
CLAUDE.mdpointing Claude-based tooling to the shared agent guidance.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| AGENTS.md | New AI-assistant guidance document covering structure, conventions, examples, and commands. |
| CLAUDE.md | References the shared AGENTS.md guidance for Claude-oriented workflows. |
Comments suppressed due to low confidence (3)
AGENTS.md:9
- "@README.md" appears to be an accidental use of '@'. In Markdown, this won’t render as a link and could be misread by some AI tools; prefer a code-formatted filename or a proper link.
The @README.md of the project contains basic information.
AGENTS.md:26
- Spelling typos in this bullet ("pesudojets", "dissapearance") reduce clarity in an instruction file intended for automated parsing/reading.
- given the disappearance of two pesudojets and the creation of a new one (or the beam-merge, with one dissapearance) metric distances are updated
AGENTS.md:37
- The table column header "Julia XENUM Type" doesn’t correspond to anything in the codebase (no XEnums/XENUM usage found). This likely should just refer to the Julia enum/
JetAlgorithmvalue name.
| Algorithm | Julia XENUM Type | Notes |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
The intention here is to provide guidance to AI coding assistants on the way to understand and interact with the codebase.
Address review comment and shorten overly verbose parts
Corrections of factual errors found by checking every claim against the tree:
- Remove the "Type Parameters" section, which described type variables that do
not exist. `S` appears nowhere in src/ or ext/; `N` is the neighbouring-tile
count in `Surrounding{N}`, not a spacetime dimension; `T` is the internal
`T <: FourMomentum` jet type, not the user's input particle type. Replaced
with a description of the actual `FourMomentum` parametrisation.
- Fix directory name `benchmarks` -> `benchmark`.
- Fix `Package.toml` -> `Project.toml`, and note that every example
subdirectory, plus benchmark/, docs/ and compile/, is a separate environment.
- Fix the malformed "Running tests" code block.
- Note that standalone test runs need TestEnv.jl in the default environment,
as test/common.jl calls TestEnv.activate().
- Make the formatter guidance self-contained: include the shared-environment
bootstrap, the .JuliaFormatter.toml settings, the notebook exclusions, and
why v1 rather than v2 matters.
Additions covering things that were absent and cost time to rediscover:
- Aqua.test_all runs in CI, so a new dependency needs a matching [compat]
entry.
- New test files must be added to test/runtests.jl by hand.
- The compile/ directory and src/C_JetReconstruction/ C bindings, and the need
to keep them in step with public API changes.
- The julia = "1.10" compat floor, the CI matrix and the Downgrade workflow.
- Nested environments need Pkg.instantiate() on first use (verified: without
it examples/jetreco.jl fails with a misleading missing-package error).
- Substructure entry points are PseudoJet-only.
- The ext/ extension table.
- API reference pages are @autodocs, so new exports need no manual doc edit,
but new narrative pages must be added to docs/make.jl.
- BenchmarkTools is not in the main project, so @Btime does not resolve there.
- A pointer to docs/src/contributing.md as the authoritative contributor guide.
Removals:
- Blanket "use LoopVectorization.jl for hot loops" advice; it is used in
exactly one place and the hot loops use @inbounds/@simd.
- The duplicated and incorrect "memory profiling" command.
- The `@README.md` reference, which is a Claude-specific idiom in a
tool-agnostic file.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Review fully edits made by Claude and adjust
It was kind of weird getting Claude to review this too, but it did make some good suggestions! 🤖 |
The intention here is to provide guidance to AI coding assistants on the way to understand and interact with the codebase.
This can change and get updated, as we gain more experience with things, but this should be a useful start.