diff --git a/.coderabbit.yaml b/.coderabbit.yaml new file mode 100644 index 000000000..21d884dbe --- /dev/null +++ b/.coderabbit.yaml @@ -0,0 +1,12 @@ +# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json + +reviews: + request_changes_workflow: false + slop_detection: + enabled: true + +knowledge_base: + code_guidelines: + enabled: true + filePatterns: + - 'CONTRIBUTING.md' diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 7351a178e..33aee4290 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -5,7 +5,8 @@ ## ✅ Checklist - [ ] I have followed the steps in the [Contributing guide](https://github.com/TanStack/pacer/blob/main/CONTRIBUTING.md). -- [ ] I have tested this code locally with `pnpm run test:pr`. +- [ ] I have tested code changes locally with `pnpm run test:pr`, or these tests do not apply to this pull request. +- [ ] I fully understand the code in this pull request, including any code generated with AI assistance. ## 🚀 Release Impact diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 000000000..af9e35435 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,10 @@ +# Agent Instructions + +Before analyzing or changing this repository, read and follow +[`CONTRIBUTING.md`](./CONTRIBUTING.md). Its contribution, development, testing, +pull request, and changeset requirements apply to AI-assisted work as well as +human-authored work. + +Keep every change focused on one topic. Understand and verify all generated +code, run the required checks, and provide a concise pull request description +that follows the repository template. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 17da9a1e4..e0e048ebb 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -11,12 +11,22 @@ If you have questions about implementation details, help or support, then please ## Reporting Issues -If you have found what you think is a bug, please [file an issue](https://github.com/tanstack/pacer/issues/new). **PLEASE NOTE:** Issues that are identified as implementation questions or non-issues will be immediately closed and redirected to [Github Discussions](https://github.com/tanstack/pacer/discussions) +If you have found what you think is a bug, first search the [open and closed issues](https://github.com/TanStack/pacer/issues?q=is%3Aissue) to make sure it has not already been reported. If you cannot find an existing report, use the [bug report template](https://github.com/TanStack/pacer/issues/new?template=bug_report.yml). **PLEASE NOTE:** Issues that are identified as implementation questions or non-issues will be immediately closed and redirected to [Github Discussions](https://github.com/tanstack/pacer/discussions). ## Suggesting new features If you are here to suggest a feature, first create an issue if it does not already exist. From there, we will discuss use-cases for the feature and then finally discuss how it could be implemented. +## Pull Request Guidelines + +Every pull request must follow the [TanStack Pacer pull request template](.github/pull_request_template.md). Complete its description and checklist without removing or bypassing the required sections. + +- Search the [open and closed pull requests](https://github.com/TanStack/pacer/pulls?q=is%3Apr) before starting work to avoid duplicating an existing contribution. +- Keep each pull request focused on one change or topic. Pull requests that combine unrelated changes will be closed with a request to split them into separately reviewable contributions. +- Write a concise description that clearly explains what changed and why. Follow the sections in the pull request template; a long, unstructured description makes a contribution harder to review. +- You may use AI tools to help generate code, but you remain responsible for understanding, testing, and verifying every submitted change. Do not submit unreviewed, low-quality, or irrelevant generated code. +- Do not mass-submit unrelated or low-quality AI-generated pull requests. We treat that behavior as spam and may close the pull requests, block the contributor, and report the GitHub account. + ## Development Before proceeding with development, ensure you match one of the following criteria: @@ -40,7 +50,7 @@ Before proceeding with development, ensure you match one of the following criter - Build/watch for changes with `pnpm build`/`pnpm dev` - Document your changes in the appropriate documentation website markdown pages - Run `pnpm test` to ensure all tests pass before committing -- Create a changeset (changelog entry) for your changes by running `pnpm changeset` +- Every change that affects a published package must include a changeset. Create the changelog entry with `pnpm changeset`; documentation, CI, and development-only changes do not require one. - Commit your work and open a pull request - Submit PR for review