@vibe-assurance/cli 1.7.6 → 1.7.9

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 CHANGED
@@ -55,15 +55,6 @@ npm install -g @vibe-assurance/cli
55
55
 
56
56
  Once configured, your AI coding agent has access to these tools:
57
57
 
58
- ### Roles (AI Analyst Prompts)
59
-
60
- | Tool | Description |
61
- |------|-------------|
62
- | `vibe_get_role` | Get an AI analyst role prompt by ID |
63
- | `vibe_list_roles` | List all available roles |
64
- | `vibe_update_role` | Update a role's system prompt |
65
- | `vibe_create_role` | Create a new custom role |
66
-
67
58
  ### Context & Templates
68
59
 
69
60
  | Tool | Description |
@@ -91,10 +82,19 @@ Once configured, your AI coding agent has access to these tools:
91
82
  | `RISK` | Risk Register Entries | RISK-001 |
92
83
  | `VULNERABILITY` | Security Vulnerabilities | VUL-059 |
93
84
  | `REPORT` | Security/Audit Reports | RPT-2026-001 |
94
- | `POLICY` | Governance Policies | POL-001 |
95
85
  | `PLAN` | Strategic & Technical Plans | PLAN-2026-002 |
96
86
  | `CONFIG` | Configuration Documentation | CFG-001 |
97
- | `SOP` | Standard Operating Procedures | SOP-001 |
87
+ | `ARCHITECTURE` | Architecture Documentation | ARCH-001 |
88
+
89
+ ### Strategic Plans
90
+
91
+ | Tool | Description |
92
+ |------|-------------|
93
+ | `vibe_get_strategic_plans` | List strategic plans (filter by status) |
94
+ | `vibe_store_plan` | Create a new strategic plan |
95
+ | `vibe_update_plan` | Update plan content, title, or metadata |
96
+ | `vibe_update_plan_status` | Update plan status (Draft/Active/Completed/Closed) |
97
+ | `vibe_delete_plan` | Delete a strategic plan |
98
98
 
99
99
  ### Risk Register
100
100
 
@@ -114,26 +114,6 @@ Once configured, your AI coding agent has access to these tools:
114
114
  | `vibe_get_vulnerability` | Get specific vulnerability by ID |
115
115
  | `vibe_update_vulnerability` | Update vulnerability status or link to CR |
116
116
 
117
- ### Strategic Plans
118
-
119
- | Tool | Description |
120
- |------|-------------|
121
- | `vibe_get_strategic_plans` | List strategic plans (PLAN artifacts) |
122
- | `vibe_update_plan_status` | Update plan status (Draft/Active/Completed/Closed) |
123
-
124
- ### Policies & SOPs
125
-
126
- | Tool | Description |
127
- |------|-------------|
128
- | `vibe_list_policies` | List project's policies |
129
- | `vibe_store_policy` | Create a new policy |
130
- | `vibe_get_policy` | Get specific policy by ID |
131
- | `vibe_update_policy` | Update policy content or metadata |
132
- | `vibe_list_sops` | List project's SOPs |
133
- | `vibe_store_sop` | Create a new SOP |
134
- | `vibe_get_sop` | Get specific SOP by ID |
135
- | `vibe_update_sop` | Update SOP content or metadata |
136
-
137
117
  ## Example Session
138
118
 
139
119
  ```
@@ -142,7 +122,6 @@ User: Create a change request for adding user authentication
142
122
  AI Agent: I'll help you create a change request. Let me get your context first.
143
123
 
144
124
  [Calls vibe_get_context]
145
- [Calls vibe_get_role("implementation-planner")]
146
125
  [Calls vibe_get_template("change-request")]
147
126
 
148
127
  Based on your governance context, your next CR ID is CR-2026-001.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vibe-assurance/cli",
3
- "version": "1.7.6",
3
+ "version": "1.7.9",
4
4
  "description": "Vibe Assurance CLI - Connect AI coding agents to your governance platform via MCP",
5
5
  "main": "src/index.js",
6
6
  "bin": {
@@ -76,8 +76,16 @@ async function login() {
76
76
  if (error) {
77
77
  // Authentication failed - use description if available
78
78
  const errorMessage = errorDescription || error;
79
- res.writeHead(400, { 'Content-Type': 'text/html' });
80
- res.end(getErrorHtml(errorMessage));
79
+
80
+ // For license errors, redirect to pricing page instead of showing error HTML
81
+ if (error === 'cli_access_denied') {
82
+ res.writeHead(302, { 'Location': 'https://vibeassurance.app/pricing.html' });
83
+ res.end();
84
+ } else {
85
+ res.writeHead(400, { 'Content-Type': 'text/html' });
86
+ res.end(getErrorHtml(errorMessage));
87
+ }
88
+
81
89
  server.close();
82
90
  reject(new Error(errorMessage));
83
91
  return;
package/src/mcp/tools.js CHANGED
@@ -435,6 +435,84 @@ const tools = [
435
435
  }
436
436
  },
437
437
 
438
+ {
439
+ name: 'vibe_store_plan',
440
+ description: 'Create a new strategic plan. Plans contain CR roadmaps for implementing features or initiatives.',
441
+ inputSchema: {
442
+ type: 'object',
443
+ properties: {
444
+ planId: {
445
+ type: 'string',
446
+ description: 'Unique plan ID (e.g., "PLAN-2026-001")'
447
+ },
448
+ title: {
449
+ type: 'string',
450
+ description: 'Title of the plan (e.g., "Authentication System Overhaul")'
451
+ },
452
+ content: {
453
+ type: 'string',
454
+ description: 'Full plan content in markdown format (include CR roadmap table)'
455
+ },
456
+ status: {
457
+ type: 'string',
458
+ enum: ['Draft', 'Active', 'Completed', 'Closed'],
459
+ description: 'Plan status (default: Draft)'
460
+ },
461
+ metadata: {
462
+ type: 'object',
463
+ description: 'Additional metadata (e.g., priority, target date)',
464
+ additionalProperties: true
465
+ }
466
+ },
467
+ required: ['planId', 'title', 'content']
468
+ },
469
+ handler: async (params) => {
470
+ return await api.post('/api/mcp/artifacts', {
471
+ type: 'PLAN',
472
+ artifactId: params.planId,
473
+ title: params.title,
474
+ content: params.content,
475
+ status: params.status || 'Draft',
476
+ metadata: params.metadata
477
+ });
478
+ }
479
+ },
480
+
481
+ {
482
+ name: 'vibe_update_plan',
483
+ description: 'Update a strategic plan\'s content, title, status, or metadata.',
484
+ inputSchema: {
485
+ type: 'object',
486
+ properties: {
487
+ planId: {
488
+ type: 'string',
489
+ description: 'The plan artifact ID (e.g., "PLAN-2026-001")'
490
+ },
491
+ title: {
492
+ type: 'string',
493
+ description: 'Updated title'
494
+ },
495
+ content: {
496
+ type: 'string',
497
+ description: 'Updated content'
498
+ },
499
+ status: {
500
+ type: 'string',
501
+ enum: ['Draft', 'Active', 'Completed', 'Closed'],
502
+ description: 'Updated status'
503
+ },
504
+ metadata: {
505
+ type: 'object',
506
+ description: 'Updated metadata'
507
+ }
508
+ },
509
+ required: ['planId']
510
+ },
511
+ handler: async ({ planId, ...updates }) => {
512
+ return await api.put(`/api/mcp/artifacts/${planId}`, updates);
513
+ }
514
+ },
515
+
438
516
  {
439
517
  name: 'vibe_update_plan_status',
440
518
  description: 'Update a strategic plan\'s status. Use when all CRs from a plan are complete to mark it as Completed.',
@@ -458,6 +536,24 @@ const tools = [
458
536
  }
459
537
  },
460
538
 
539
+ {
540
+ name: 'vibe_delete_plan',
541
+ description: 'Delete a strategic plan. This is permanent and cannot be undone.',
542
+ inputSchema: {
543
+ type: 'object',
544
+ properties: {
545
+ planId: {
546
+ type: 'string',
547
+ description: 'The plan artifact ID to delete (e.g., "PLAN-2026-001")'
548
+ }
549
+ },
550
+ required: ['planId']
551
+ },
552
+ handler: async ({ planId }) => {
553
+ return await api.delete(`/api/mcp/artifacts/${planId}`);
554
+ }
555
+ },
556
+
461
557
  // ============================================================================
462
558
  // RISK MANAGEMENT TOOLS
463
559
  // ============================================================================
package/nul DELETED
@@ -1 +0,0 @@
1
- /usr/bin/bash: line 1: del: command not found