Files
rust-ipam/CLAUDE.md
2026-05-15 19:07:20 +02:00

40 lines
1.4 KiB
Markdown

# Projet Web Rust — Axum + Leptos
## Stack technique
- Backend : Axum (serveur HTTP)
- Frontend : Leptos (SSR/WASM)
- Langage : Rust (édition 2021)
- Build : cargo + trunk (pour Leptos)
## Niveau développeur
- Débutant en Rust — toujours expliquer les concepts Rust utilisés
- Préférer du code commenté avec les raisons des choix
## Conventions
- Utiliser `thiserror` pour la gestion d'erreurs
- Utiliser `tracing` pour les logs (pas `println!`)
- Séparer backend (`src/server/`) et frontend (`src/client/`)
- Nommer les composants Leptos en PascalCase
## Commandes utiles
- Build backend : `cargo build`
- Dev frontend : `trunk serve`
- Tests : `cargo test`
- Lint : `cargo clippy`
## Règles importantes
- Ne jamais utiliser `unwrap()` en production — toujours `?` ou `.expect("message clair")`
- Toujours expliquer les lifetimes si elles apparaissent
- Préférer les types idiomatiques Rust (`Option`, `Result`)
## Git & Commits
- Committer chaque changement fonctionnel terminé (ne pas accumuler)
- Format du message : `type(scope): description courte en anglais`
- Types autorisés : `feat`, `fix`, `docs`, `style`, `refactor`, `test`, `chore`
- Exemples :
- `feat(auth): add JWT middleware`
- `fix(api): handle missing user gracefully`
- `chore(deps): update axum to 0.8`
- Ne jamais committer du code qui ne compile pas (`cargo check` avant)
- Une fonctionnalité = une branche = une PR
- Branches : `feature/<nom>`, `fix/<nom>`, `chore/<nom>`