Guide : Onboarder un Dépôt avec le Skill /setup-repo
Ce guide explique comment configurer un dépôt GitHub neuf ou existant (tel que my-org/craft-calculator) en invoquant le skill d'agent /setup-repo (.agents/skills/setup-repo/SKILL.md), qui est la façon privilégiée d'installer EPURE, ses 2 GitHub Apps, ses secrets cloisonnés par environnement (<llm-env> et release), .github/agents.yml, .github/zizmor.yml, renovate.json, son roster dynamique de reviewers (reviewers_dir, par défaut .agents/reviewers/*.md) et ses 3 Repository Rulesets.
1. Créer les Deux GitHub Apps & les Secrets Cloisonnés par Environnement
EPURE sépare les privilèges d'orchestration quotidienne des privilèges de mise en production grâce à deux GitHub Apps et cloisonne tous les secrets dans des environnements GitHub dédiés (conformité Zizmor sans secret global exposé) :
<owner>-epure-agent: permissionscontents: write,issues: write,pull_requests: write,checks: write.<owner>-epure-release: permissionscontents: write,metadata: read.
Exécutez l'assistant interactif (qui propose l'Approche 2 GitHub App Manifest en 1 clic et l'Approche 1 de repli manuelle guidée) en indiquant le dépôt cible et le nom choisi pour l'environnement d'agent (--llm-env <nom-env>, epure-agent par défaut ; autres exemples : llm, openai, anthropic ou gemini) :
bash scripts/wizards/setup-github-apps-wizard.sh \
--repo my-org/craft-calculator \
--llm-env <llm-env>Vérifiez que les secrets sont bien enregistrés dans leurs environnements GitHub respectifs :
gh secret list -R my-org/craft-calculator --env <llm-env>
gh secret list -R my-org/craft-calculator --env releaseSortie attendue pour --env <llm-env> :
EPURE_AGENT_APP_ID
EPURE_AGENT_APP_PRIVATE_KEY
LLM_API_KEYSortie attendue pour --env release :
EPURE_RELEASE_APP_ID
EPURE_RELEASE_APP_PRIVATE_KEY2. Invoquer le Skill /setup-repo (Inspection & Simulation --dry-run)
Dans votre agent local compatible Skills, invoquez le skill /setup-repo sur le dépôt cible :
/setup-repo my-org/craft-calculatorL'agent inspecte les éléments du dépôt (langage, scripts de build, présence d'une UI, sous-domaines dans src/) et lance d'abord la CLI en mode --dry-run :
node dist/cli/setup-repo.mjs \
--repo my-org/craft-calculator \
--target-dir /chemin/vers/craft-calculator \
--agent-app-id 123456 \
--release-app-id 654321 \
--dry-runVérifiez que le rapport de simulation présenté par l'agent mentionne :
- La création de
.github/agents.yml(schéma canonique plat avec découverte automatique deverification.targets),.github/zizmor.ymletrenovate.json. - La création de
.github/workflows/epure-issue-command.yml,epure-check.yml,pr-title.yml,ci.ymletrelease.ymlépinglés sur le SHA de 40 caractères deGiskard-AI/epure. - L'initialisation dynamique du roster de reviewers dans
.agents/reviewers/*.md(ou le--reviewers-dirchoisi) conçu par l'agent selon la stack et les sous-domaines du projet (socle transversearchitecture-reviewer,security-reviewer,spec-parity-reviewer,standards-reviewer,user-advocate+ spécialistes métier/UI sur mesure, soit 10 agents dans l'exemplecraft-calculator). - La configuration des 3 Repository Rulesets (
epure-feature-governance,epure-dev-governance,epure-release-immutability).
3. Confirmer l'Application (--apply) & Pousser sur dev
Après votre accord, le skill /setup-repo exécute --apply --apply-github-settings, ajuste les définitions <reviewers_dir>/<role>-reviewer.md propres à vos composants métier, et prépare les fichiers :
node dist/cli/setup-repo.mjs \
--repo my-org/craft-calculator \
--target-dir /chemin/vers/craft-calculator \
--agent-app-id 123456 \
--release-app-id 654321 \
--apply \
--apply-github-settingsCommitez et poussez ensuite les fichiers générés (.github/, .agents/reviewers/ et renovate.json) sur la branche par défaut dev :
cd /chemin/vers/craft-calculator
git checkout dev
git add .github/ .agents/reviewers/ renovate.json
git commit -m "chore(epure): bootstrap repository governance and workflows"
git push origin dev4. Mode Mainteneur Solo vs Mode Équipe (--require-pr-approvals)
- Mainteneur Solo (Défaut
--require-pr-approvals 0) : GitHub interdit à l'auteur ou au seul mainteneur d'approuver une PR sans second compte. La valeurrequired_approving_review_count: 0surepure-dev-governancevous permet de cliquer sur Squash and merge sur les PRsfeature/* -> devtout en interdisant matériellement à l'Agent Appde les fusionner seule. - Mode Équipe (
--require-pr-approvals 1ou plus) : exige au moins une approbation humaine par un pair en plus des checksverify-contractetai-reviewverts avant toute fusion dansdev.

