Skip to content

Commit ba0fe1e

Browse files
authored
Create CONTRIBUTING.md
1 parent 2ab9453 commit ba0fe1e

File tree

1 file changed

+143
-0
lines changed

1 file changed

+143
-0
lines changed

CONTRIBUTING.md

Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
# Contributing to SecureVault
2+
3+
Thank you for your interest in contributing to **SecureVault – Encrypted Data Vault**,
4+
a project developed and maintained by **BYLICKILABS – Intelligence Systems & Communications**.
5+
6+
This document explains how to report issues, propose features, and submit code contributions.
7+
8+
---
9+
10+
## 1. Code of Conduct
11+
All contributors are expected to adhere to our community standards:
12+
13+
- Be respectful and professional in all communications
14+
- Focus on constructive collaboration
15+
- No personal attacks, discrimination, or harassment
16+
17+
Violations may result in removal from the project community.
18+
19+
---
20+
21+
## 2. Getting Started
22+
23+
### 2.1 Fork and Clone
24+
```bash
25+
# Fork the repository on GitHub
26+
git clone https://github.com/bylickilabs/SecureVault.git
27+
cd SecureVault
28+
```
29+
30+
### 2.2 Setup Local Environment
31+
```bash
32+
python -m venv venv
33+
source venv/bin/activate
34+
35+
# On Windows: venv\Scripts\activate
36+
pip install -r requirements.txt
37+
```
38+
39+
### 2.3 Code Style
40+
All code must comply with the following:
41+
- **PEP 8** style guide
42+
- Explicit **type hints** (`typing` module)
43+
- English comments and docstrings
44+
- Security-aware error handling
45+
- No plaintext logging of sensitive data
46+
47+
Run static checks before committing:
48+
```bash
49+
flake8 securevault/
50+
black --check securevault/
51+
```
52+
53+
---
54+
55+
## 3. Branching & Workflow
56+
57+
| Step | Description |
58+
|------|--------------|
59+
| `main` | Stable, release-ready branch |
60+
| `develop` | Active development branch |
61+
| `feature/*` | Feature branches (new functionality) |
62+
| `fix/*` | Bugfix branches |
63+
| `security/*` | Security-specific improvements |
64+
65+
Submit all changes through **Pull Requests (PRs)** targeting the `develop` branch.
66+
67+
Each PR must:
68+
- Contain a clear description of the change
69+
- Reference related issues
70+
- Pass CI checks (tests, linting, build)
71+
72+
---
73+
74+
## 4. Commit Guidelines
75+
Use **clear and conventional** commit messages:
76+
77+
```
78+
feat: add AES-GCM encryption fallback
79+
fix: resolve UI freeze during container load
80+
docs: update installation instructions
81+
refactor: improve Argon2id key derivation flow
82+
```
83+
84+
Avoid vague messages such as “update code” or “fix bug”.
85+
86+
---
87+
88+
## 5. Testing
89+
Before submitting a PR, ensure:
90+
- All **unit tests pass**
91+
- No regressions in encryption or file handling
92+
- UI interactions are validated if applicable
93+
94+
Run:
95+
```bash
96+
pytest -v
97+
```
98+
99+
Add new tests for each major feature or fix.
100+
101+
---
102+
103+
## 6. Security Reports
104+
If you discover a vulnerability, **do not** open a public GitHub issue.
105+
106+
Instead, contact the security team directly:
107+
```
108+
109+
```
110+
111+
Refer to the official [SECURITY](SECURITY.md)
112+
113+
---
114+
115+
## 7. Documentation
116+
All public functions and classes must include concise docstrings explaining:
117+
- Purpose and parameters
118+
- Expected behavior
119+
- Possible exceptions
120+
121+
If your change adds new features, update:
122+
- [DEVELOPMENT](DEVELOPMENT.md)
123+
124+
---
125+
126+
## 8. Licensing
127+
By submitting code, you agree that:
128+
- Your contribution will be licensed under the project’s open-source license
129+
- You hold the rights to the code you submit
130+
- You grant BYLICKILABS the right to maintain and distribute it
131+
132+
---
133+
134+
## 9. Recognition
135+
Contributors who make meaningful improvements will be acknowledged in:
136+
- The official documentation
137+
- Release notes
138+
- Project credits section
139+
140+
---
141+
142+
> SecureVault welcomes professional, security-focused contributions.
143+
> Together we build trusted, verifiable, and resilient software.

0 commit comments

Comments
 (0)