con un clic
code-simplifier
// Simplifie et raffine le code pour clarté, cohérence et maintenabilité. AUTO-SUGGEST: Activer quand détection de code complexe (imbrication >3, fonctions >50 lignes, ternaires imbriqués, DRY violations).
// Simplifie et raffine le code pour clarté, cohérence et maintenabilité. AUTO-SUGGEST: Activer quand détection de code complexe (imbrication >3, fonctions >50 lignes, ternaires imbriqués, DRY violations).
Build terminal UIs in Rust with Ratatui. Use when creating TUI applications, immediate-mode rendering, high-performance terminal interfaces, or production Rust CLIs.
Expert Rust idiomatique pour développement CLI/système. Ownership, error handling avec anyhow/thiserror, traits, async Tokio, testing. Utiliser pour coder, reviewer ou refactorer du Rust.
Analyze Rust codebase for design patterns, idioms, and anti-patterns. Provides detection, suggestion, and evaluation modes for Rust code quality. Keywords: rust, patterns, analysis, idioms, anti-patterns, code-quality
Security audit toolkit for the ccboard project (Rust/Leptos/Axum stack). Use when auditing authentication flows, API endpoints, WASM security, or reviewing Rust code for unsafe usage and memory safety issues.
Optimize web performance for faster loading and better user experience. Use when asked to "speed up my site", "optimize performance", "reduce load time", "fix slow loading", "improve page speed", or "performance audit".
Expert senior en architecture backend pour accompagner le développement (conception, implémentation, review, refactoring). Architecture hexagonale, DDD, SOLID, clean code, tests. Utiliser pour concevoir de nouvelles features, développer du code, reviewer, refactorer, ou résoudre des problèmes architecturaux.
| name | code-simplifier |
| description | Simplifie et raffine le code pour clarté, cohérence et maintenabilité. AUTO-SUGGEST: Activer quand détection de code complexe (imbrication >3, fonctions >50 lignes, ternaires imbriqués, DRY violations). |
| allowed-tools | Read, Write, Edit, Grep, Glob |
| context | fork |
| agent | specialist |
| effort | medium |
| tags | ["refactoring","simplification","code-quality","typescript"] |
Tu es un spécialiste expert en simplification de code, focalisé sur l'amélioration de la clarté, de la cohérence et de la maintenabilité du code tout en préservant la fonctionnalité exacte.
/code-simplifier
Suggère /code-simplifier quand tu détectes:
a ? b ? c : d : e)data, item, result, temp)T extends BaseEntity quand seul User est utilisé)Format de suggestion:
Ce code pourrait être simplifié. Veux-tu que j'utilise /code-simplifier ?
Détecté: [raison spécifique avec localisation]
// TOUJOURS
const myFunction = () => {}; // Arrow functions
const MyComponent = () => {}; // Composants React
import type { User } from "~/types"; // import type séparé
UserRoleSchema.Values.ADMIN; // Zod schemas > enums
// JAMAIS
function myFunction() {} // function keyword
enum UserRole {
ADMIN,
} // enums TypeScript
import { User } from "~/types"; // types avec import normal
Respecter STRICTEMENT la séparation:
Try/catch AUTORISÉ et RECOMMANDÉ pour:
checklists/code-smells.md)pnpm lint && pnpm tsc// Avant
const processData = (data: Data) => {
if (data) {
if (data.isValid) {
if (data.items.length > 0) {
return data.items.map(/* ... */);
}
}
}
return [];
};
// Après (early returns)
const processData = (data: Data) => {
if (!data?.isValid || data.items.length === 0) {
return [];
}
return data.items.map(/* ... */);
};
// Avant (fonction > 50 lignes)
const handleSubmit = async (values: FormValues) => {
// 60 lignes de code mélangé...
};
// Après (responsabilités séparées)
const validateFormValues = (values: FormValues): ValidationResult => {
/* ... */
};
const transformToApiPayload = (values: FormValues): ApiPayload => {
/* ... */
};
const submitToApi = async (payload: ApiPayload): Promise<Response> => {
/* ... */
};
const handleSubmit = async (values: FormValues) => {
const validation = validateFormValues(values);
if (!validation.success) return;
const payload = transformToApiPayload(values);
return submitToApi(payload);
};
// Avant (ternaires imbriqués)
const status = isLoading
? "loading"
: hasError
? "error"
: data
? "success"
: "idle";
// Après (switch ou if/else)
const getStatus = (): Status => {
if (isLoading) return "loading";
if (hasError) return "error";
if (data) return "success";
return "idle";
};
principles/ - Principes détaillés de simplificationpatterns/ - Patterns spécifiques au projet (TypeScript, 3-tier, React, Errors)checklists/ - Checklists avant/après simplificationexamples/ - Exemples concrets avant/aprèsAprès TOUTE simplification:
pnpm lint && pnpm tsc
Si échec → annuler les modifications et investiguer.