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-dircargo build/test/clippy خارج از پروژه Rustافزودن cd به نزدیک‌ترین پوشه Cargo.toml
git-wrong-dirgit * خارج از مخزن gitافزودن cd به نزدیک‌ترین پوشه .git
go-wrong-dirgo build/test خارج از ماژول Goافزودن cd به نزدیک‌ترین پوشه go.mod
make-wrong-dirmake بدون Makefile در پوشه فعلیافزودن cd به نزدیک‌ترین پوشه Makefile
npm-wrong-dirnpm/npx/pnpm/yarn خارج از پروژه Nodeافزودن cd به نزدیک‌ترین پوشه package.json
python-wrong-dirpython/pytest/pip خارج از پروژه Pythonافزودن cd به نزدیک‌ترین پروژه Python
jj-translategit * در مخزن jj هم‌مکانبازنویسی به دستور 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 ingest یا دیمن precc-learner از لاگ‌های جلسه شما ایجاد می‌شوند. در ~/.local/share/precc/heuristics.db ذخیره می‌شوند و مختص گردش کار شما هستند. برای جزئیات استخراج را ببینید.