| name | stack-analyze |
| description | Inventorie les composants d'un projet selon sa stack auto-détectée (Astro, Next.js, Nuxt, SPIP, SwiftUI). Rapport Markdown structuré. |
| version | 1.0.0 |
| platforms | ["linux","macos"] |
| metadata | {"hermes":{"tags":["analyze","stack","inventory","astro","nextjs","nuxt","spip","swiftui"],"related_skills":["github","reverse-doc","doc-repair"],"model":"deepseek-v4-full"}} |
stack-analyze
Adaptation de analyze-astro + analyze-next + analyze-nuxt + analyze-spip + analyze-swiftui
— ULK → Hermes. Carte : docs/backlog/2026-06-28-SPEC-HERMES-STACK-ANALYZE/CARD.md
(P3, GitHub #239).
Fusion volontaire de 5 analyseurs ULK en une skill unique : auto-détection de la stack puis
application du profil d'inventaire correspondant (routes, composants, dépendances, patterns).
Rapport Markdown consommable en amont de reverse-doc.
Runtime & modèles
- DeepSeek V4 full : détection de stack, inventaire, structuration du rapport (tier ULK
haiku, sonnet pour SwiftUI/AST plus complexe → un seul moteur DeepSeek full, effort
de raisonnement relevé sur SwiftUI, pas de changement de modèle).
- Pas de délégation coding : la skill lit le code et écrit un rapport Markdown.
Aucune écriture de code source → tout reste DeepSeek.
- delegate_task (raisonnement, pas coding) : analyse par sous-répertoire/workspace si monorepo.
Vault
- écriture dans
Resources/<projet>/stack-inventory.md.
Procédure
- Détection stack, ordre : SwiftUI → Astro → Next → Nuxt → SPIP → générique (
package.json, astro.config.*, next.config.*, nuxt.config.*, composer.json, .xcodeproj/Package.swift).
- Activer le profil d'inventaire correspondant à la stack détectée.
- Rapport commun : Stack détectée / Routes / Composants / Dépendances / Patterns / Alertes.
- Monorepo multi-stack : segmenter par workspace (via
delegate_task), ne pas fusionner.
- Écrire le rapport dans
Resources/<projet>/.
Critères d'acceptation
Pièges
- SPIP (PHP + SQL + templates propriétaires) : inventaire très différent des frameworks JS — ne pas appliquer les patterns Next/Nuxt.
- SwiftUI peut coexister avec UIKit : signaler les fichiers mixed sans tenter de les réconcilier.
- Monorepo multi-stack : segmenter par workspace, ne pas fusionner les inventaires.