docs: Improve getting started and testing guides for humans and agents#20970
docs: Improve getting started and testing guides for humans and agents#20970alamb wants to merge 6 commits intoapache:mainfrom
Conversation
| ## Windows setup | ||
| ## Quick Start | ||
|
|
||
| For the fastest path to a working local environment, follow these steps |
There was a problem hiding this comment.
I pulled most of this out of agents.md and left a link there instead
| Alternatively a binary release can be downloaded from the [Release Page](https://github.com/protocolbuffers/protobuf/releases) or [built from source](https://github.com/protocolbuffers/protobuf/blob/main/src/README.md). | ||
|
|
||
| ## Bootstrap environment | ||
| ## Bootstrap Environment |
There was a problem hiding this comment.
Made heading consistent.
| DataFusion has support for [dev containers](https://containers.dev/) which may be used for | ||
| developing DataFusion in an isolated environment either locally or remote if desired. Using dev containers for developing | ||
| DataFusion is not a requirement by any means but is available for those where doing local development could be tricky | ||
| DataFusion is not a requirement but is available where doing local development could be tricky |
There was a problem hiding this comment.
drive by cleanup to make this more concise
| is not accidentally broken during refactorings. All new features | ||
| should have test coverage and the entire test suite is run as part of CI. | ||
|
|
||
| ## Testing Quick Start |
There was a problem hiding this comment.
THis is based on what started in AGENTS.md but I made it slightly easier to understand
AGENTS.md
Outdated
| - `cargo clippy` catches common mistakes and enforces idiomatic Rust patterns. All warnings must be resolved (treated as errors via `-D warnings`). | ||
|
|
||
| Do not commit code that fails either of these checks. | ||
| See [Before Submitting a PR](docs/source/contributor-guide/index.md#before-submitting-a-pr) |
There was a problem hiding this comment.
moved and expanded content
There was a problem hiding this comment.
My experience is agents will read the .md file on start, but will not always go read all the materials linked - still helps because they are found by grep etc. tools.
So to make sure they read things like cargo fmt you'll have to put it in the AGENTS.md
There was a problem hiding this comment.
Perhaps keep the duplication for now?
There was a problem hiding this comment.
Or perhaps we can try to verify this works (or be more explicit it must read docs/source/contributor-guide/index.md#before-submitting-a-pr before PRing.
AGENTS.md
Outdated
|
|
||
| Do not commit code that fails either of these checks. | ||
| See [Before Submitting a PR](docs/source/contributor-guide/index.md#before-submitting-a-pr) | ||
| for the required formatting and lint checks. |
There was a problem hiding this comment.
Perhaps also link the PR template before creating a PR?
https://github.com/apache/datafusion/blob/main/.github/pull_request_template.md
adriangb
left a comment
There was a problem hiding this comment.
Overall looks great! It's always a bit hard to see how agents will react to these instructions. I see Daniel left some feedback, we can address before merging but can also merge and tweak based on reports of real world results / things that agents seem to get wrong repeatedly.
2010YOUY01
left a comment
There was a problem hiding this comment.
Thank you, good to see an AGENTS.md! Also left some small suggestions.
| Then, run the `sqllogictest` suite, which is the main regression suite for SQL | ||
| behavior and covers most DataFusion features. |
There was a problem hiding this comment.
| Then, run the `sqllogictest` suite, which is the main regression suite for SQL | |
| behavior and covers most DataFusion features. | |
| Then, run the `sqllogictest` suite, which provides a strong speed–coverage tradeoff for development: it runs quickly while offering broad regression coverage across most SQL behavior in DataFusion. |
| ./ci/scripts/rust_fmt.sh | ||
| ./ci/scripts/rust_clippy.sh |
There was a problem hiding this comment.
| ./ci/scripts/rust_fmt.sh | |
| ./ci/scripts/rust_clippy.sh | |
| ./dev/rust_lint.sh | |
| # use the `--write` flag to automatically fix some formatting and lint errors | |
| # ./dev/rust_lint.sh --write --allow-dirty |
This script is the entry point for all non-functional tests. It includes the previous two scripts as well as several others.
Which issue does this PR close?
Rationale for this change
This PR is a follow-up to #20939 from @Dandandan.
The goal is to make it easier for both humans and agents to get started making changes in this repository and to create pull requests efficiently.
The repository already had the necessary contributor information, but it was spread across multiple documents and not easy to discover quickly.
What changes are included in this PR?
This PR makes the most important setup, testing, and pre-PR checks easier to find from the contributor guide and from
AGENTS.md:AGENTS.mdto point to the canonical contributor guide sections instead of duplicating setup and testing instructions.Are these changes tested?
This PR updates documentation only.
Are there any user-facing changes?
This improves contributor-facing documentation and makes setup / testing guidance easier to discover, but it does not change DataFusion runtime behavior or public APIs.