将软件生命周期最佳实践自动化应用于您的GitHub仓库
项目描述
SLIM CLI工具
Automate the application of best practices to your git repositories
SLIM CLI是一款命令行工具,旨在无缝地将SLIM最佳实践与您的开发工作流程结合。它从您的Git仓库中获取并应用结构化的SLIM最佳实践。该工具利用人工智能能力根据您的仓库特定情况定制和调整SLIM最佳实践的应用。
特性
- 适用于将SLIM最佳实践应用于Git开发工作流程的命令行界面。
- 从SLIM注册表中动态获取最新的SLIM最佳实践。
- 允许在将最佳实践应用于存储库之前,使用高级AI模型进行自定义。
- 部署(或git添加),提交并推送到您的存储库的远程端。
内容
快速入门
本指南提供了快速开始我们项目的简单方法。请参阅我们的文档,以获取更全面的概述。
要求
- Python 3.7+
- Git
.env
文件,用于正确配置Azure和OpenAI API的环境# .env for Azure AZURE_TENANT_ID=<Your-Azure-Tenant-ID> AZURE_CLIENT_ID=<Your-Azure-Client-ID> AZURE_CLIENT_SECRET=<Your-Azure-Client-Secret> API_ENDPOINT=<Your-Azure-OpenAI-API-Endpoint> API_VERSION=<Azure-OpenAI-API-Version> APIM_SUBSCRIPTION_KEY=<Your-Azure-Subscription-Key>
# .env for OpenAI OPENAI_API_KEY=<Your-OpenAI-API-Key>
设置说明
由于SLIM CLI是用Python编写的,因此您需要Python 3.7或更高版本。通常,您会想要创建一个虚拟环境,以便将SLIM的依赖项与其他使用Python的应用程序隔离开。使用pip
在该环境中安装
pip install slim-cli
这将从Python包索引安装最新的SLIM CLI及其依赖项。新的控制台脚本slim
现在可供使用。通过运行以下命令进行确认
slim --version
slim --help
要升级
pip install --upgrade slim-cli
或选择特定版本,例如X.Y.Z
pip install slim-cli==X.Y.Z
运行说明
本节提供了与SLIM CLI交互的详细命令。每个命令都包含各种选项,您可以根据需要指定这些选项以调整工具的行为。
-
列出所有可用的最佳实践
- 此命令列出从SLIM注册表中获取的所有最佳实践。
slim list
-
将最佳实践应用于存储库
- 此命令将指定的最佳实践应用于一个或多个存储库。它支持同时跨多个存储库应用多个实践,并提供AI自定义选项。
--best-practice-ids
:要应用的最佳实践ID列表。--repo-urls
:要应用最佳实践的存储库URL列表;如果指定了--repo-dir
,则不使用。--repo-dir
:应用最佳实践存储库的本地目录路径。--clone-to-dir
:如果本地不存在,则将存储库克隆到的路径。与--repo-urls
兼容。--use-ai
:启用AI功能,根据项目的特定需求自定义最佳实践的应用。将模型提供商和模型名称作为参数指定(例如,azure/gpt-4o
)。
slim apply --best-practice-ids SLIM-123 SLIM-456 --repo-urls https://github.com/your-username/your-repo1 https://github.com/your-username/your-repo2
- 使用AI自定义应用最佳实践
# Apply a specific best practice using AI customization slim apply --best-practice-ids SLIM-123 --repo-urls https://github.com/your_org/your_repo.git --use-ai <model provider>/<model name>
示例用法
# Apply and deploy a best practice using Azure's GPT-4o model slim apply --best-practice-ids SLIM-3.1 --repo-urls https://github.com/riverma/terraformly/ --use-ai azure/gpt-4o
# Apply and deploy a best practice using Ollama's LLaMA 3.1 model slim apply --best-practice-ids SLIM-3.1 --repo-urls https://github.com/riverma/terraformly/ --use-ai ollama/llama3.1:405b
-
部署最佳实践
- 在应用最佳实践后,您可能希望将它们部署(提交并推送)到远程存储库。
--best-practice-ids
:已应用并准备好部署的最佳实践ID列表。--repo-dir
:将更改提交和推送的存储库的本地目录。--remote-name
:指定要推送更改的git配置中的远程名称。--commit-message
:描述更改的提交信息。
slim deploy --best-practice-ids SLIM-123 SLIM-456 --repo-dir /path/to/repo --remote-name origin --commit-message "Apply SLIM best practices"
-
应用并部署最佳实践
- 将最佳实践的应用和部署合并为一步。
--best-practice-ids
:要应用和部署的最佳实践ID列表。--repo-urls
:如果尚未克隆,则用于克隆的存储库URL列表;如果指定了--repo-dir
,则不使用。--repo-dir
:指定应用最佳实践和提交更改的存储库目录。--remote-name
:指定要推送更改的远程。格式应该是类似于GitHub的URL基础。例如https://github.com/my_github_user
--commit-message
:描述更改的提交信息。--use-ai
:如果指定,则在应用之前启用AI定制最佳实践。默认为False。
slim apply-deploy --best-practice-ids SLIM-123 --repo-urls https://github.com/your-username/your-repo1 https://github.com/your-username/your-repo2 --remote-name origin --commit-message "Integrated SLIM best practice with AI customization"
示例输出
AI features disabled Applied best practice SLIM-123 and committed to branch slim-123 Pushed changes to remote origin on branch slim-123
每个命令可以根据需要使用额外的标志进行修改,以适应更具体的任务或环境。
变更日志
有关我们的变更历史,请参阅CHANGELOG.md。
有关我们的关键版本发布,请参阅发布页面。
常见问题(FAQ)
关于我们的项目有任何疑问?请参阅我们的:常见问题解答
贡献
有兴趣为我们的项目做出贡献?请参阅我们的:CONTRIBUTING.md
有关如何与我们的团队互动的指南,请参阅我们位于CODE_OF_CONDUCT.md的行为准则
有关我们的治理方法,包括决策过程和我们的各种角色,请参阅我们位于GOVERNANCE.md的治理模型
本地开发
对于SLIM CLI的本地开发,请克隆GitHub仓库,创建虚拟环境,然后将包以可编辑模式安装到其中
git clone --quiet https://github.com/NASA-AMMOS/slim-cli.git
cd slim-cli
python3 -m venv .venv
source .venv/bin/activate
pip install --editable .
现在slim
控制台脚本以可编辑模式准备就绪;您对src
目录下源文件的更改在运行时将立即反映出来。
运行测试
我们使用pytest
进行测试。测试文件位于tests
子目录中。要运行测试,请确保您位于项目的根目录(其中包含pyproject.toml
或setup.py
)并且已安装pytest
。您可以通过pip安装pytest
pip install pytest
要执行所有测试,只需运行
pytest
如果您想运行特定的测试文件,您可以指定测试文件的路径
pytest tests/jpl/slim/test_cli.py
这将运行指定文件中的所有测试。您还可以使用pytest
选项,例如-v
用于详细输出或-s
以在输出中查看打印语句
pytest -v -s
发布新版本
要将SLIM CLI的新版本发布到Python包索引,通常您会更新VERSION.txt
文件;然后执行
pip install build wheel twine
python3 -m build .
twine upload dist/*
(注意:这最终可以通过GitHub Actions自动化。)
许可
请参阅我们的:LICENSE
支持
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分发
构建分发
slim_cli-0.0.4.tar.gz的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 40ff34478ed4b19c717a91a88349e2096138dbe848e4c59e0f46425956064c33 |
|
MD5 | 717b8a1bbff1a0a4812dda6ed5032f87 |
|
BLAKE2b-256 | e953561d0e8a09dfa06e6aeb14426539bfdc6895eeae96097f647cce4af2b433 |