Tout ce que fait Yocman, de la tâche en échec à la carte flashée
36 commandes, une seule CLI. Chacune s'exécute localement sur votre dossier de build ou votre projet. La couche IA est facultative pour les analyses et ne modifie jamais vos fichiers sans votre confirmation.
Diagnostiquer et réparer
- fix
- explain
- ask
- context
- login
- --dry-run
- --fresh
Quand bitbake échoue, yocman fix lit le log de la tâche, trouve la cause avec des outils en lecture seule et propose un diff unifié sur votre propre layer. Vous confirmez, il applique le correctif et relance la tâche. Chaque diagnostic est conservé dans votre historique privé : le même échec obtient sa réponse depuis cet historique la fois suivante, sans nouvel usage de l'IA.
- explain donne le diagnostic sans rien modifier
- Une modification trouvée par ask ou explain est gardée : yocman fix l'applique ensuite
- Un échec déjà résolu pour vous obtient sa réponse immédiatement ; --fresh redemande à l'IA
- Les correctifs vont dans vos propres layers, jamais dans poky ni les layers amont
- --dry-run affiche les données masquées et n'envoie rien
Commandes
- fix
- Réparer une tâche en échec : correctif pour votre layer, appliqué après confirmation, tâche relancée ; sans échec, appliquer la modification proposée par ask ou explain
- explain
- Expliquer le dernier échec de build sans rien modifier ; le correctif trouvé est gardé pour yocman fix
- ask
- Poser une question sur votre projet ; une modification trouvée dans une recette est gardée pour yocman fix
- context
- Afficher la release, la machine, la distro et les layers détectés, hors ligne
- login
- Enregistrer votre clé d'API et la vérifier auprès du service
Analyser le build
- doctor
- rules
- conf
- layers check
- deps
- why
- provides
- unused
- orphans
- duplicates
- size
- buildtime
- sstate
- boot
- --no-ai
Des analyses déterministes de votre dossier de build, à partir des fichiers que bitbake écrit déjà : configuration et layers, chaînes de dépendances, contenu et taille de l'image, temps de build, réutilisation du sstate et temps de démarrage. Les faits viennent des fichiers ; une synthèse IA facultative les interprète.
- why montre les chaînes qui amènent un paquet dans l'image
- size diff compare deux builds ou deux révisions buildhistory paquet par paquet
- sstate repère les recettes reconstruites à chaque build
- doctor indique la source de données manquante et comment l'activer
Commandes
- doctor
- Lister les sources de données du dossier de build et comment activer celles qui manquent
- rules
- Lister toutes les règles d'analyse avec leur identifiant, catégorie et sévérité
- conf
- Vérifier local.conf, bblayers.conf, auto.conf et site.conf
- layers check
- Vérifier les layers de bblayers.conf : absents, en double, incompatibles avec la release, .bbappend orphelins
- deps
- Arbre de dépendances d'un paquet, à l'exécution ou à la compilation, et qui en dépend
- why
- Pourquoi un paquet est dans l'image : les chaînes depuis IMAGE_INSTALL
- provides
- Quel paquet installe un fichier donné dans l'image
- unused
- Paquets candidats au retrait, à examiner
- orphans
- Recettes construites qui n'arrivent jamais dans l'image
- duplicates
- Fonctionnalités en double dans l'image, comme deux serveurs SSH
- size
- Taille de l'image par paquet, fichier et catégorie ; size diff compare deux builds
- buildtime
- Tâches et recettes les plus longues d'après buildstats, et le parallélisme effectif
- sstate
- Réutilisation du sstate, et les recettes reconstruites à chaque build
- boot
- Temps de démarrage de la cible d'après systemd-analyze blame et critical-chain
Sécurité et conformité
- audit
- cve
- secrets
- users
- perms
- services
- kernel-audit
- licenses
- sbom
- cra report
Auditez l'image réellement livrée : CVE non corrigées, secrets embarqués, comptes et permissions, services actifs, durcissement du noyau, licences et SBOM SPDX, avec un score par catégorie.
- Les secrets sont signalés par emplacement et par type, jamais affichés
- cve diff montre ce qu'une mise à jour a corrigé ou introduit
- kernel-audit compare le .config du noyau à une liste de durcissement
- Rapports Markdown et JSON pour les revues et les audits
Commandes
- audit
- Audit complet de sécurité et de conformité, avec un score par catégorie
- cve
- CVE non corrigées d'après le rapport cve-check, par CVSS ; cve diff compare deux builds
- secrets
- Clés, jetons et mots de passe embarqués dans le rootfs et les layers, jamais affichés
- users
- Comptes : mots de passe vides, UID 0 en trop, hachages faibles, shells de connexion
- perms
- Permissions : setuid, fichiers modifiables par tous, fichiers sensibles, propriétaires inconnus
- services
- Services actifs au démarrage, services réseau non sûrs, réglages SSH et de débogage
- kernel-audit
- Le .config du noyau comparé à une liste de durcissement
- licenses
- Licences GPLv3, propriétaires ou ambiguës, et obligations de fourniture des sources
- sbom
- Présence du SBOM SPDX et cohérence avec l'image
- cra report
- Préparation au Cyber Resilience Act : les preuves côté build issues de cve, secrets, sbom, licenses et kernel, mappées sur les domaines d'exigences du CRA
Démarrer un projet
- init
- add
- remove
- build
- shell
- env
- flash
- init --describe
- init --board-search
Créez un projet kas pour l'une des 21 cartes vérifiées (Raspberry Pi, BeagleBone, Radxa, Orange Pi, i.MX 8M Plus EVK, QEMU…), ou décrivez-le avec vos mots et laissez l'IA préremplir les choix. Ajoutez des fonctionnalités comme SSH, le Wi-Fi, Qt 6 ou Docker, construisez sur l'hôte ou dans le conteneur kas avec une progression en direct, et flashez une carte SD avec une vérification du périphérique impossible à contourner.
- Catalogue de cartes vérifié sur les vrais dépôts de layers
- init --board-search cherche d'autres cartes dans l'index des layers OpenEmbedded
- build affiche la phase, les tâches en cours et le temps restant
- env bascule entre hôte et conteneur après avoir vérifié les prérequis
- flash ne propose que les disques amovibles et demande de taper le nom du périphérique
Commandes
- init
- Créer un projet kas pour une carte et une release vérifiées ; --describe laisse l'IA préremplir les choix
- add
- Ajouter une fonctionnalité (SSH, Wi-Fi, Qt 6, Docker…) avec un diff à confirmer et un commit
- remove
- Retirer une fonctionnalité, refusé tant qu'une autre en a besoin
- build
- Construire l'image avec une progression en direct : phase, tâches en cours, temps restant
- shell
- Ouvrir un shell avec l'environnement bitbake, sur l'hôte ou dans le conteneur
- env
- Vérifier et basculer l'environnement de build entre hôte et conteneur, mettre à jour l'image kas
- flash
- Écrire l'image sur une carte SD ou une clé USB, disques amovibles uniquement, avec confirmation tapée
Intégrations
- --format json
- --fail-on
- --no-ai
- VS Code(bientôt)
Yocman est une simple CLI : elle s'intègre à n'importe quel runner CI. Chaque analyse a une sortie lisible par une machine et des codes de retour pour conditionner un pipeline.
- --fail-on high sort avec le code 1 dès qu'un constat atteint ce niveau
- --no-ai garde un pipeline entièrement hors ligne
- Une extension VS Code arrive bientôt
Le plan gratuit couvre les corrections, les explications et toutes les analyses locales.
Commencer gratuitement