84 lines
1.9 KiB
Markdown
84 lines
1.9 KiB
Markdown
# sasecodingagent-project
|
||
|
||
Workspace Rust initial pour **Sase Coding Agent**.
|
||
|
||
## Structure
|
||
|
||
```text
|
||
sasecodingagent-project/
|
||
├── Cargo.toml
|
||
├── README.md
|
||
├── TODOLIST.md
|
||
├── clippy.toml
|
||
├── rustfmt.toml
|
||
├── docs/
|
||
│ └── coding_rules.md
|
||
├── scripts/
|
||
│ ├── check_banned_crates.sh
|
||
│ ├── check_no_question_mark.sh
|
||
│ ├── check_no_unwrap_expect.sh
|
||
│ ├── check_no_mod_rs.sh
|
||
│ ├── check_public_api_exports.sh
|
||
│ └── run_quality_checks.sh
|
||
├── sca-app/
|
||
├── sca-core/
|
||
├── sca-infra/
|
||
├── sca-ia/
|
||
└── sca-tests/
|
||
```
|
||
|
||
## Crates
|
||
|
||
- `sca-app` : binaire principal
|
||
- `sca-core` : domaine métier
|
||
- `sca-infra` : stockage, fs, process, git, audit
|
||
- `sca-ia` : providers, thinking, context, routing, kb
|
||
- `sca-tests` : support de tests / scénarios d'intégration
|
||
|
||
## État actuel
|
||
|
||
Ce dépôt est un **squelette initial** avec :
|
||
|
||
- workspace configuré
|
||
- crates créées
|
||
- fichiers `.rs` présents
|
||
- arborescences internes préparées
|
||
- `README.md` et `TODOLIST.md`
|
||
|
||
Les fichiers Rust internes sont volontairement laissés vides, à l'exception de `sca-app/src/main.rs` qui contient un `fn main() {}` minimal pour fournir un point d'entrée valide.
|
||
|
||
|
||
## Coding Rules
|
||
|
||
### Hard Constraints (non-negotiable)
|
||
- No `?`
|
||
- No `unwrap` / `expect`
|
||
- Explicit error handling only
|
||
- Single error type or minimal error types
|
||
- No `mod.rs` (Rust 2024)
|
||
- `tracing` mandatory
|
||
- `thiserror` and `anyhow` are banned
|
||
- Public API exported only via `src/lib.rs`
|
||
|
||
|
||
## Quality Checks
|
||
|
||
Des scripts simples sont fournis dans scripts/ pour contrôler les règles principales :
|
||
|
||
- crates bannies
|
||
- usage de `?`
|
||
- usage de `unwrap` / `expect`
|
||
- présence interdite de `mod.rs`
|
||
- vérification basique de l’exposition API via `lib.rs`
|
||
|
||
Exécution rapide :
|
||
```bash
|
||
bash scripts/run_quality_checks.sh
|
||
```
|
||
|
||
## Documentation complémentaire
|
||
|
||
Règles détaillées :
|
||
|
||
docs/coding_rules.md
|