test-tech
v1.0.3
Published
Lanceur de session enregistrée pour test technique avec agent IA
Readme
test-tech (CLI)
Le lanceur de session enregistrée pour test technique. C'est ce paquet
qui répond à npx test-tech --id=... — il ne contient pas le projet
de test lui-même (bug, tests...), qu'il télécharge automatiquement au
premier lancement dans un dossier vide.
Configuration avant distribution
Ouvre bin/ton-agent.js et renseigne l'URL de ton app d'onboarding
déployée :
const API_BASE_URL = (process.env.TEST_API_URL || "https://ton-app.vercel.app").replace(/\/$/, "");Cette URL sert à deux choses : télécharger le scaffold du projet
(GET /scaffolds/<stack>.zip, servi statiquement depuis
onboarding-app/public/scaffolds/) et remonter le statut/log du
candidat (PATCH /api/candidates/:testId, POST /api/sessions).
Publier le CLI — deux options
Option A : npm public
npm login
npm publish⚠️ Le nom test-tech est probablement déjà pris sur le registre public,
et n'importe qui pourrait alors exécuter ta commande. Vérifie la
disponibilité du nom avant, ou publie sous un nom scopé à ton
organisation (@tonentreprise/test-tech — nécessite d'adapter le champ
bin du candidat pour utiliser npx @tonentreprise/test-tech).
Option B : GitHub, sans publier sur npm (recommandé pour rester privé)
npx sait exécuter directement un paquet depuis un dépôt GitHub, sans
passage par le registre npm :
npx github:ton-org/test-tech-cli --id=TT-4K9X-JEANÇa fonctionne avec un dépôt privé si le candidat a un accès en
lecture (ou via un token configuré dans son ~/.npmrc / sa config Git),
ce qui évite le risque de squattage de nom et garde l'outil hors des
regards extérieurs. C'est l'option la plus simple à mettre en place
rapidement.
Ajouter d'autres stacks (Flutter, React Native...)
- Prépare un nouveau squelette de projet (bug + tests + README), comme
pour
technical-test/ - Depuis
onboarding-app/, lancenpm run package-scaffold -- --src=../mon-projet --stack=<nom>— génère automatiquementpublic/scaffolds/<nom>.zip, à plat, sansnode_modules/.next/.git - Le candidat lance
npx test-tech --id=XXX --stack=<nom>
Limite actuelle à connaître : après extraction, le CLI lance
automatiquement npm install s'il trouve un package.json à la racine
du scaffold. Pour Flutter (flutter pub get) ou toute stack non-Node, il
faudra adapter cette étape dans bin/ton-agent.js (fonction
bootstrapScaffold) — actuellement câblée pour npm uniquement.
Test local sans publier
cd /un/dossier/vide
TEST_API_URL="http://localhost:3000" AGENT_CLI=claude \
node /chemin/vers/test-tech-cli/bin/ton-agent.js --id=TT-TEST