diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 00000000..7e31e585 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,19 @@ +# AGENTS.md + +Read all developer instructions and contribution guidelines in @README.md. + +## Testing your changes + +When changing code in `pyairtable/`, follow these steps one at a time: + +1. `tox -e mypy` +2. `tox -e py314 -- $CHANGED_FILE $CORRESPONDING_TEST_FILE` +3. `tox -e coverage` +4. `make lint` +5. `make docs` +6. `make test` + +When changing code in `docs/`, follow these steps instead: + +1. `make docs` +2. `make lint` diff --git a/README.md b/README.md index 5d748c63..46b512d1 100644 --- a/README.md +++ b/README.md @@ -29,8 +29,14 @@ Everyone who has an idea or suggestion is welcome to contribute! As maintainers, If it's your first time working on this library, clone the repo, set up pre-commit hooks, and make sure you can run tests (and they pass). If that doesn't work out of the box, please check your local development environment before filing an issue. ```sh -% make setup -% make test +make setup +make test +``` + +For a quick test run (~15s after the environments are created) use: + +```sh +tox -e mypy && tox -e coverage ``` ### Reporting a bug @@ -50,8 +56,10 @@ Anyone who uses this library is welcome to [submit a pull request](https://githu 1. Public functions/methods have docstrings and type annotations. 2. New functionality is accompanied by clear, descriptive unit tests. -3. You can run `make test && make docs` successfully. -4. You have [signed your commits](https://docs.github.com/en/authentication/managing-commit-signature-verification/about-commit-signature-verification). +3. The library maintains 100% test coverage. +4. You can run `make test && make docs` successfully. +5. No backwards-incompatible changes (unless discussed in an existing issue). +6. You have [signed your commits](https://docs.github.com/en/authentication/managing-commit-signature-verification/about-commit-signature-verification). If you want to discuss an idea you're working on but haven't yet finished all of the above, please [open a draft pull request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests#draft-pull-requests). That will be a clear signal that you're not asking to merge your code (yet) and are just looking for discussion or feedback.