Files
sasecodingagent-project/README.md
2026-04-07 12:25:12 +02:00

84 lines
1.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 lexposition 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