shelfwood/project-prompt-generator

为你在CLI中查看的给定Laravel项目生成提示

v1.5.0 2023-04-12 18:26 UTC

README

这是一个使用GPT和OpenAI API生成提示并分析项目文件的Laravel Zero CLI工具。您需要OpenAI API密钥才能使用此工具。

安装

要全局通过composer安装CLI工具,请运行以下命令

composer global require shelfwood/project-prompt-generator

安装后,创建一个新的项目目录,并在您的终端中导航到该目录。然后,运行以下命令

prompt install

这将安装必要的依赖项,创建数据库,并提示您选择默认项目,以便您可以从默认目录中选择项目。当您想要单独分析单个目录中的多个项目时,这个功能很方便。

用法

.env文件包含以下变量,必要的变量在运行prompt install命令时设置

OPENAI_API_KEY=
PROJECT_DIRECTORY=
REMOTE=
IGNORE_PATHS=/app/Helpers/characters.json

REMOTE变量用于指定要使用而不是当前工作目录的远程目录。IGNORE_PATHS变量用于指定在分析文件时要忽略的路径。这主要用于开发过程中,以便轻松在其它项目文件夹上运行此工具。

IGNORE_PATHS变量可以设置为要忽略的文件路径的逗号分隔列表。database/database.sqlite默认被忽略。

分析项目

要分析当前工作目录的文件并显示标记和描述的计数,请使用以下命令

prompt analyze [--remote]

可以使用--remote选项指定远程目录而不是使用当前工作目录。

清除命令

要清除数据库中的所有文件描述,请使用以下命令

project-cli clear

复制代码命令

要将当前项目中所有文件的代码连接起来(不带换行符)并计算标记数,请使用以下命令

project-cli copy:files [--remote]

可以使用--remote选项指定远程目录而不是使用当前工作目录。

复制压缩命令

要将当前项目的所有压缩文件描述连接起来并计算标记数,请使用以下命令

project-cli copy:compressed [--remote]

可以使用--remote选项指定远程目录而不是使用当前工作目录。

可以使用--remote选项指定远程目录而不是使用当前工作目录。

生成提案命令

要基于当前目录中的文件生成提案,请使用以下命令

project-cli generate:proposal [--remote]

该命令从数据库中检索项目目录和项目ID,并创建FileAnalyzerDescriberDescriptionStorage的实例来处理目录中的文件并存储生成的提案。最后,该命令提示用户提供关于功能或请求的描述。

README命令

要为当前项目生成README.md文件,请使用以下命令

project-cli readme [--remote]

可以使用--remote选项指定远程目录而不是使用当前工作目录。该命令使用Laravel的FileAnalyzer类来确定要扫描哪些文件以获取上下文信息。它还使用一个ChatGPT实例从每个文件中收集关键信息,用作编写README.md文件时的上下文。最后,该命令提示用户提供任何特殊说明,然后以markdown格式写出完整的README.md。

贡献

如果您想为此项目做出贡献,请在GitHub上提交pull request,或直接联系项目所有者。

许可

此项目受MIT许可协议的许可。

致谢

该项目由Joris Schelfhout创建。特别感谢Bit Academy为此项目提供资源。