80 lines
1.7 KiB
Markdown
80 lines
1.7 KiB
Markdown
# Guide de Contribution - sdk_relay
|
||
|
||
Merci pour votre intérêt à contribuer à `sdk_relay` ! Ce guide explique comment participer efficacement.
|
||
|
||
## 🎯 Types de contributions
|
||
- Bugs, nouvelles fonctionnalités, documentation, tests, performance, sécurité
|
||
|
||
## 🚀 Premiers pas
|
||
|
||
### Prérequis
|
||
- Rust stable (via rustup)
|
||
- Docker (pour intégration dans 4NK Node)
|
||
- Git
|
||
|
||
### Fork & clone (Gitea)
|
||
```bash
|
||
git clone https://git.4nkweb.com/4nk/sdk_relay.git
|
||
cd sdk_relay
|
||
# Ajouter upstream si vous travaillez depuis un fork
|
||
# git remote add upstream https://git.4nkweb.com/4nk/sdk_relay.git
|
||
```
|
||
|
||
### Branches
|
||
```bash
|
||
git checkout -b feature/nom-feature
|
||
# ou
|
||
git checkout -b fix/nom-bug
|
||
```
|
||
|
||
## 🔧 Développement
|
||
|
||
### Build & tests
|
||
```bash
|
||
cargo fmt --all
|
||
cargo clippy --all-targets -- -D warnings
|
||
cargo test --all
|
||
```
|
||
|
||
### Messages de commit (conventionnel)
|
||
```bash
|
||
type(scope): description courte
|
||
# ex: feat(sync): add metrics sync type
|
||
```
|
||
Types: feat, fix, docs, style, refactor, test, chore, perf, ci
|
||
|
||
## 🧪 Tests
|
||
|
||
### Unitaires / Intégration
|
||
```bash
|
||
cargo test --lib --bins
|
||
cargo test --tests
|
||
```
|
||
|
||
### Lint / Format
|
||
```bash
|
||
cargo fmt --all -- --check
|
||
cargo clippy --all-targets -- -D warnings
|
||
```
|
||
|
||
## 📚 Documentation
|
||
- Maintenir à jour `README.md` et `docs/`
|
||
- Documenter les APIs publiques et les nouveaux types de sync
|
||
|
||
## 🔍 Code Review
|
||
- CI verte (fmt, clippy, tests)
|
||
- Couverture de tests suffisante
|
||
- Pas de régressions
|
||
- Perf et sécurité considérées
|
||
|
||
## 📝 Pull Requests (Gitea)
|
||
- Lier une issue si possible
|
||
- Décrire clairement les changements
|
||
- Ajouter tests et docs
|
||
|
||
## 🆘 Support
|
||
- Issues: https://git.4nkweb.com/4nk/sdk_relay/issues
|
||
|
||
## 📄 Licence
|
||
Contribuer implique l’acceptation de la licence MIT du projet.
|