将任何可用的项目命令或脚本别名为“p<name>`。
p-cli的Python项目详细描述
p
p收集项目的所有可用命令/脚本,
并将其别名为p <name>
。
单独运行p
将列出所有已知的命令。在
如果您个人开始使用p,
您可能会发现p
是您在{p
,
你会自然而然地开始改进那些开发经验较差的项目。在
安装或更新
不要将其添加到项目中。将其添加到您的计算机,系统范围或用户范围。在
# System-wide or user-wide, not per project
$ pip3 install -U p-cli
示例
^{pr2}$问题
通常需要几分钟才能弄清楚start如何工作 什么。
每个项目都是不同的,但几乎每个项目都有一套
用于运行常见操作的开发命令或脚本。如果没有,那么
也许应该。
不同的语言、人员和工具以不同的方式实现这一点。一些
项目使用好的ol'Makefile
,而其他项目使用package.json
“脚本”,
bash脚本、rake
、fabric
等等
解决方案
Running p
将显示您所在项目的可用命令。
例如:
$ cd project
$ p
Usage: p [OPTIONS] COMMAND [ARGS]...
Options:
--version
--help Show this message and exit.
Commands:
mypy Using: ./scripts/mypy
pre-commit Using: ./scripts/pre-commit
setup Using: ./bin/setup
test Using: ./scripts/test
它通过发现项目中已经存在的脚本和命令来做到这一点。在
p不是项目需求或依赖项——它是个人的 工具。项目中没有任何东西应该依赖于p,而应该符合p 对p友好的标准,无论有没有p本身都可以使用。在
理想情况下,p将“工作”。但如果不是,它通常是在你的项目中最好的
有兴趣设计一个开发者体验,如果有人
是在使用p。也就是说,编写一些最常用的动作
你的项目(install
,test
,deploy
,
把它们放在一个统一的地方,供贡献者可以很容易地计算
知道如何使用它们。P只是一个很小的抽象层,使它变得均匀
对使用它的人来说更容易。在
项目命令
本地脚本
p将自动在./scripts
或./bin
中找到可执行脚本(没有文件扩展名)。
文件名将作为一个命令添加,这样它们就可以通过执行p {script-name}
来运行。在
$ tree scripts/
scripts/
├── compile-assets
├── load-fixtures
├── pre-commit
├── setup
├── start-postgres
├── test
└── work
将导致:
$ p
Usage: p [OPTIONS] COMMAND [ARGS]...
Options:
--version
--help Show this message and exit.
Commands:
compile-assets Using: ./scripts/compile-assets
load-fixtures Using: ./scripts/load-fixtures
pre-commit Using: ./scripts/pre-commit
setup Using: ./scripts/setup
start-postgres Using: ./scripts/start-postgres
test Using: ./scripts/test
work Using: ./scripts/work
生成文件
如果项目中有Makefile
,
p将自动解析.PHONY
,并通过p使这些命令可用。
所以如果你有make test
,
p用户也可以通过p test
使用它。在
在包.json脚本
您的package.json
“脚本”中的条目将自动映射到p命令。在
例如:
{"scripts":{"start":"react-scripts start"}}
会导致:
Usage: p [OPTIONS] COMMAND [ARGS]...
Options:
--version
--help Show this message and exit.
Commands:
install Using: ./scripts/install
start Using: npm run start
Git挂钩
如果您使用
名为pre-commit
或post-merge
的命令。在p install
或p {git-hook-name}
上,它将提示您安装
它进入你的本地.githooks
。在
分组(高级)
为了使p帮助更加用户友好,您可以从顶层对命令进行分组和隐藏。
这是通过在命令名中使用:
来自动运行的。在
例如,如果您有db:load
和db:reset
这样的命令,您将得到一个db
组。
您可以运行p db
来查看db中的子命令,并运行p db load
来运行子命令。在
$ p
Usage: p [OPTIONS] COMMAND [ARGS]...
Options:
--version
--help Show this message and exit.
Commands:
db
$ p db load
(也可以直接调用分组命令p db:load
。)
灵感来自
- Dropseed’s项目cli(专用)
- Flint Hills Design’sfhd cli(专用)
- https://github.com/github/scripts-to-rule-them-all
- https://github.com/bkeepers/strappydoo
- 有太多的项目
- 项目
标签: