Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Compétences

Les compétences sont les règles de correspondance de motifs que PRECC utilise pour détecter et corriger les commandes. Elles peuvent être intégrées (livrées en fichiers TOML) ou extraites des journaux de session.

Compétences intégrées

CompétenceDéclencheurAction
cargo-wrong-dircargo build/test/clippy en dehors d’un projet RustAjouter cd vers le répertoire Cargo.toml le plus proche
git-wrong-dirgit * en dehors d’un dépôt gitAjouter cd vers le répertoire .git le plus proche
go-wrong-dirgo build/test en dehors d’un module GoAjouter cd vers le répertoire go.mod le plus proche
make-wrong-dirmake sans Makefile dans le répertoire courantAjouter cd vers le répertoire Makefile le plus proche
npm-wrong-dirnpm/npx/pnpm/yarn en dehors d’un projet NodeAjouter cd vers le répertoire package.json le plus proche
python-wrong-dirpython/pytest/pip en dehors d’un projet PythonAjouter cd vers le projet Python le plus proche
jj-translategit * dans un dépôt jj colocaliséRéécrire en commande jj équivalente
asciinema-gifasciinema recRéécrire en precc gif

Lister les compétences

$ precc skills list
  # Name               Type      Triggers
  1 cargo-wrong-dir    built-in  cargo build/test/clippy outside Rust project
  2 git-wrong-dir      built-in  git * outside a repo
  3 go-wrong-dir       built-in  go build/test outside Go module
  4 make-wrong-dir     built-in  make without Makefile in cwd
  5 npm-wrong-dir      built-in  npm/npx/pnpm/yarn outside Node project
  6 python-wrong-dir   built-in  python/pytest/pip outside Python project
  7 jj-translate       built-in  git * in jj-colocated repo
  8 asciinema-gif      built-in  asciinema rec
  9 fix-pytest-path    mined     pytest with wrong test path

Afficher les détails d’une compétence

$ precc skills show cargo-wrong-dir
Name:        cargo-wrong-dir
Type:        built-in
Source:      skills/builtin/cargo-wrong-dir.toml
Description: Detects cargo commands run outside a Rust project and prepends
             cd to the directory containing the nearest Cargo.toml.
Trigger:     ^cargo\s+(build|test|clippy|run|check|bench|doc)
Action:      prepend_cd
Marker:      Cargo.toml
Activations: 12

Exporter une compétence en TOML

$ precc skills export cargo-wrong-dir
[skill]
name = "cargo-wrong-dir"
description = "Prepend cd for cargo commands outside a Rust project"
trigger = "^cargo\\s+(build|test|clippy|run|check|bench|doc)"
action = "prepend_cd"
marker = "Cargo.toml"
priority = 10

Modifier une compétence

$ precc skills edit cargo-wrong-dir

Cela ouvre la définition de la compétence dans votre $EDITOR. Après sauvegarde, la compétence est rechargée automatiquement.

La commande Advise

precc skills advise analyse votre session récente et suggère de nouvelles compétences basées sur des motifs répétés :

$ precc skills advise
Analyzed 47 commands from the last session.

Suggested skills:
  1. docker-wrong-dir: You ran `docker compose up` outside the project root 3 times.
     Suggested trigger: ^docker\s+compose
     Suggested marker: docker-compose.yml

  2. terraform-wrong-dir: You ran `terraform plan` outside the infra directory 2 times.
     Suggested trigger: ^terraform\s+(plan|apply|init)
     Suggested marker: main.tf

Accept suggestion [1/2/skip]?

Regrouper les compétences

$ precc skills cluster

Regroupe les compétences extraites similaires pour aider à identifier les motifs redondants ou chevauchants.

Compétences extraites vs. intégrées

Les compétences intégrées sont livrées avec PRECC et définies dans skills/builtin/*.toml. Elles couvrent les erreurs de mauvais répertoire les plus courantes.

Les compétences extraites sont créées par precc ingest ou le démon precc-learner à partir de vos journaux de session. Elles sont stockées dans ~/.local/share/precc/heuristics.db et sont spécifiques à votre flux de travail. Voir Extraction pour les détails.