You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+53-14Lines changed: 53 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,10 +2,10 @@
2
2
3
3
## Tools required
4
4
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!
7
7
- 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.
9
9
10
10
## Development Setup
11
11
@@ -26,7 +26,7 @@ API calls to your existing instance.
26
26
**Prerequisites:** Node.js 20.x
27
27
28
28
1. Create `frontend/.env.local` (this file is gitignored):
29
-
29
+
30
30
```
31
31
VITE_PROXY_URL=http://<your-bazarr-host>:<port>
32
32
VITE_PROXY_SECURE=false
@@ -35,13 +35,13 @@ API calls to your existing instance.
35
35
```
36
36
37
37
2. Start the dev server:
38
-
38
+
39
39
```bash
40
40
cd frontend
41
41
npm install
42
42
npm start
43
43
```
44
-
44
+
45
45
The Vite server opens at `http://localhost:5173` by default. All `/api/*`
46
46
requests are proxied to `VITE_PROXY_URL`.
47
47
@@ -50,37 +50,76 @@ API calls to your existing instance.
50
50
51
51
## Warning
52
52
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.
54
54
55
55
## Branching
56
56
57
57
### Basic rules
58
58
59
59
-`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.
61
61
-`feature` is a temporary feature branch based on `development`.
62
62
63
63
### Conditions
64
64
65
65
-`master` is not merged back to `development`.
66
66
-`development` is not re-based on `master`.
67
67
- 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.
70
70
71
71
## Typical contribution workflow
72
72
73
-
### Community devs
73
+
### Community developers
74
74
75
75
- Fork the repository or pull the latest changes if you already have forked it.
76
76
- Checkout `development` branch.
77
77
- Make the desired changes.
78
78
- Submit a PR to Bazarr `development` branch.
79
79
- Once reviewed, your PR will be merged using Squash and Merge with a meaningful commit message matching our standards.
80
80
81
-
### Official devs team
81
+
### Official development team
82
82
83
83
- 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).
86
86
- 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
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