No description
- Rust 100%
| .cargo | ||
| benches | ||
| rules | ||
| src | ||
| tests | ||
| .gitignore | ||
| .stylelintrc.json | ||
| Cargo.lock | ||
| Cargo.toml | ||
| deny.toml | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
Paarroo MCP
Serveur MCP (Model Context Protocol) qui expose un ensemble de règles et d'outils d'analyse pour standardiser la qualité du code Rust, CSS, WASM et l'architecture hexagonale.
Principe
Au lieu de répéter les mêmes bonnes pratiques dans chaque projet — gestion d'erreurs, performance, sécurité, architecture — ce serveur centralise tout dans des ressources rule:// et des outils d'analyse. L'IA les applique automatiquement sur n'importe quel projet.
Règles disponibles
| Resource | Description |
|---|---|
rule://rust/avoid-regex.md |
15 catégories d'alternatives Rust natives — str::*, nom, parser combinators, crates spécialisés |
rule://rust/error-handling.md |
DomainError, 3 patterns (?, match, unwrap_or_else), anti-patterns |
rule://rust/performance.md |
Static dispatch, profiling cargo-flamegraph/criterion, clippy::perf |
rule://rust/secrets-management.md |
Argon2id → XChaCha20-Poly1305, OsRng, keynest, zeroize, secrecy |
rule://rust/grpc-architecture.md |
connect-rust 0.6, interceptor auth, single-port, OTLP, streaming |
rule://rust/infrastructure-config.md |
3-layer config loading, config/figment, secrets separation, validation fail-fast |
rule://rust/dependency-versions.md |
Exact pinning, cargo-deny, cargo-audit, cargo-vet, SBOM |
rule://rust/gitignore.md |
Stratégie 3 couches, patterns globaux vs projet, anti-patterns |
rule://rust/ownership.md |
Borrow checker, lifetimes, interior mutability patterns |
rule://rust/mutex-locking.md |
Mutex::lock().unwrap(), parking_lot, poisoning, high-concurrency |
rule://rust/rate-limiting.md |
Token bucket, gRPC interceptor, backpressure, DB pool sizing |
rule://rust/dioxus-patterns.md |
Dioxus complet : CSS, icônes, images, polices, Dioxus.toml, cross-compilation, build pipeline |
rule://rust/rust-rules.md |
Edition 2024, naming conventions, unsafe, macros, #[expect] |
rule://security/owasp-cwe-2025.md |
OWASP Top 10:2025 mitigations |
rule://security/rust-security.md |
Build.rs threat model, supply chain, #[forbid(unsafe_code)] |
rule://security/wasm-security.md |
WASM sandbox, --allow-undefined, memory safety |
rule://wasm/wasm-rules.md |
wasm-bindgen 0.2.122, wasm-pack 0.15, Binaryen v129, component model |
rule://css/css-rules.md |
Oklch, design tokens, @layer, WCAG, checklist |
rule://css/css-responsive.md |
Breakpoints, fluid tokens, container queries, responsive patterns |
rule://css/css-architecture.md |
SCSS organisation, compilation, page layout (navbar/main/footer) |
rule://css/typography.md |
Truncation, font-optical-sizing, tabular-nums, text-wrap |
rule://css/forms.md |
Floating labels, iOS font-size fix, appearance: none |
rule://css/components.md |
Glassmorphism, gradient text, [data-*] state-driven, color-mix |
rule://css/interactions.md |
Animations, hover, touch, accessibilité, reduced-motion |
rule://database/postgres.md |
SeaORM 2.0, cursor pagination, transactions, RLS, FTS, pgvector |
rule://database/sqlite.md |
rusqlite bundled, WAL mode, connection strategies, backup API |
Outils d'analyse
- Analyse Rust — code mort, sécurité (hardcoded secrets, crypto RNG, dotenv prod, secrets logging), dépendances (cargo-deny, cargo-outdated, cargo-audit), call graph
- Analyse CSS/SCSS — score qualité (0-100), oklch conversion, contraste WCAG, stylelint subprocess
- Analyse WASM — validation wasm-tools, wasm-pack build, binaryen wasm-opt
- Analyse architecture — hexagonal layering, dépendances, seuils de fichiers/fonctions
Utilisation
{
"mcpServers": {
"paarroo": {
"command": "cargo",
"args": ["run", "--", "run"]
}
}
}
Puis dans n'importe quel projet : demande les règles via rule://rust/avoid-regex.md ou lance check_code_quality pour une analyse complète.