Skip to content

Commit b5d442d

Browse files
committed
Added Working with AI section
- updated version numbers - reworded parts for clarity
1 parent 08cf843 commit b5d442d

1 file changed

Lines changed: 53 additions & 14 deletions

File tree

CONTRIBUTING.md

Lines changed: 53 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22

33
## Tools required
44

5-
- Python 3.8.x to 3.12.x (3.10.x is highly recommended and 3.13 or greater is proscribed).
6-
- Pycharm or Visual Studio code IDE are recommended but if you're happy with VIM, enjoy it!
5+
- Python 3.10.x to 3.13.x (3.13.x is highly recommended). Using any version 3.14 or greater is not allowed as it might break backward compatibility with the libraries we use.
6+
- Pycharm or Visual Studio Code are recommended IDEs but if you're happy with VIM, enjoy it!
77
- Git.
8-
- UI testing must be done using Chrome latest version.
8+
- UI testing must be done using the latest versions of Chrome and Firefox.
99

1010
## Development Setup
1111

@@ -26,7 +26,7 @@ API calls to your existing instance.
2626
**Prerequisites:** Node.js 20.x
2727

2828
1. Create `frontend/.env.local` (this file is gitignored):
29-
29+
3030
```
3131
VITE_PROXY_URL=http://<your-bazarr-host>:<port>
3232
VITE_PROXY_SECURE=false
@@ -35,13 +35,13 @@ API calls to your existing instance.
3535
```
3636

3737
2. Start the dev server:
38-
38+
3939
```bash
4040
cd frontend
4141
npm install
4242
npm start
4343
```
44-
44+
4545
The Vite server opens at `http://localhost:5173` by default. All `/api/*`
4646
requests are proxied to `VITE_PROXY_URL`.
4747

@@ -50,37 +50,76 @@ API calls to your existing instance.
5050
5151
## Warning
5252

53-
As we're using Git in the development process, you better disable automatic update of Bazarr in UI or you may get your changes overwritten. Alternatively, you can completely disable the update module by running Bazarr with `--no-update` command line argument.
53+
As we're using Git in the development process, you should disable automatic updating of Bazarr in the UI General Settings or you will get your changes overwritten. Alternatively, you can completely disable the update module by running Bazarr with `--no-update` command line argument.
5454

5555
## Branching
5656

5757
### Basic rules
5858

5959
- `master` contains only stable releases (which have been merged to `master`) and is intended for end-users.
60-
- `development` is the target for testing (around 10% of users) and is not intended for end-users looking for stability.
60+
- `development` is the target used for bleeding-edge feature development, bug fixing and testing (around 10% of users) and is not intended for end-users looking for stability.
6161
- `feature` is a temporary feature branch based on `development`.
6262

6363
### Conditions
6464

6565
- `master` is not merged back to `development`.
6666
- `development` is not re-based on `master`.
6767
- all `feature` branches are branched from `development` only.
68-
- Bugfixes created specifically for a feature branch are done there (because they are specific, they're not cherry-picked to `development`).
69-
- We will not release a patch (1.0.x) if a newer minor (1.x.0) has already been released. We only go forward.
68+
- Bugfixes created specifically for a feature branch are done there (and because they are specific to a feature branch, they're not cherry-picked to `development`).
69+
- We will not release a patch for an older major branch (1.0.x) if a newer minor branch (1.x.0) has already been released. We only go forward.
7070

7171
## Typical contribution workflow
7272

73-
### Community devs
73+
### Community developers
7474

7575
- Fork the repository or pull the latest changes if you already have forked it.
7676
- Checkout `development` branch.
7777
- Make the desired changes.
7878
- Submit a PR to Bazarr `development` branch.
7979
- Once reviewed, your PR will be merged using Squash and Merge with a meaningful commit message matching our standards.
8080

81-
### Official devs team
81+
### Official development team
8282

8383
- All commits must have a meaningful commit message (ex.: Fixed issue with this, Improved process abc, Added input field to UI, etc.).
84-
- Fixes can be made directly to `development` branch but keep in mind that a pre-release with a beta versioning will be created every day a new push is made.
85-
- Features must be developed in dedicated feature branch and merged back to `development` branch using PR.
84+
- Fixes can be made directly to `development` branch but keep in mind that a pre-release with beta versioning will be created each day a new push is made.
85+
- Features must be developed in a dedicated feature branch and merged back to `development` branch using Pull Requests (PRs).
8686
- Once reviewed, your PR will be merged by morpheus65535 using Squash and Merge with a meaningful message.
87+
88+
# Bazarr Contributor Code of Conduct: Working with AI
89+
90+
We welcome the use of AI tools as productivity enhancers, but development must always be human-led. Whether your Pull Request consists of hand-written code or AI-assisted modifications, all submissions must adhere to the following framework:
91+
92+
---
93+
94+
## Core Expectations
95+
96+
### 1. Own Your Code (Comprehension)
97+
98+
This is our absolute baseline requirement: **never submit code you do not fully understand.** You must be the architect of your changes, using AI strictly as an assistant.
99+
100+
* You must be able to explain the logic and mechanics of your submission in your own words.
101+
* You must completely understand the underlying purpose (**the "why"**) behind the modification.
102+
103+
### 2. Connect Before You Code (Collaboration)
104+
105+
We operate as a team. To prevent redundant efforts and ensure your approach aligns with the project's roadmap, you must coordinate with us before diving into a new feature.
106+
107+
* **Action Item:** Drop into our Discord server to discuss your ideas and get greenlit before you start working. You can find the Bazarr development community at https://discord.gg/BDCyJPTjx
108+
109+
### 3. Maintain Complete Transparency (Disclosure)
110+
111+
Be entirely upfront about your use of generative tools. If you are directing the AI responsibly and following these principles, explaining your methodology and justifying your design choices to reviewers should be simple and straightforward.
112+
113+
---
114+
115+
## Testing & Quality Standards
116+
117+
Code cannot be evaluated or tested in isolation. Before opening a Pull Request, you are expected to rigorously validate your work against the actual application ecosystem:
118+
119+
```
120+
[Isolated Test] ──> [Live Bazarr Instance + Real Data] ──> [Cross-Platform & Python Version Checks]
121+
```
122+
123+
* **Live Validation:** Run your changes within a live, functioning instance of Bazarr utilizing real-world data.
124+
* **Scope of Impact:** Look beyond the immediate fix. Test adjacent workflows and connected components to ensure no regressions have been introduced.
125+
* **Environment Diversity:** As possible, verify that your code behaves consistently across different operating systems and supported Python versions (which are detailed earlier within this document).

0 commit comments

Comments
 (0)