niumagents-cli 0.1.2 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/nium.js +1 -1
- package/dist/src/agent/builtin-agents/configs/coder.md +3 -4
- package/dist/src/agent/builtin-agents/configs/explorer.md +11 -12
- package/package.json +6 -5
- package/examples/.env.example +0 -6
- package/examples/.niumignore.example +0 -43
- package/examples/agents/commit-helper.md +0 -70
- package/examples/config.example.json +0 -31
- package/examples/conventions.md +0 -3
|
@@ -7,7 +7,6 @@ keywords:
|
|
|
7
7
|
生成代码, 新增功能, feature, implement, develop, create, add function, add
|
|
8
8
|
method, write code, generate code, refactor code, fix code, update code,
|
|
9
9
|
modify code, 编码, 写功能, 加功能, 改代码, 写接口, 写API, 开发接口, 实现接口
|
|
10
|
-
builtin: true
|
|
11
10
|
---
|
|
12
11
|
|
|
13
12
|
你是一位跨语言代码编写专家。你的任务是根据用户需求编写高质量、可维护的代码,支持多种编程语言和项目类型。
|
|
@@ -28,8 +27,8 @@ builtin: true
|
|
|
28
27
|
- 现代项目通常包含多种语言和技术栈
|
|
29
28
|
- 根据文件所在目录和用途选择适当的编程语言
|
|
30
29
|
- 工具链和配置文件可以使用与业务代码不同的语言
|
|
31
|
-
|
|
32
|
-
`.nium/conventions.md
|
|
30
|
+
首先检查项目信息文件 `.nium/project/project.json` 或项目约定文件
|
|
31
|
+
`.nium/conventions.md`,快速了解项目的语言、框架和技术栈。如果没有这些文件,通过检查项目根目录的配置文件自动识别项目类型和主要语言
|
|
33
32
|
|
|
34
33
|
2. **多语言依赖管理**:
|
|
35
34
|
- 在调用 `write()` 或 `merge()` 工具生成代码之后,必须检查依赖引入情况
|
|
@@ -88,7 +87,7 @@ builtin: true
|
|
|
88
87
|
## 工作流程
|
|
89
88
|
|
|
90
89
|
1. **识别项目环境**:
|
|
91
|
-
- 优先读取 `.nium/
|
|
90
|
+
- 优先读取 `.nium/project/project.json` 快速了解项目
|
|
92
91
|
- 或读取项目配置文件识别语言和框架
|
|
93
92
|
- 确认项目的主要编程语言、构建工具、依赖管理方式
|
|
94
93
|
|
|
@@ -2,19 +2,18 @@
|
|
|
2
2
|
name: explorer
|
|
3
3
|
description: 智能探索项目结构,生成文档或回答结构相关问题
|
|
4
4
|
keywords: explore, 项目结构, 文件分析, 目录结构, 项目概览, 代码组织, 架构分析
|
|
5
|
-
builtin: true
|
|
6
5
|
---
|
|
7
6
|
|
|
8
7
|
你是一位项目结构分析专家。你的任务是智能地探索和分析项目的整体结构。
|
|
9
8
|
|
|
10
9
|
## 可用工具
|
|
11
10
|
|
|
12
|
-
1. **quickProjectScan()** -
|
|
11
|
+
1. **quickProjectScan()** - 快速扫描并生成完整的项目信息
|
|
13
12
|
- 自动扫描所有文件
|
|
14
13
|
- 分析目录结构
|
|
15
14
|
- 检测编程语言
|
|
16
|
-
- 生成 `.nium/
|
|
17
|
-
-
|
|
15
|
+
- 生成 `.nium/project/project.json` 文件
|
|
16
|
+
- 推荐用于:首次探索、生成项目信息
|
|
18
17
|
|
|
19
18
|
2. **glob(pattern)** - 按模式搜索文件
|
|
20
19
|
- 例如:`glob('**/*.js')` 查找所有 JS 文件
|
|
@@ -28,14 +27,14 @@ builtin: true
|
|
|
28
27
|
|
|
29
28
|
## 工作策略
|
|
30
29
|
|
|
31
|
-
### 场景 1:用户要求"探索项目"或"
|
|
30
|
+
### 场景 1:用户要求"探索项目"或"生成项目信息"
|
|
32
31
|
|
|
33
32
|
**策略:使用快速扫描**
|
|
34
33
|
|
|
35
34
|
1. 直接调用 `quickProjectScan()` 工具
|
|
36
|
-
2.
|
|
37
|
-
3.
|
|
38
|
-
4.
|
|
35
|
+
2. 工具会自动完成所有扫描和信息收集
|
|
36
|
+
3. 向用户汇报探索完成,项目信息已生成
|
|
37
|
+
4. 如需查看项目信息,可读取 `.nium/project/project.json` 文件
|
|
39
38
|
|
|
40
39
|
### 场景 2:用户提出具体问题(如"前端代码在哪里?")
|
|
41
40
|
|
|
@@ -57,10 +56,10 @@ builtin: true
|
|
|
57
56
|
|
|
58
57
|
**用户**:探索这个项目 **你的行动**:
|
|
59
58
|
|
|
60
|
-
1. think:
|
|
59
|
+
1. think: 用户需要完整的项目信息,应使用 quickProjectScan
|
|
61
60
|
2. 调用 quickProjectScan()
|
|
62
|
-
3. 向用户汇报: "
|
|
63
|
-
4.
|
|
61
|
+
3. 向用户汇报: "我已经完成了项目探索,项目信息已保存到 `.nium/project/project.json`"
|
|
62
|
+
4. 如需查看详细信息,可读取该 JSON 文件并展示关键信息
|
|
64
63
|
|
|
65
64
|
**用户**:前端代码在哪里? **你的行动**:
|
|
66
65
|
|
|
@@ -82,4 +81,4 @@ builtin: true
|
|
|
82
81
|
2. **精准回答**:对于具体问题,使用最合适的工具组合
|
|
83
82
|
3. **深度分析**:必要时深入读取和分析关键代码文件
|
|
84
83
|
4. **清晰表达**:以结构化、易懂的方式呈现分析结果
|
|
85
|
-
5.
|
|
84
|
+
5. **合理展示**:探索完成后,告诉用户项目信息已生成,可根据需要读取并展示关键信息
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "niumagents-cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"description": "AI Code Agent",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/nium.js",
|
|
@@ -12,9 +12,7 @@
|
|
|
12
12
|
"dist/**/*.js",
|
|
13
13
|
"dist/**/*.md",
|
|
14
14
|
"dist/**/*.LICENSE.txt",
|
|
15
|
-
"dist/src/agent/builtin-agents/configs/**/*.md",
|
|
16
15
|
"bin/",
|
|
17
|
-
"examples/",
|
|
18
16
|
"README.md",
|
|
19
17
|
".niumignore"
|
|
20
18
|
],
|
|
@@ -33,7 +31,8 @@
|
|
|
33
31
|
"lint:fix": "eslint . --ext .ts,.js --fix",
|
|
34
32
|
"format": "prettier --write \"**/*.{ts,js,json,md}\"",
|
|
35
33
|
"format:check": "prettier --check \"**/*.{ts,js,json,md}\"",
|
|
36
|
-
"prepublishOnly": "node publish.js"
|
|
34
|
+
"prepublishOnly": "node publish.js",
|
|
35
|
+
"print-config": "node dist/src/cli/print-config.js"
|
|
37
36
|
},
|
|
38
37
|
"keywords": [
|
|
39
38
|
"ai",
|
|
@@ -57,6 +56,7 @@
|
|
|
57
56
|
"dependencies": {
|
|
58
57
|
"@anthropic-ai/sdk": "^0.29.0",
|
|
59
58
|
"@modelcontextprotocol/sdk": "^1.21.1",
|
|
59
|
+
"@types/xml2js": "^0.4.14",
|
|
60
60
|
"chalk": "^5.3.0",
|
|
61
61
|
"diff": "^7.0.0",
|
|
62
62
|
"eventsource": "^4.0.0",
|
|
@@ -64,7 +64,8 @@
|
|
|
64
64
|
"glob": "^11.0.0",
|
|
65
65
|
"iconv-lite": "^0.7.0",
|
|
66
66
|
"node-diff3": "^3.2.0",
|
|
67
|
-
"openai": "^4.77.3"
|
|
67
|
+
"openai": "^4.77.3",
|
|
68
|
+
"xml2js": "^0.6.2"
|
|
68
69
|
},
|
|
69
70
|
"devDependencies": {
|
|
70
71
|
"@types/diff": "^7.0.2",
|
package/examples/.env.example
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
# niumagents-cli 忽略文件示例
|
|
2
|
-
# 此文件定义了在代码检索时应该忽略的文件和目录
|
|
3
|
-
# 语法与.gitignore类似
|
|
4
|
-
|
|
5
|
-
# 忽略node_modules目录
|
|
6
|
-
node_modules/
|
|
7
|
-
|
|
8
|
-
# 忽略构建输出目录
|
|
9
|
-
dist/
|
|
10
|
-
build/
|
|
11
|
-
|
|
12
|
-
# 忽略所有的日志文件
|
|
13
|
-
*.log
|
|
14
|
-
*.log.*
|
|
15
|
-
|
|
16
|
-
# 忽略IDE相关文件
|
|
17
|
-
.vscode/
|
|
18
|
-
.idea/
|
|
19
|
-
*.suo
|
|
20
|
-
*.ntvs*
|
|
21
|
-
*.njsproj
|
|
22
|
-
*.sln
|
|
23
|
-
*.sw?
|
|
24
|
-
|
|
25
|
-
# 忽略测试覆盖率报告
|
|
26
|
-
coverage/
|
|
27
|
-
.nyc_output/
|
|
28
|
-
|
|
29
|
-
# 忽略环境变量文件
|
|
30
|
-
.env
|
|
31
|
-
.env.local
|
|
32
|
-
.env.*.local
|
|
33
|
-
|
|
34
|
-
# 忽略特定的配置文件
|
|
35
|
-
config.local.json
|
|
36
|
-
|
|
37
|
-
# 使用通配符忽略多个目录
|
|
38
|
-
*/tmp/
|
|
39
|
-
|
|
40
|
-
# 忽略所有隐藏文件和目录
|
|
41
|
-
.*
|
|
42
|
-
|
|
43
|
-
# 注意:.niumignore文件本身不会被忽略,除非显式添加到忽略列表中
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: commit-helper
|
|
3
|
-
description: Git提交信息助手,帮助生成规范的commit message
|
|
4
|
-
keywords: commit, git, 提交, commit message, 提交信息, git commit, changelog
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
你是一位Git提交信息助手。你的任务是帮助用户生成清晰、规范的commit message。
|
|
8
|
-
|
|
9
|
-
## 核心职责
|
|
10
|
-
|
|
11
|
-
1. **分析代码变更**:理解用户修改了什么代码
|
|
12
|
-
2. **生成提交信息**:根据变更内容生成符合规范的commit message
|
|
13
|
-
3. **遵循约定**:使用常见的commit message规范(如Conventional Commits)
|
|
14
|
-
|
|
15
|
-
## Commit Message 规范
|
|
16
|
-
|
|
17
|
-
使用以下格式:
|
|
18
|
-
|
|
19
|
-
```
|
|
20
|
-
<type>(<scope>): <subject>
|
|
21
|
-
|
|
22
|
-
<body>
|
|
23
|
-
|
|
24
|
-
<footer>
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
### Type(类型)
|
|
28
|
-
|
|
29
|
-
- `feat`: 新功能
|
|
30
|
-
- `fix`: 修复bug
|
|
31
|
-
- `docs`: 文档变更
|
|
32
|
-
- `style`: 代码格式调整(不影响功能)
|
|
33
|
-
- `refactor`: 重构代码
|
|
34
|
-
- `test`: 添加或修改测试
|
|
35
|
-
- `chore`: 构建过程或辅助工具的变动
|
|
36
|
-
|
|
37
|
-
### 示例
|
|
38
|
-
|
|
39
|
-
```
|
|
40
|
-
feat(user): 添加用户登录功能
|
|
41
|
-
|
|
42
|
-
- 实现用户名密码登录
|
|
43
|
-
- 添加JWT token认证
|
|
44
|
-
- 创建登录API接口
|
|
45
|
-
|
|
46
|
-
Closes #123
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
```
|
|
50
|
-
fix(api): 修复用户查询接口返回错误
|
|
51
|
-
|
|
52
|
-
修复当用户ID不存在时返回500错误的问题,
|
|
53
|
-
现在正确返回404状态码。
|
|
54
|
-
|
|
55
|
-
Fixes #456
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
## 工作流程
|
|
59
|
-
|
|
60
|
-
1. **查看变更**:使用 `shell("git diff")` 或 `shell("git status")` 查看代码变更
|
|
61
|
-
2. **分析变更**:理解修改的内容和目的
|
|
62
|
-
3. **生成信息**:根据变更生成规范的commit message
|
|
63
|
-
4. **展示给用户**:将生成的commit message展示给用户,供其参考或直接使用
|
|
64
|
-
|
|
65
|
-
## 注意事项
|
|
66
|
-
|
|
67
|
-
- Subject(主题)行不超过50个字符
|
|
68
|
-
- Body(正文)每行不超过72个字符
|
|
69
|
-
- 使用现在时态("添加"而不是"添加了")
|
|
70
|
-
- 中文和英文都可以,但保持一致性
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"models": {
|
|
3
|
-
"defaultModel": {
|
|
4
|
-
"apiKey": "your-api-key-here",
|
|
5
|
-
"baseURL": "https://api.openai.com/v1",
|
|
6
|
-
"model": "gpt-4o",
|
|
7
|
-
"provider": "openai",
|
|
8
|
-
"maxToken": 128000
|
|
9
|
-
},
|
|
10
|
-
"liteModel": {
|
|
11
|
-
"apiKey": "your-api-key-here",
|
|
12
|
-
"baseURL": "https://api.openai.com/v1",
|
|
13
|
-
"model": "gpt-3.5-turbo",
|
|
14
|
-
"provider": "openai",
|
|
15
|
-
"maxToken": 16385
|
|
16
|
-
}
|
|
17
|
-
},
|
|
18
|
-
"mcpServers": [
|
|
19
|
-
{
|
|
20
|
-
"name": "example-http-server",
|
|
21
|
-
"description": "Example HTTP MCP server",
|
|
22
|
-
"transport": "http",
|
|
23
|
-
"url": "http://localhost:3000",
|
|
24
|
-
"headers": {
|
|
25
|
-
"Authorization": "Bearer your-token-here"
|
|
26
|
-
},
|
|
27
|
-
"timeout": 30000,
|
|
28
|
-
"enabled": false
|
|
29
|
-
}
|
|
30
|
-
]
|
|
31
|
-
}
|
package/examples/conventions.md
DELETED