Gestionnaire d'Inventaire d'Actifs
Maintenez une Liste d'Actifs unique et vérifiable par projet. Les données résident dans le dossier .asset-inventory/ du projet (un fichier JSON par actif) et une vue Markdown générée (par défaut ASSET_LIST.md). Ne modifiez jamais la vue Markdown à la main : changez les enregistrements avec la CLI, qui la régénère.
La CLI
Toutes les opérations passent par un script Python 3.9+ (stdlib uniquement) dans cette compétence :
python <chemin-dossier-competence>/scripts/asset_inventory.py <commande> [options]
Ci-dessous, aim représente cette commande. Si python est manquant ou n'est pas Python 3, essayez python3, puis py -3 (Windows), puis uv run --no-project python. Exécutez-le depuis n'importe où dans le projet, ou passez -C <projet>. Ajoutez --json pour une sortie lisible par machine. L'historique enregistre l'agent agissant : passez --agent <nom> ou définissez AIM_AGENT lorsque la détection automatique est incorrecte.
| Tâche | Commande |
|---|---|
| Démarrer un inventaire | aim init --profile game|vr|web|software|generic [--git-setup] |
| Enregistrer un actif | aim add --name "Arc" --category model --path assets/bow.glb --origin third-party --license CC-BY-4.0 --source-url URL --attribution required --credit "..." |
| Modifier un actif | aim update ID --status final --verification approved --note "pourquoi" |
| Retirer / supprimer | aim remove ID --note "remplacé par X" (conserve l'enregistrement) / --purge |
| Trouver des actifs | aim query --category model --status placeholder, --path assets/ui/, --text arc, --format json|csv|ids |
| Un enregistrement | aim get ID |
| Trouver les fichiers non enregistrés | aim scan (ajoutez --register pour créer des enregistrements à trier) |
| Tout vérifier | aim audit (--strict fait échouer les avertissements) |
| Reconstruire le Markdown | aim render (--check pour CI) |
| Contexte (branche, arbre de travail, verrou) | aim info |
| Migrer un ancien tableau Markdown | aim import-markdown old_list.md |
| Après un conflit Git | aim resolve, puis aim audit |
Vocabulaire (voir le schéma pour chaque champ) :
- status :
planned,placeholder(fonctionne, qualité prototype),integrated,final,retired. - verification :
unverified,pending,verified(contrôles techniques réussis),approved(approuvé par le propriétaire). Ne marquez jamaisapprovedsauf si l'utilisateur ou le relecteur l'a approuvé. - origin :
original,third-party,procedural,ai-generated,unknown. Les actifs tiers et générés par IA nécessitent une licence.
Flux de travail
- Localisez. Exécutez
aim info. Si aucun inventaire n'existe et que l'utilisateur en veut un, exécutezaim initavec le profil le plus proche (profils), puisaim scanpour voir ce qui existe déjà. Pour une liste manuscrite existante, utilisezaim import-markdownet examinez les enregistrements marquésimported. - Enregistrez chaque changement d'actif dans le même ensemble de modifications. Lorsque vous ajoutez, remplacez, modifiez, déplacez ou supprimez un fichier d'actif, mettez à jour son enregistrement dans le même commit :
addpour les nouveaux fichiers,update --add-path/--remove-pathpour les déplacements,update --modificationspour les modifications de fichiers tiers,removelorsqu'il n'est plus utilisé. - Enregistrez la provenance honnêtement. Capturez l'URL source réelle, l'auteur, la licence et le texte de crédit requis au moment du téléchargement. Si inconnu, utilisez
--origin unknownet dites-le ; ne devinez jamais une licence. Signalez les conflits de licence à l'utilisateur. - Gardez les états véridiques. Distinguez planifié, implémenté, vérifié et approuvé. Mettez le prochain contrôle en attente dans
--next; il apparaît sous "Besoin de révision" en haut de la liste. - Auditez avant de terminer. Exécutez
aim audit. Corrigez les erreurs ; signalez les avertissements restants à l'utilisateur. Mentionnez le chemin de la liste dans votre résumé.
Règles de collaboration (plusieurs agents, branches, arbres de travail)
Détails : collaboration.
- Chaque arbre de travail Git possède sa propre copie de l'inventaire ; modifiez celui de l'arbre de travail dans lequel vous travaillez. Ne modifiez jamais l'arbre de travail d'un autre agent.
- Les écritures prennent un verrou court (
.asset-inventory/.lock), donc les agents partageant un même dossier ne peuvent pas corrompre les fichiers. Si un verrou est signalé, attendez et réessayez ; supprimez-le uniquement siaim infomontre que son processus propriétaire a disparu. - Pour éviter les pertes de mise à jour, lisez avec
aim get ID, puisaim update ID --expect-revision N. Le code de sortie 3 signifie que quelqu'un d'autre l'a modifié : relisez et réappliquez. - Un fichier par actif signifie que les branches parallèles entrent rarement en conflit. Exécutez
aim git-setupune fois par clone pour installer le pilote de fusion au niveau des champs. - Après toute fusion, rebase ou cherry-pick :
aim resolve(si les enregistrements montrent des marqueurs de conflit ou_conflicts), puisaim render, puisaim audit, puis committez. Ne fusionnez jamaisASSET_LIST.mdà la main ; régénérez-le. - Les ID explicites tels que
M01sont acceptables sur une branche ; les ID par défaut (<préfixe>-<slug-nom>) évitent les collisions de numérotation entre les branches.
Codes de sortie
0 ok · 1 erreur ou audit échoué · 2 mauvaise utilisation/valeur inconnue · 3 conflit de révision ou de fusion nécessitant une attention.