From 3c84f544334d97b670de1be61d4d8288604a1bfa Mon Sep 17 00:00:00 2001 From: Ankit Mahato Date: Tue, 3 Feb 2026 04:22:52 +0530 Subject: [PATCH] Update CONTRIBUTING.md --- CONTRIBUTING.md | 48 +++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 41 insertions(+), 7 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 5a1ff5aa..feaf6aca 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -2,7 +2,7 @@ We value your participation in this open source project. This page will give you a quick overview of how to get involved. -You can contribute to the project in any or all of the following ways: +You can contribute to the project in any or all of the following ways: - [Ask a question](https://github.com/foss42/apidash/discussions) - [Submit a bug report](https://github.com/foss42/apidash/issues/new/choose) @@ -28,7 +28,7 @@ You can contribute to the project in any or all of the following ways: - Leaving issues unassigned ensures that work can proceed without bottlenecks if someone goes inactive. - Open issues encourage community discussion and brainstorming. Prematurely assigning an issue can stifle input from others who might have better ideas or solutions. - As open-source work is often voluntary, and contributors' availability can change. Keeping issues unassigned allows anyone to step in if the original contributor becomes unavailable. -This also supports multiple contributors collaborating on larger or complex issues. + This also supports multiple contributors collaborating on larger or complex issues. ### I have not contributed to any open source project before. Will I get any guidance? @@ -39,12 +39,13 @@ In case you are new to the open source ecosystem, we would be more than happy to > PRs with precise changes (like adding a new test, resolving a bug/issue, adding a new feature) are always preferred over a single PR with a ton of file changes as they are easier to review and merge. We currently do not accept PRs that involve: + - Code refactoring without any new feature addition/existing issue resolution. - Bumping of dependency versions (SDKs, Packages). ### Resolving an existing issue / Adding a requested feature -You can find all existing issues [here](https://github.com/foss42/apidash/issues). A good place to start is to take a look at ["good first issues"](https://github.com/foss42/apidash/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22). +You can find all existing issues [here](https://github.com/foss42/apidash/issues). A good place to start is to take a look at ["good first issues"](https://github.com/foss42/apidash/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22). **Step 1** - Identify the issue you want to work on. **Step 2** - Comment on the issue so that we can discuss how to approach and solve the problem. @@ -60,7 +61,7 @@ You can find all existing issues [here](https://github.com/foss42/apidash/issues **Step 1** - Open an [issue](https://github.com/foss42/apidash/issues/new/choose) so that we can discuss on the new feature. **Step 2** - Fork the [`foss42/apidash`](https://github.com/foss42/apidash) repo to your account. -**Step 3** - Create a new branch in your fork and name it `add-feature-xyz`. +**Step 3** - Create a new branch in your fork and name it `add-feature-xyz`. **Step 4** - Run API Dash locally (More details [here](#how-to-run-api-dash-locally)). **Step 5** - Make the necessary code changes required to implement the feature in the branch. **Step 6** - Once the feature is implemented. Make sure you add the relevant tests in the `test` folder and run tests (More details [here](#how-to-run-tests)). @@ -70,11 +71,12 @@ You can find all existing issues [here](https://github.com/foss42/apidash/issues ### Adding a new test You can contribute by adding missing/new tests for: + - Widgets (`lib/widgets/`) - Models (`lib/models/`) - Utilities (`lib/utils/`) - Riverpod providers (`lib/providers/`) -- Code generation (`lib/codegen/`) +- Code generation (`lib/codegen/`) - Services (`lib/services/`). **Step 1** - Identify the test you want to add or improve. @@ -85,11 +87,11 @@ You can contribute by adding missing/new tests for: **Step 6** - [Open a Pull Request](https://help.github.com/articles/using-pull-requests/) with a clear title and description of the tests you are adding. **Step 7** - Wait for feedback and review. We will closely work with you on the Pull Request. -## General Instructions +## General Instructions ### What is the supported Flutter/Dart version? -This project supports the latest Dart 3 & Flutter version. If you are using older Flutter version that does not support Dart 3, you might get errors. +This project supports the latest Dart 3 & Flutter version. If you are using older Flutter version that does not support Dart 3, you might get errors. In case you are setting up Flutter for the first time, just go ahead and download the latest (Stable) SDK from the [Flutter SDK Archive](https://docs.flutter.dev/release/archive). Then proceed with the Flutter installation. @@ -106,3 +108,35 @@ Check out [here](https://github.com/foss42/apidash/blob/main/doc/dev_guide/testi ### How to add a new package to pubspec.yaml? Instead of copy pasting from pub.dev, it is recommended that you use `flutter pub add package_name` to add a new package to `pubspec.yaml`. You can read more [here](https://docs.flutter.dev/packages-and-plugins/using-packages#adding-a-package-dependency-to-an-app-using-flutter-pub-add). + +## AI Usage Policy + +We welcome the responsible use of AI tools (e.g., code assistants, LLMs, copilots) to improve productivity, learning, and developer experience. However, contributors are fully accountable for all submitted work. + +### Acceptable Use + +- AI tools may be used for **ideation, refactoring, debugging, new feature code generation, documentation, and test generation**. +- AI can assist in exploring, but must not replace understanding. + +### Contributor Responsibility + +- **You must understand the code you submit.** + Do not contribute AI-generated code you cannot explain, maintain, or debug. +- All contributions **must meet the same review bar as human-written code**. +- **You are responsible for correctness, security, performance, and maintainability**, regardless of how the code was produced. +- Ensure your contributions comply with our project's license. +- Do **not** submit AI-generated content that may: + - Reproduce copyrighted or proprietary code + - Violate third-party licenses + - Include text or code with unclear provenance +- When in doubt, rewrite the code in your own words or consult maintainers. +- Review AI-assisted code for: + - Hidden bugs or incorrect assumptions + - Security vulnerabilities + - Inconsistent style or architectural violations +- If a contribution is AI-assisted, **mentioning it in the PR description** is encouraged, especially for large or complex changes. +- You are prohibited from: + - Blindly copying AI output without review + - Using AI to bypass project guidelines, reviews, or contributor responsibilities + +> AI is a tool, not an author. Use it to move faster—but think, verify, and take ownership of what you ship.