/profile
utilitaire nouveauConfigurer les tech profiles du projet. Les profils injectent des conventions, patterns et anti-patterns spécifiques à une stack technologique dans tous les skills du framework.
Le problème
Le framework est générique — il ne sait pas si votre projet utilise Rust, Java, Python ou TypeScript. Sans profil, les agents (architect, executor, code-reviewer) appliquent des patterns génériques.
La solution
Les profils ajoutent un contexte technologique spécifique :
CLAUDE.md
profile: rust, tauri, vue-typescript
↓
Kensho Step 00 charge les profils
↓
Tous les agents connaissent votre stackUsage
/profile # Voir les profils actifs
/profile list # Lister les profils disponibles
/profile add rust tauri # Ajouter des profils
/profile remove xterm # Retirer un profil
/profile show tauri # Voir le contenu d'un profil
/profile create spring-boot # Créer un profil customProfils disponibles
| Profil | Description | Extends |
|---|---|---|
rust | Conventions Rust, error handling, clippy, toolchain | — |
tauri | Architecture Tauri 2, commandes, plugins, managed state | rust |
vue-typescript | Vue 3 Composition API, Pinia, TypeScript strict | — |
xterm | xterm.js, addons, intégration PTY avec Tauri | vue-typescript |
Comment ça marche
1. Configuration
Ajoutez la ligne profile: dans votre CLAUDE.md :
## Tech Profile
profile: rust, tauri, vue-typescript, xterm2. Chargement automatique
Quand Kensho démarre (Step 00), il :
- Lit la ligne
profile:dansCLAUDE.md - Charge chaque fichier
framework/profiles/{name}.md - Résout les
extends:(tauri hérite de rust) - Injecte le contexte combiné dans la tâche
3. Impact sur les agents
| Agent | Sans profil | Avec profil rust + tauri |
|---|---|---|
| architect | Design générique | Propose Managed State, plugins Tauri, patterns PTY |
| executor | Code générique | #[tauri::command], thiserror, async/await |
| code-reviewer | Review générique | Vérifie : pas de unwrap(), pas de lazy_static, Result<T> |
4. Héritage
Les profils peuvent hériter d'un autre via extends: :
---
name: tauri
extends: rust # hérite de toutes les conventions Rust
---L'ordre de chargement : parent d'abord, puis enfant. Les conventions de l'enfant complètent (pas remplacent) celles du parent.
Créer un profil custom
/profile create spring-bootStructure générée :
---
name: spring-boot
description: Profil Java Spring Boot.
tags: [backend, java, spring]
---
# Profil Spring Boot
## Conventions
...
## Patterns à suivre
...
## Anti-patterns à éviter
...Exemple concret
Avec les profils rust + tauri actifs, quand vous lancez :
/kensho -a -s implement PTY managementL'agent architect sait qu'il doit utiliser portable-pty, les commandes Tauri, et le Managed State. L'agent executor écrit du code avec #[tauri::command], Result\<T, String\>, et thiserror. L'agent code-reviewer vérifie qu'il n'y a pas de unwrap() en production.
Sans profil, tout ce contexte est perdu et vous devez le re-expliquer à chaque interaction.
