将任何可用的项目命令或脚本别名为“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脚本、rakefabric等等

解决方案

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。也就是说,编写一些最常用的动作 你的项目(installtestdeploy, 把它们放在一个统一的地方,供贡献者可以很容易地计算 知道如何使用它们。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-commitpost-merge的命令。在p installp {git-hook-name}上,它将提示您安装 它进入你的本地.githooks。在

分组(高级)

为了使p帮助更加用户友好,您可以从顶层对命令进行分组和隐藏。 这是通过在命令名中使用:来自动运行的。在

例如,如果您有db:loaddb: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。)

灵感来自

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java为什么这个循环打印1020之间的所有值?我想让它打印出可以被5整除的值   java如何在JTable中集中单元格   java无法通过一个键从hashmap获取对象,该键具有相同的hashcode,并且两个键等于()   不兼容的类型?JAVA   将字符串开头与空格匹配时java replaceAll的正则表达式混淆结果   java为非java应用程序创建jar文件。类文件   java无法从另一个普通Http Servlet访问筛选器Servlet的会话属性   java Ejb,第二个方法中的错误回滚第一个方法   swing java操作侦听器在菜单上,而不是在菜单项上   分析文件时出错:分析文件时出错:无法在Java的XSSF中分析excel文件   java将实体注入到ViewScope Bean中   java如何关闭终端而不终止正在运行的jar文件进程   爪哇力下传   java不能隐式地将[T]强制转换为AT,其中[T]扩展为AT   java Spring项目在jsp页面中显示mysql表数据   java在创建新实例SQLITE时出错