## 一、如何使用arms?
使用`--help`命令熟悉arms:
```
(venv311) ➜ ~ arms --help
usage: arms [-h] {version,init,patch,config,search,update,design} ...
armstrong
positional arguments:
{version,init,patch,config,search,update,design}
version 显示版本
init 项目初始化工具
patch 项目补丁工具
config arms配置工具
search 项目搜索工具
update arms更新配置
design 生成文本并复制
options:
-h, --help show this help message and exit
```
### 第一步:配置arms
```
arms config ${PARSEC_GITLAB}/arms-tpl/source
```
### 第二步:搜索项目
对于kotlin项目,可以尝试:
```
(venv311) ➜ ~ arms search kotlin
spring-kotlin - kotlin on springboot with CI
kotlin-user - kotlin, 带用户体系
```
### 第三步:生成初始化代码
根据上一步的搜索接口,先cd到新创建的项目目录,执行:
```
git init # 如果目录下已经用.git目录则忽略
arms init kotlin-user
```
## 二、如何创建模版项目
以kotlin-user项目为例,在其项目根目录创建一个`.arms.json`文件,内容为:
```json
{
"__name__": [
{"word": "grpn", "hint": "组名称"}
],
".env": {
"ARMS_PROJECT_NAME": "demo"
}
}
```
然后在`arms init ...`的时候arms就会要求用户输入「组名称」和「服务名称」,用于“智能地”替换"grpn"和"demo"。
arms也支持多级配置,例如下面这个前端CI模版的`.arms.json`文件:
```json
{
"管理端": {
"__name__": [{"word": "grpn", "hint": "组名称"}],
"__only__": ["docker", ".gitlab-ci.yml"]
},
"H5端": {
"__name__": [{"word": "grpn", "hint": "组名称"}],
"__only__": ["docker", ".gitlab-ci.yml:.gitlab-ci.mobile.yml"]
},
".env": {
"ARMS_PROJECT_NAME": "demo"
}
}
```
### 关键字列表
```
__name__: [{}] //依次提示用户输入
__only__: [""] //只包含的文件,支持改名
__except__: [""] //排除的文件
```
## 三、如何使用patch功能
patch功能可以把生成的内容打印到标准输入,用户可以把内容作为上下文,跟prompt一起提交给LLM,从而提升LLM结果的质量。
## 四、友情项目
- inky-flow-cli: ${PARSEC_GITLAB}/inky/flow_cli ,用于后端项目启动阶段,目标是生成openapi.json。
Raw data
{
"_id": null,
"home_page": "https://pypi.python.org/pypi/arms",
"name": "arms",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "arms armstrong chongqing",
"author": "qorzj",
"author_email": "inull@qq.com",
"download_url": "https://files.pythonhosted.org/packages/ad/31/ad1b0596aca91b8ca0afa8f484ce14cd56aacc712bf5542d8330ea4c2181/arms-1.10.1.tar.gz",
"platform": "any",
"description": "## \u4e00\u3001\u5982\u4f55\u4f7f\u7528arms\uff1f\n\n\u4f7f\u7528`--help`\u547d\u4ee4\u719f\u6089arms:\n\n```\n(venv311) \u279c ~ arms --help\nusage: arms [-h] {version,init,patch,config,search,update,design} ...\n\narmstrong\n\npositional arguments:\n {version,init,patch,config,search,update,design}\n version \u663e\u793a\u7248\u672c\n init \u9879\u76ee\u521d\u59cb\u5316\u5de5\u5177\n patch \u9879\u76ee\u8865\u4e01\u5de5\u5177\n config arms\u914d\u7f6e\u5de5\u5177\n search \u9879\u76ee\u641c\u7d22\u5de5\u5177\n update arms\u66f4\u65b0\u914d\u7f6e\n design \u751f\u6210\u6587\u672c\u5e76\u590d\u5236\n\noptions:\n -h, --help show this help message and exit\n```\n\n### \u7b2c\u4e00\u6b65\uff1a\u914d\u7f6earms\n\n```\narms config ${PARSEC_GITLAB}/arms-tpl/source\n```\n\n### \u7b2c\u4e8c\u6b65\uff1a\u641c\u7d22\u9879\u76ee\n\n\u5bf9\u4e8ekotlin\u9879\u76ee\uff0c\u53ef\u4ee5\u5c1d\u8bd5\uff1a\n\n```\n(venv311) \u279c ~ arms search kotlin\nspring-kotlin - kotlin on springboot with CI\nkotlin-user - kotlin, \u5e26\u7528\u6237\u4f53\u7cfb\n```\n\n### \u7b2c\u4e09\u6b65\uff1a\u751f\u6210\u521d\u59cb\u5316\u4ee3\u7801\n\n\u6839\u636e\u4e0a\u4e00\u6b65\u7684\u641c\u7d22\u63a5\u53e3\uff0c\u5148cd\u5230\u65b0\u521b\u5efa\u7684\u9879\u76ee\u76ee\u5f55\uff0c\u6267\u884c\uff1a\n\n```\ngit init # \u5982\u679c\u76ee\u5f55\u4e0b\u5df2\u7ecf\u7528.git\u76ee\u5f55\u5219\u5ffd\u7565\narms init kotlin-user\n```\n\n## \u4e8c\u3001\u5982\u4f55\u521b\u5efa\u6a21\u7248\u9879\u76ee\n\n\u4ee5kotlin-user\u9879\u76ee\u4e3a\u4f8b\uff0c\u5728\u5176\u9879\u76ee\u6839\u76ee\u5f55\u521b\u5efa\u4e00\u4e2a`.arms.json`\u6587\u4ef6\uff0c\u5185\u5bb9\u4e3a\uff1a\n\n```json\n{\n \"__name__\": [\n {\"word\": \"grpn\", \"hint\": \"\u7ec4\u540d\u79f0\"}\n ],\n \".env\": {\n \"ARMS_PROJECT_NAME\": \"demo\"\n }\n}\n```\n\n\u7136\u540e\u5728`arms init ...`\u7684\u65f6\u5019arms\u5c31\u4f1a\u8981\u6c42\u7528\u6237\u8f93\u5165\u300c\u7ec4\u540d\u79f0\u300d\u548c\u300c\u670d\u52a1\u540d\u79f0\u300d\uff0c\u7528\u4e8e\u201c\u667a\u80fd\u5730\u201d\u66ff\u6362\"grpn\"\u548c\"demo\"\u3002\n\narms\u4e5f\u652f\u6301\u591a\u7ea7\u914d\u7f6e\uff0c\u4f8b\u5982\u4e0b\u9762\u8fd9\u4e2a\u524d\u7aefCI\u6a21\u7248\u7684`.arms.json`\u6587\u4ef6\uff1a\n\n```json\n{\n \"\u7ba1\u7406\u7aef\": {\n \"__name__\": [{\"word\": \"grpn\", \"hint\": \"\u7ec4\u540d\u79f0\"}],\n \"__only__\": [\"docker\", \".gitlab-ci.yml\"]\n },\n \"H5\u7aef\": {\n \"__name__\": [{\"word\": \"grpn\", \"hint\": \"\u7ec4\u540d\u79f0\"}],\n \"__only__\": [\"docker\", \".gitlab-ci.yml:.gitlab-ci.mobile.yml\"]\n },\n \".env\": {\n \"ARMS_PROJECT_NAME\": \"demo\"\n }\n}\n```\n\n### \u5173\u952e\u5b57\u5217\u8868\n\n```\n__name__: [{}] //\u4f9d\u6b21\u63d0\u793a\u7528\u6237\u8f93\u5165\n__only__: [\"\"] //\u53ea\u5305\u542b\u7684\u6587\u4ef6\uff0c\u652f\u6301\u6539\u540d\n__except__: [\"\"] //\u6392\u9664\u7684\u6587\u4ef6\n```\n\n## \u4e09\u3001\u5982\u4f55\u4f7f\u7528patch\u529f\u80fd\n\npatch\u529f\u80fd\u53ef\u4ee5\u628a\u751f\u6210\u7684\u5185\u5bb9\u6253\u5370\u5230\u6807\u51c6\u8f93\u5165\uff0c\u7528\u6237\u53ef\u4ee5\u628a\u5185\u5bb9\u4f5c\u4e3a\u4e0a\u4e0b\u6587\uff0c\u8ddfprompt\u4e00\u8d77\u63d0\u4ea4\u7ed9LLM\uff0c\u4ece\u800c\u63d0\u5347LLM\u7ed3\u679c\u7684\u8d28\u91cf\u3002\n\n## \u56db\u3001\u53cb\u60c5\u9879\u76ee\n\n- inky-flow-cli: ${PARSEC_GITLAB}/inky/flow_cli \uff0c\u7528\u4e8e\u540e\u7aef\u9879\u76ee\u542f\u52a8\u9636\u6bb5\uff0c\u76ee\u6807\u662f\u751f\u6210openapi.json\u3002\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "CI/CD tool of Chongqing Parsec Corp.",
"version": "1.10.1",
"project_urls": {
"Homepage": "https://pypi.python.org/pypi/arms"
},
"split_keywords": [
"arms",
"armstrong",
"chongqing"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "516b0df50d40b368eb426ca6917a2184a78fdec9a8892a9d7fe5f46102d4cca2",
"md5": "cb1f1dfdda4cf8c754939fee1addb051",
"sha256": "c514f25737f54e081db43c97ec883357bf31e3c403955f38e12242fd92b17091"
},
"downloads": -1,
"filename": "arms-1.10.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "cb1f1dfdda4cf8c754939fee1addb051",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 22094,
"upload_time": "2024-12-25T10:18:39",
"upload_time_iso_8601": "2024-12-25T10:18:39.276776Z",
"url": "https://files.pythonhosted.org/packages/51/6b/0df50d40b368eb426ca6917a2184a78fdec9a8892a9d7fe5f46102d4cca2/arms-1.10.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ad31ad1b0596aca91b8ca0afa8f484ce14cd56aacc712bf5542d8330ea4c2181",
"md5": "d0daf1523f26e0fe0801371dea34a0ed",
"sha256": "6e1f0720877cf5f5d5c76e126a49a216f4cc327593fcc59e7b972ad981216559"
},
"downloads": -1,
"filename": "arms-1.10.1.tar.gz",
"has_sig": false,
"md5_digest": "d0daf1523f26e0fe0801371dea34a0ed",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 20982,
"upload_time": "2024-12-25T10:18:42",
"upload_time_iso_8601": "2024-12-25T10:18:42.366556Z",
"url": "https://files.pythonhosted.org/packages/ad/31/ad1b0596aca91b8ca0afa8f484ce14cd56aacc712bf5542d8330ea4c2181/arms-1.10.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-25 10:18:42",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "arms"
}