@vibe-assurance/cli 1.0.5 → 1.0.7
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 +38 -31
- package/package.json +1 -1
- package/src/mcp/tools.js +101 -2
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @vibe-assurance/cli
|
|
2
2
|
|
|
3
|
-
Connect
|
|
3
|
+
Connect AI coding agents to your Vibe Assurance governance platform via the Model Context Protocol (MCP).
|
|
4
4
|
|
|
5
5
|
## Installation
|
|
6
6
|
|
|
@@ -16,13 +16,13 @@ npm install -g @vibe-assurance/cli
|
|
|
16
16
|
```
|
|
17
17
|
This opens your browser for authentication.
|
|
18
18
|
|
|
19
|
-
2. **Configure
|
|
19
|
+
2. **Configure your MCP client:**
|
|
20
20
|
```bash
|
|
21
21
|
vibe setup-claude
|
|
22
22
|
```
|
|
23
|
-
This adds the Vibe Assurance MCP server to your
|
|
23
|
+
This adds the Vibe Assurance MCP server to your MCP client configuration.
|
|
24
24
|
|
|
25
|
-
3. **Restart
|
|
25
|
+
3. **Restart your AI agent** and start using governance tools!
|
|
26
26
|
|
|
27
27
|
## Usage
|
|
28
28
|
|
|
@@ -32,24 +32,39 @@ npm install -g @vibe-assurance/cli
|
|
|
32
32
|
|---------|-------------|
|
|
33
33
|
| `vibe login` | Authenticate with Vibe Assurance |
|
|
34
34
|
| `vibe logout` | Clear stored credentials |
|
|
35
|
-
| `vibe mcp-server` | Start the MCP server (used by
|
|
36
|
-
| `vibe setup-claude` | Configure
|
|
35
|
+
| `vibe mcp-server` | Start the MCP server (used by AI coding agents) |
|
|
36
|
+
| `vibe setup-claude` | Configure MCP client to use Vibe Assurance |
|
|
37
|
+
| `vibe --version` | Show CLI version |
|
|
37
38
|
|
|
38
|
-
###
|
|
39
|
+
### MCP Tools
|
|
39
40
|
|
|
40
|
-
Once configured,
|
|
41
|
+
Once configured, your AI coding agent has access to these tools:
|
|
42
|
+
|
|
43
|
+
#### Roles (AI Analyst Prompts)
|
|
44
|
+
|
|
45
|
+
| Tool | Description |
|
|
46
|
+
|------|-------------|
|
|
47
|
+
| `vibe_get_role` | Get an AI analyst role prompt by ID |
|
|
48
|
+
| `vibe_list_roles` | List all available roles |
|
|
49
|
+
| `vibe_update_role` | Update a role's system prompt |
|
|
50
|
+
| `vibe_create_role` | Create a new custom role |
|
|
51
|
+
|
|
52
|
+
#### Context & Templates
|
|
41
53
|
|
|
42
54
|
| Tool | Description |
|
|
43
55
|
|------|-------------|
|
|
44
|
-
| `
|
|
45
|
-
| `vibe_list_roles` | List available roles |
|
|
46
|
-
| `vibe_get_context` | Get your governance context (CRs, risks, vulns) |
|
|
56
|
+
| `vibe_get_context` | Get your governance context (CRs, risks, vulns, next CR ID) |
|
|
47
57
|
| `vibe_get_template` | Get a document template |
|
|
48
58
|
| `vibe_list_templates` | List available templates |
|
|
49
|
-
|
|
59
|
+
|
|
60
|
+
#### Artifacts (Governance Documents)
|
|
61
|
+
|
|
62
|
+
| Tool | Description |
|
|
63
|
+
|------|-------------|
|
|
64
|
+
| `vibe_store_artifact` | Store a created document (CR, risk, vulnerability, etc.) |
|
|
50
65
|
| `vibe_update_artifact` | Update an existing artifact |
|
|
51
66
|
| `vibe_list_artifacts` | List your stored artifacts |
|
|
52
|
-
| `vibe_get_artifact` | Get a specific artifact |
|
|
67
|
+
| `vibe_get_artifact` | Get a specific artifact by ID |
|
|
53
68
|
| `vibe_delete_artifact` | Delete an artifact |
|
|
54
69
|
|
|
55
70
|
### Example Session
|
|
@@ -57,7 +72,7 @@ Once configured, Claude Code has access to these tools:
|
|
|
57
72
|
```
|
|
58
73
|
User: Create a change request for adding user authentication
|
|
59
74
|
|
|
60
|
-
|
|
75
|
+
AI Agent: I'll help you create a change request. Let me get your context first.
|
|
61
76
|
|
|
62
77
|
[Calls vibe_get_context]
|
|
63
78
|
[Calls vibe_get_role("implementation-planner")]
|
|
@@ -66,12 +81,7 @@ Claude: I'll help you create a change request. Let me get your context first.
|
|
|
66
81
|
Based on your governance context, your next CR ID is CR-2026-001.
|
|
67
82
|
|
|
68
83
|
[Creates the CR documents...]
|
|
69
|
-
|
|
70
|
-
Done! Would you like me to store this in Vibe Assurance?
|
|
71
|
-
|
|
72
|
-
User: Yes
|
|
73
|
-
|
|
74
|
-
Claude: [Calls vibe_store_artifact(...)]
|
|
84
|
+
[Calls vibe_store_artifact(...)]
|
|
75
85
|
|
|
76
86
|
Your CR-2026-001 has been stored! View it at:
|
|
77
87
|
https://vibeassurance.app/governance/artifacts/CR-2026-001
|
|
@@ -103,8 +113,8 @@ If the system keychain is unavailable, credentials fall back to `~/.vibe/credent
|
|
|
103
113
|
## Requirements
|
|
104
114
|
|
|
105
115
|
- **Node.js 18** or later
|
|
106
|
-
- **Vibe Assurance account**
|
|
107
|
-
- **Claude Code
|
|
116
|
+
- **Vibe Assurance account** - [Sign up](https://vibeassurance.app)
|
|
117
|
+
- **MCP-compatible AI agent** (e.g., Claude Code, Gemini CLI, or any MCP client)
|
|
108
118
|
|
|
109
119
|
## Troubleshooting
|
|
110
120
|
|
|
@@ -115,7 +125,7 @@ Run `vibe login` to authenticate. If you see this error during MCP server startu
|
|
|
115
125
|
### MCP server not connecting
|
|
116
126
|
|
|
117
127
|
1. Run `vibe setup-claude` again
|
|
118
|
-
2. Restart
|
|
128
|
+
2. Restart your AI agent completely
|
|
119
129
|
3. Check that `vibe` command is in your PATH
|
|
120
130
|
|
|
121
131
|
### "Port 38274 is already in use"
|
|
@@ -155,10 +165,7 @@ vibe logout
|
|
|
155
165
|
rm -rf ~/.vibe/
|
|
156
166
|
```
|
|
157
167
|
|
|
158
|
-
Then remove the MCP configuration from
|
|
159
|
-
1. Open `~/.claude/mcp.json` (or your platform's config location)
|
|
160
|
-
2. Remove the `vibeassurance` entry from `mcpServers`
|
|
161
|
-
3. Restart Claude Code
|
|
168
|
+
Then remove the MCP configuration from your AI agent's config file.
|
|
162
169
|
|
|
163
170
|
## Security
|
|
164
171
|
|
|
@@ -171,8 +178,8 @@ Then remove the MCP configuration from Claude Code:
|
|
|
171
178
|
|
|
172
179
|
MIT
|
|
173
180
|
|
|
174
|
-
##
|
|
181
|
+
## Links
|
|
175
182
|
|
|
176
|
-
- [Vibe Assurance](https://vibeassurance.app) - Governance
|
|
177
|
-
- [
|
|
178
|
-
- [
|
|
183
|
+
- [Vibe Assurance](https://vibeassurance.app) - AI Governance Platform
|
|
184
|
+
- [MCP Protocol](https://modelcontextprotocol.io) - Model Context Protocol specification
|
|
185
|
+
- [Documentation](https://agent-platform-prod.azurewebsites.net/docs-cli.html) - CLI setup guide
|
package/package.json
CHANGED
package/src/mcp/tools.js
CHANGED
|
@@ -50,6 +50,79 @@ const tools = [
|
|
|
50
50
|
}
|
|
51
51
|
},
|
|
52
52
|
|
|
53
|
+
{
|
|
54
|
+
name: 'vibe_update_role',
|
|
55
|
+
description: 'Update an AI analyst role\'s system prompt in Vibe Assurance. Use this to modify role instructions, add new guidance, or fix issues in role prompts.',
|
|
56
|
+
inputSchema: {
|
|
57
|
+
type: 'object',
|
|
58
|
+
properties: {
|
|
59
|
+
roleId: {
|
|
60
|
+
type: 'string',
|
|
61
|
+
description: 'Role ID to update (e.g., "implementation-planner", "security-auditor")'
|
|
62
|
+
},
|
|
63
|
+
systemPrompt: {
|
|
64
|
+
type: 'string',
|
|
65
|
+
description: 'The full updated system prompt content (markdown format). This should be the COMPLETE prompt, not a partial update.'
|
|
66
|
+
},
|
|
67
|
+
name: {
|
|
68
|
+
type: 'string',
|
|
69
|
+
description: 'Optional: Updated role name'
|
|
70
|
+
},
|
|
71
|
+
description: {
|
|
72
|
+
type: 'string',
|
|
73
|
+
description: 'Optional: Updated role description'
|
|
74
|
+
},
|
|
75
|
+
version: {
|
|
76
|
+
type: 'string',
|
|
77
|
+
description: 'Optional: New version number (e.g., "1.1.0")'
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
required: ['roleId', 'systemPrompt']
|
|
81
|
+
},
|
|
82
|
+
handler: async ({ roleId, ...updates }) => {
|
|
83
|
+
return await api.put(`/api/mcp/roles/${roleId}`, updates);
|
|
84
|
+
}
|
|
85
|
+
},
|
|
86
|
+
|
|
87
|
+
{
|
|
88
|
+
name: 'vibe_create_role',
|
|
89
|
+
description: 'Create a new AI analyst role in Vibe Assurance. Use this to add custom roles with specific instructions.',
|
|
90
|
+
inputSchema: {
|
|
91
|
+
type: 'object',
|
|
92
|
+
properties: {
|
|
93
|
+
roleId: {
|
|
94
|
+
type: 'string',
|
|
95
|
+
description: 'Unique role ID (lowercase, hyphenated, e.g., "custom-reviewer")'
|
|
96
|
+
},
|
|
97
|
+
name: {
|
|
98
|
+
type: 'string',
|
|
99
|
+
description: 'Display name for the role (e.g., "Custom Code Reviewer")'
|
|
100
|
+
},
|
|
101
|
+
description: {
|
|
102
|
+
type: 'string',
|
|
103
|
+
description: 'Brief description of what this role does'
|
|
104
|
+
},
|
|
105
|
+
systemPrompt: {
|
|
106
|
+
type: 'string',
|
|
107
|
+
description: 'The full system prompt content (markdown format)'
|
|
108
|
+
},
|
|
109
|
+
version: {
|
|
110
|
+
type: 'string',
|
|
111
|
+
description: 'Version number (default: "1.0.0")'
|
|
112
|
+
},
|
|
113
|
+
tier: {
|
|
114
|
+
type: 'string',
|
|
115
|
+
enum: ['free', 'starter', 'pro', 'agency', 'enterprise'],
|
|
116
|
+
description: 'Access tier (default: "free")'
|
|
117
|
+
}
|
|
118
|
+
},
|
|
119
|
+
required: ['roleId', 'name', 'systemPrompt']
|
|
120
|
+
},
|
|
121
|
+
handler: async (params) => {
|
|
122
|
+
return await api.post('/api/mcp/roles', params);
|
|
123
|
+
}
|
|
124
|
+
},
|
|
125
|
+
|
|
53
126
|
{
|
|
54
127
|
name: 'vibe_get_context',
|
|
55
128
|
description: 'Get your current governance context including existing CRs, open risks, vulnerabilities, and the next available CR ID. Use this before creating new CRs to ensure proper ID sequencing.',
|
|
@@ -153,7 +226,7 @@ const tools = [
|
|
|
153
226
|
|
|
154
227
|
{
|
|
155
228
|
name: 'vibe_update_artifact',
|
|
156
|
-
description: 'Update an existing artifact. You can update the status, content, title, or metadata.',
|
|
229
|
+
description: 'Update an existing artifact. You can update the status, content, title, or metadata. WARNING: If you provide a "files" array, it REPLACES ALL existing files. To safely add a single file without affecting others, use vibe_append_file instead.',
|
|
157
230
|
inputSchema: {
|
|
158
231
|
type: 'object',
|
|
159
232
|
properties: {
|
|
@@ -176,7 +249,7 @@ const tools = [
|
|
|
176
249
|
},
|
|
177
250
|
files: {
|
|
178
251
|
type: 'array',
|
|
179
|
-
description: '
|
|
252
|
+
description: 'WARNING: This REPLACES ALL existing files. Use vibe_append_file to safely add a single file.',
|
|
180
253
|
items: {
|
|
181
254
|
type: 'object',
|
|
182
255
|
properties: {
|
|
@@ -197,6 +270,32 @@ const tools = [
|
|
|
197
270
|
}
|
|
198
271
|
},
|
|
199
272
|
|
|
273
|
+
{
|
|
274
|
+
name: 'vibe_append_file',
|
|
275
|
+
description: 'Safely append or update a single file in an artifact WITHOUT affecting other files. Use this instead of vibe_update_artifact when you only need to add one file (e.g., adding verification-report.md to a CR). This is the SAFE way to add files - it will not destroy existing documentation.',
|
|
276
|
+
inputSchema: {
|
|
277
|
+
type: 'object',
|
|
278
|
+
properties: {
|
|
279
|
+
artifactId: {
|
|
280
|
+
type: 'string',
|
|
281
|
+
description: 'The artifact ID to add the file to (e.g., "CR-2025-024")'
|
|
282
|
+
},
|
|
283
|
+
name: {
|
|
284
|
+
type: 'string',
|
|
285
|
+
description: 'Filename to add or update (e.g., "verification-report.md")'
|
|
286
|
+
},
|
|
287
|
+
content: {
|
|
288
|
+
type: 'string',
|
|
289
|
+
description: 'Full file content (must be complete, not abbreviated)'
|
|
290
|
+
}
|
|
291
|
+
},
|
|
292
|
+
required: ['artifactId', 'name', 'content']
|
|
293
|
+
},
|
|
294
|
+
handler: async ({ artifactId, name, content }) => {
|
|
295
|
+
return await api.post(`/api/mcp/artifacts/${artifactId}/files`, { name, content });
|
|
296
|
+
}
|
|
297
|
+
},
|
|
298
|
+
|
|
200
299
|
{
|
|
201
300
|
name: 'vibe_list_artifacts',
|
|
202
301
|
description: 'List your stored artifacts with optional filters. Use this to see what governance documents you have stored.',
|