Skip to content

/profile

utilitaire nouveau

Configurer 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 stack

Usage

bash
/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 custom

Profils disponibles

ProfilDescriptionExtends
rustConventions Rust, error handling, clippy, toolchain
tauriArchitecture Tauri 2, commandes, plugins, managed staterust
vue-typescriptVue 3 Composition API, Pinia, TypeScript strict
xtermxterm.js, addons, intégration PTY avec Taurivue-typescript

Comment ça marche

1. Configuration

Ajoutez la ligne profile: dans votre CLAUDE.md :

markdown
## Tech Profile
profile: rust, tauri, vue-typescript, xterm

2. Chargement automatique

Quand Kensho démarre (Step 00), il :

  1. Lit la ligne profile: dans CLAUDE.md
  2. Charge chaque fichier framework/profiles/{name}.md
  3. Résout les extends: (tauri hérite de rust)
  4. Injecte le contexte combiné dans la tâche

3. Impact sur les agents

AgentSans profilAvec profil rust + tauri
architectDesign génériquePropose Managed State, plugins Tauri, patterns PTY
executorCode générique#[tauri::command], thiserror, async/await
code-reviewerReview génériqueVérifie : pas de unwrap(), pas de lazy_static, Result<T>

4. Héritage

Les profils peuvent hériter d'un autre via extends: :

yaml
---
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

bash
/profile create spring-boot

Structure générée :

yaml
---
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 :

bash
/kensho -a -s implement PTY management

L'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.

Shingan (心眼) — Linagora