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

技能

技能是PRECC用来检测和纠正命令的模式匹配规则。它们可以是内置的(作为TOML文件分发)或从会话日志中挖掘的。

内置技能

技能触发条件动作
cargo-wrong-dir在Rust项目外运行 cargo build/test/clippy在命令前添加 cd 到最近的 Cargo.toml 目录
git-wrong-dir在git仓库外运行 git *在命令前添加 cd 到最近的 .git 目录
go-wrong-dir在Go模块外运行 go build/test在命令前添加 cd 到最近的 go.mod 目录
make-wrong-dir当前目录没有Makefile时运行 make在命令前添加 cd 到最近的Makefile目录
npm-wrong-dir在Node项目外运行 npm/npx/pnpm/yarn在命令前添加 cd 到最近的 package.json 目录
python-wrong-dir在Python项目外运行 python/pytest/pip在命令前添加 cd 到最近的Python项目
jj-translate在jj共存仓库中运行 git *重写为等效的 jj 命令
asciinema-gifasciinema rec重写为 precc gif

列出技能

$ 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

显示技能详情

$ 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

将技能导出为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

编辑技能

$ precc skills edit cargo-wrong-dir

这将在您的 $EDITOR 中打开技能定义。保存后,技能会自动重新加载。

Advise 命令

precc skills advise 分析您最近的会话,并根据重复模式建议新技能:

$ 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]?

聚类技能

$ precc skills cluster

将相似的挖掘技能分组,帮助识别冗余或重叠的模式。

挖掘技能与内置技能

内置技能随PRECC一起分发,定义在 skills/builtin/*.toml 中。它们涵盖了最常见的目录错误。

挖掘技能由 precc ingestprecc-learner 守护进程从您的会话日志创建。它们存储在 ~/.local/share/precc/heuristics.db 中,特定于您的工作流程。详情请参阅挖掘