plugins/somtech-silo-manager/skills/silo-generator/SKILL.md
Génère l'intégralité de la configuration d'un silo SomTech : docker-compose, services Fly.io, constitutions d'agents, et templates d'environnement. Valide les métadonnées d'application avant génération. À utiliser après validation initiale du client et avant déploiement.
npx skillsauth add SomtechSolutionMAxime/somtech-pack silo-generatorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
SomTech construit du logiciel personnalisé. Chaque client/application reçoit un silo : ensemble de 7 conteneurs AI agents orchestrés via Docker Compose et déployés sur Fly.io :
Le Service Desk (MCP Supabase Edge Function) est la source unique de vérité pour les métadonnées d'application. Ce skill les lit, les valide, et génère tous les fichiers de configuration.
--client-slug et --app-slug OU requête applications.list via Service Desk MCPapplications.get(client_slug, app_slug)Vérifier la complétude de ces 10 sections (voir Checklist de validation ci-dessous) :
Action : Si validation échoue, afficher les sections manquantes et arrêter.
Lire depuis references/ :
architecture.md → topologie des conteneursnomenclature.md → conventions de nommagemetadata-schema.json → schéma JSONB attenduconstitution-template.md → template Markdown pour constitutionsdevenv-config.yaml → template Fly.io/environnementCréer dans config/silos/{client_slug}-{app_slug}/ :
docker-compose.silo-{client_slug}-{app_slug}.ymlfly/{pg,rest,auth,kong,storage,studio}.toml.env.templateconstitutions/{clientele,dev-orchestrator,dev-worker,security-auditor,security-validator,devops}.mdslack-channels.jsonAfficher résumé génération → lister fichiers créés → proposer prévisualisation ou déploiement.
version: '3.8'
services:
silo-{client}-{app}-clientele:
silo-{client}-{app}-dev-orchestrator:
silo-{client}-{app}-dev-worker-1:
silo-{client}-{app}-dev-worker-2:
silo-{client}-{app}-security-auditor:
silo-{client}-{app}-security-validator:
silo-{client}-{app}-devops:
networks:
silo-{client}-{app}-net:
Chaque conteneur reçoit :
SILO_CLIENT_SLUG={client_slug}SILO_APP_SLUG={app_slug}AGENT_ROLE={role}SOMTECH_DESK_API_KEY=${SOMTECH_DESK_API_KEY}6 services Fly.io, nommés devenv-{client}-{app}-{service} :
devenv-{client}-{app}-pg → PostgreSQL (from metadata.database.project_ref)devenv-{client}-{app}-rest → PostgREST APIdevenv-{client}-{app}-auth → Supabase Authdevenv-{client}-{app}-kong → API Gateway (Kong)devenv-{client}-{app}-storage → S3-compatible storagedevenv-{client}-{app}-studio → Supabase StudioConfiguration :
metadata.devenv.fly_region (défaut : yul)metadata.devenv.fly_org (auto-généré : {client}-{app}, ex: acme-erp)metadata.devenv.auto_stop_minutes (défaut : 30 min)Énumère TOUS les noms de variables (JAMAIS les valeurs) :
[supabase] : SUPABASE_URL, SUPABASE_ANON_KEY, SUPABASE_SERVICE_ROLE_KEY[auth] : AUTH_SECRET, OAUTH_GITHUB_ID, etc.[frontend] : API_BASE_URL, ANALYTICS_ID, etc.metadata.env_vars_templateChaque agent a sa constitution Markdown incluant :
metadata.stackmetadata.repo.branch_convention| Agent | somtech-desk | supabase | netlify | Sections autorisées | |-------|--------------|----------|---------|-------------------| | clientele | ✓ read | ✗ | ✗ | identity, client_config, silo.slack_channels | | dev-orchestrator | ✓ read | ✗ | ✗ | identity, repo, stack, silo.containers | | dev-worker | ✓ read | ✓ read | ✗ | identity, repo, stack, database, providers, env_vars | | security-auditor | ✓ read | ✓ read | ✗ | ALL (audit-only) | | security-validator | ✓ read | ✓ read | ✗ | ALL (validation-only) | | devops | ✓ read | ✓ rw | ✓ debug | ALL |
{
"client_slug": "{client_slug}",
"app_slug": "{app_slug}",
"channels": [
"#silo-{client}-{app}-general",
"#silo-{client}-{app}-dev",
"#silo-{client}-{app}-security",
"#silo-{client}-{app}-devops"
]
}
Toutes ces conditions DOIVENT être vraies avant génération :
[supabase] présenteValidation échouée → Afficher liste des sections/champs manquants, retour à Étape 2.
references/)Une fois ce skill exécuté avec succès :
tools
Documentation de référence SomCraft — DMS Markdown-native avec AI, MCP server, et Studio. À consulter pour toute question sur l'architecture, les APIs, les concepts, ou l'exploitation d'une instance SomCraft. TRIGGERS : somcraft, dms, document management, workspace somcraft, studio somcraft, mcp somcraft, api somcraft
tools
Déployer une instance SomCraft pour un client existant (migrations Supabase + Fly.io + skills). Orchestre 7 phases : pré-flight, plan, migrations, seed, déploiement, smoke tests, installation des skills. TRIGGERS : deploy-somcraft, déployer somcraft, installer somcraft, somcraft client, setup somcraft, upgrade somcraft, status somcraft
development
Exécute le déploiement complet d'une silo après sa génération : conteneurs Docker, environnement de développement Fly.io, branche Git, et configuration Netlify. Transforme les configs générées en infrastructure active avec URLs stables et builds automatisés.
tools
Connaissances sur le Somtech RAG Service — indexation de documents, recherche sémantique, génération de réponses sourcées. Utiliser quand on travaille avec le RAG Service, qu'on cherche comment l'appeler, comment déboguer, ou comment il cohabite avec Somcraft. TRIGGERS : RAG, document_chunks, rag_search, rag_push_document, hybrid search, embeddings, pgvector, somtech-rag-service, RagClient