PROMPTR是一种CLI工具,可让您使用普通英语来指示OpenAI LLM型号对您的代码库进行更改。更改直接应用于您从提示符中引用的文件。
promptr [options] -p "your instructions" <file1> <file2> <file3> ...
我发现这是一个很好的工作流程:
-p选项: promptr -p my_prompt.txt提供提示文件的路径PROMPTR将直接将模型的代码应用于您的文件。使用您喜欢的Git UI检查结果。
下面的PR是使用Promptr可以完成的工作的好示例。您可以找到指向单个提交的链接以及在PR描述中创建它们的提示。
PROMPTR支持使用LiquidJS进行模板,这允许用户将模板命令合并到其提示文件中。此功能增强了提示的灵活性和可重复性,尤其是在处理具有重复模式或标准的较大项目时。
项目可以具有一个或多个“包括”的“代码或说明”段,可以从提示文件中包含。其中包括可能包含特定于项目的标准,说明或代码模式,使用户能够在其代码库中保持一致性。
例如,您可能有一个名为_poject.liquid的包含文件,其中包含以下内容:
This project uses Node version 18.
Use yarn for dependency management.
Use import not require in Javascript.
Don't include `module.exports` at the bottom of Javascript classes.
Alphabetize method names and variable declarations.在您的提示文件中,您可以使用liquidjs的render函数将其包含在您正在使用的提示文件中:
{% render '_project.liquid' %}
// your prompt here这种方法允许开发可重复使用的包括可以在多个项目或同一项目的不同部分共享的文件。
项目范围内的编码标准:创建一个包含文件,其中包含概述编码标准的注释,并将其包含在项目的每个新代码文件中。
样板代码:为应用程序的不同部分(例如,模型定义,API端点)开发一组样板代码段,并根据需要包含它们。
共享指令:维护一组特定任务的说明或指南(例如,如何记录功能),并将其包含在相关的提示文件中。
通过利用模板功能,及时工程师可以显着降低冗余并确保及时创建的一致性,从而对代码库进行更有效和标准化的修改。
| 选项 | 描述 |
|---|---|
-p, --prompt <prompt> | 指定在非交互模式下使用的提示。还可以指定路径或URL - 在这种情况下,将指定路径或URL的内容用作提示。提示可以利用LiquidJS模板系统。 |
-m, --model <model> | 可选标志以设置模型,默认为gpt-4o 。使用值“ GPT3”将使用gpt-3.5-turbo模型。 |
-d, --dry-run | 可选的布尔标志,可用于以干式运行模式运行工具,其中只显示将发送到模型的提示。使用此选项时,未对文件系统进行任何更改。 |
-i, --interactive | 可选的布尔标志,启用了交互式模式,用户可以在其中交互式提供输入。如果未设置此标志,则该工具以非相互作用模式运行。 |
| `-t, - template <templateName | 模板路径 |
-x | 可选的布尔国旗。 PROMPTR解析模型的响应,并在使用默认模板时将结果操作应用于文件系统。您只需要在创建自己的模板时传递-x标志,并且希望Progptr以与“重构”模板输出中的内置模板输出相同的方式进行分析和应用输出。 |
-o, --output-path <outputPath> | 可选的字符串标志指定输出文件的路径。如果未设置此标志,则将输出打印到Stdout。 |
-v, --verbose | 可选的布尔标志,可启用详细输出,在执行过程中提供更详细的信息。 |
-dac, --disable-auto-context | 防止提示中引用的文件自动包含在发送到模型的上下文中。 |
--version | 显示版本和退出 |
其他参数可以指定将作为上下文中包含在提示中的文件的路径。参数应由空间分开。
yarn global add @ifnotnowwhen/promptr
npm install -g @ifnotnowwhen/promptr
您可以通过将当前版本的二进制文件复制到路径来安装ProMPTR。目前仅支持MacOS。
一个称为OPENAI_API_KEY的环境变量预计将包含您的OpenAI API秘密密钥。
npm run bundle
npm run build:<platform win|macos|linux>
npm run test-binary
PROMPTR由MIT许可发布。