pf 统一 CLI 入口
所有工具通过 pf <tool> [command] [options] 调用。工具定义在 cli/configs/ 目录下的 YAML 文件中。
基本用法
pf # 列出所有可用工具
pf filedate # 查看 filedate 工具帮助
pf filedate add a.txt # 调用 filedate 的 add 子命令
pf gitt c # 调用 gittool 的 c 子命令
pf pymake b # 调用 pymake 的 b 别名
全局选项
所有 YAML 工具支持以下全局选项:
选项 |
说明 |
|---|---|
|
仅打印执行计划,不执行 |
|
减少输出,不显示执行过程 |
|
执行策略( |
|
列出所有任务名后退出 |
默认 verbose 开启,显示执行过程(任务开始/命令/返回码/任务成功)。--quiet 关闭。
YAML 配置工具
工具 |
别名 |
说明 |
|---|---|---|
|
|
文件日期处理 |
|
|
文件等级重命名 |
|
|
文件夹备份 |
|
|
文件夹压缩 |
|
|
Git 执行工具 |
|
|
LS-DYNA 计算工具 |
|
|
Python 打包工具 |
|
|
PDF 文件工具集 |
|
|
pip 包管理工具 |
|
|
截图工具 |
|
|
SSH 密钥部署工具 |
|
|
自动格式化工具 |
|
|
版本号自动管理工具 |
传统工具
工具 |
说明 |
|---|---|
|
构建工具(替代 Makefile),如 |
|
YAML pipeline 执行器, |
|
性能分析 |
|
邮件管理 |
|
重置图标缓存 |
自定义工具
在 cli/configs/ 目录新建 <tool>.yaml 即可被 pf 自动发现:
# cli/configs/mytool.yaml
strategy: sequential
variables:
MSG: "hello"
cli:
description: "我的工具"
usage: "pf mytool [command]"
subcommands:
greet:
help: "打招呼"
jobs:
greet:
cmd: ["echo", "${MSG}"]
执行:
pf mytool greet
CliRunner(编程式)
CliRunner 把多个 Graph 映射为命令行子命令,适合构建项目专属构建工具:
runner = px.CliRunner(
strategy="sequential",
description="My Build Tool",
graphs={
"clean": clean_graph,
"build": build_graph,
"test": test_graph,
},
)
runner.run_cli() # 解析 sys.argv 并执行
命令行:
pf pymake clean
pf pymake build --strategy thread
pf pymake test --dry-run
pf pymake --list
pf pymake --quiet