refactor: restructure repo layout
This commit is contained in:
25
skills/rust-go-conventions.md
Normal file
25
skills/rust-go-conventions.md
Normal file
@@ -0,0 +1,25 @@
|
||||
---
|
||||
name: rust-go-conventions
|
||||
description: Conventions de style et patterns idiomatiques Rust (edition 2024) et Go 1.24 pour ce projet
|
||||
---
|
||||
|
||||
# Conventions Rust / Go
|
||||
|
||||
## Rust (edition 2024)
|
||||
- Utilise `thiserror` pour les types d'erreur publics, `anyhow` dans les binaires.
|
||||
- Préfère `?` à `unwrap()` sauf dans les tests.
|
||||
- Les `pub` structs doivent avoir des doc comments (`///`).
|
||||
- Nomme les types de retour complexes avec des type aliases.
|
||||
- `clippy::pedantic` activé — corrige tous les lints avant commit.
|
||||
|
||||
## Go 1.24
|
||||
- Gestion d'erreurs : toujours `if err != nil { return ..., err }`, jamais `_`.
|
||||
- Interfaces en minuscule si non exportées.
|
||||
- Docstring obligatoire pour toute fonction exportée (commence par le nom de la fonction).
|
||||
- Utilise `errors.Is` / `errors.As` pour comparer les erreurs.
|
||||
- `golangci-lint` avec preset `default` + `gocritic`.
|
||||
|
||||
## Tests
|
||||
- Rust : tests unitaires dans le même fichier (`#[cfg(test)]`), intégration dans `tests/`.
|
||||
- Go : fichiers `_test.go`, table-driven tests avec `t.Run`.
|
||||
- Couverture cible : 80 % sur les chemins critiques.
|
||||
Reference in New Issue
Block a user