v0.1.0 skel
This commit is contained in:
83
README.md
Normal file
83
README.md
Normal file
@@ -0,0 +1,83 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user