# kb-config `kb-config` définit le contrat de configuration typé du workspace, son schéma JSON embarqué et les fonctions de chargement, résolution d’environnement, validation et sérialisation. ## Responsabilités - exposer `AppConfig` et les sections de configuration publiques ; - valider le JSON contre le schéma embarqué ; - appliquer les invariants métier après désérialisation ; - charger `.env` et `.env.local` depuis la racine du workspace ; - résoudre les placeholders `${NAME}` et `${NAME:-fallback}` ; - sélectionner le profil actif ; - exporter les types nécessaires au frontend avec `ts-rs`. ## Hors périmètre La crate n’initialise ni le logging, ni PostgreSQL, ni les transports et ne manipule aucun secret de wallet. Elle fournit uniquement la configuration validée à ces consommateurs. ## Surface publique Les principales fonctions sont `read_config_json_file_with_environment`, `parse_config_json`, `validate_config`, `validate_config_json_schema`, `active_profile` et les sérialiseurs JSON. Les types publics couvrent les profils, endpoints, listeners, logging, base de données, wallet, exécution et démonstration. ## Relations - dépend de `kb-core` pour les erreurs structurées ; - alimente `kb-logging`, `kb-store`, `kb-onchain-transport`, `kb-pipeline`, `kb-wallet` et les applications ; - utilise [`../config/example.config.json`](../config/example.config.json) et [`../config/schema.config.json`](../config/schema.config.json) comme exemple utilisateur et contrat de schéma actifs. ## Statut La configuration actuelle est fonctionnelle et validée, mais son format `0.4.8` reste monolithique. Le cadrage `0.5.0-pre.002` confirme que `0.5.1` séparera la configuration générale et le logging en documents et schémas distincts, introduira le namespace d’environnement `KS_*` et séparera les représentations source, runtime et publiques afin qu’aucun secret résolu ne soit exposé. ## Documents - [Utilisation](USAGE.md) - [Travaux restants](TODO.md) - [Historique](CHANGELOG.md) - [Architecture](../docs/architecture/ARCHITECTURE.md)