VMware AIops
AI-powered VMware vCenter and ESXi operations tool. Manage your entire VMware infrastructure using natural language through any AI coding assistant.
Need read-only monitoring only? Use VMware-Monitor — an independent repository with code-level safety (zero destructive code in the codebase). Install: clawhub install vmware-monitor
When to Use This Skill
- Query VM, host, datastore, cluster, and network inventory
- Check health status, active alarms, hardware sensors, and event logs
- Perform VM lifecycle operations: power on/off, create, delete, snapshot, clone, migrate
- Monitor vSAN health, capacity, disk groups, and performance
- Access Aria Operations (VCF Operations) for historical metrics, anomaly detection, and capacity planning
- Manage vSphere Kubernetes Service (VKS) clusters
- Run scheduled scanning with webhook notifications (Slack, Discord)
Quick Install
Works with Claude Code, Cursor, Codex, Gemini CLI, Trae, Kimi, and 30+ AI agents:
# Via ClawHub (recommended)
clawhub install vmware-aiops
# Via Skills.sh
npx skills add zw008/VMware-AIops
Claude Code
/plugin marketplace add zw008/VMware-AIops
/plugin install vmware-ops
/vmware-ops:vmware-aiops
Usage Mode: MCP First, CLI Fallback
Default: MCP mode — vmware-aiops runs as an MCP Server registered in the AI tool. All queries and operations go through MCP tool calls directly, no manual CLI needed.
Fallback: CLI mode — only when MCP connection fails (server crash, config error, etc.), switch to CLI commands via vmware-aiops in the terminal.
MCP Tools (9 tools)
| MCP Tool |
Type |
Description |
Equivalent CLI |
list_virtual_machines |
Read |
List all VMs |
vmware-aiops inventory vms |
list_esxi_hosts |
Read |
List ESXi hosts |
vmware-aiops inventory hosts |
list_all_datastores |
Read |
List datastores |
vmware-aiops inventory datastores |
list_all_clusters |
Read |
List clusters |
vmware-aiops inventory clusters |
get_alarms |
Read |
Active alarms |
vmware-aiops health alarms |
get_events |
Read |
Recent events |
vmware-aiops health events |
vm_info |
Read |
VM details |
vmware-aiops vm info <name> |
vm_power_on |
Write |
Power on VM |
vmware-aiops vm power-on <name> |
vm_power_off |
Write |
Power off VM |
vmware-aiops vm power-off <name> |
All tools accept optional target parameter (e.g., "home-esxi", "prod-vcenter").
MCP Setup (Claude Code)
Add to ~/.claude/settings.json:
{
"mcpServers": {
"vmware-aiops": {
"command": "/path/to/VMware-AIops/.venv/bin/python",
"args": ["-m", "mcp_server"],
"cwd": "/path/to/VMware-AIops",
"env": {
"VMWARE_AIOPS_CONFIG": "~/.vmware-aiops/config.yaml"
}
}
}
}
When to Fall Back to CLI
- MCP server fails to start or crashes mid-session
- Need operations not yet exposed via MCP (create, delete, snapshot, clone, migrate, vSAN, Aria, VKS)
- Need daemon/scan features (
scan now, daemon start)
- Debugging connection issues (CLI gives more verbose output)
# Activate venv and run CLI
source /path/to/VMware-AIops/.venv/bin/activate
vmware-aiops inventory vms --target home-esxi
Architecture
User (Natural Language)
↓
AI CLI Tool (Claude Code / Gemini / Codex / Aider / Continue / Trae / Kimi)
↓
├─ MCP mode (default): MCP Server (stdio) ──→ pyVmomi ──→ vSphere API
│
└─ CLI fallback: vmware-aiops CLI ──→ pyVmomi ──→ vSphere API
↓
vCenter Server ──→ ESXi Clusters ──→ VMs
or
ESXi Standalone ──→ VMs
Capabilities
1. Inventory
| Feature |
vCenter |
ESXi |
Details |
| List VMs |
✅ |
✅ |
Name, power state, CPU, memory, guest OS, IP |
| List Hosts |
✅ |
⚠️ Self only |
CPU cores, memory, ESXi version, VM count, uptime |
| List Datastores |
✅ |
✅ |
Capacity, free/used, type (VMFS/NFS), usage % |
| List Clusters |
✅ |
❌ |
Host count, DRS/HA status |
| List Networks |
✅ |
✅ |
Network name, associated VM count |
2. Health & Monitoring
| Feature |
vCenter |
ESXi |
Details |
| Active Alarms |
✅ |
✅ |
Severity, alarm name, entity, timestamp |
| Event/Log Query |
✅ |
✅ |
Filter by time range, severity; 50+ event types |
| Hardware Sensors |
✅ |
✅ |
Temperature, voltage, fan status |
| Host Services |
✅ |
✅ |
hostd, vpxa running/stopped status |
Monitored Event Types:
| Category |
Events |
| VM Failures |
VmFailedToPowerOnEvent, VmDiskFailedEvent, VmFailoverFailed |
| Host Issues |
HostConnectionLostEvent, HostShutdownEvent, HostIpChangedEvent |
| Storage |
DatastoreCapacityIncreasedEvent, SCSI high latency |
| HA/DRS |
DasHostFailedEvent, DrsVmMigratedEvent, DrsSoftRuleViolationEvent |
| Auth |
UserLoginSessionEvent, BadUsernameSessionEvent |
3. VM Lifecycle
| Operation |
Command |
Confirmation |
vCenter |
ESXi |
| Power On |
vm power-on <name> |
— |
✅ |
✅ |
| Graceful Shutdown |
vm power-off <name> |
Double |
✅ |
✅ |
| Force Power Off |
vm power-off <name> --force |
Double |
✅ |
✅ |
| Reset |
vm reset <name> |
— |
✅ |
✅ |
| Suspend |
vm suspend <name> |
— |
✅ |
✅ |
| VM Info |
vm info <name> |
— |
✅ |
✅ |
| Create VM |
vm create <name> --cpu --memory --disk |
— |
✅ |
✅ |
| Delete VM |
vm delete <name> |
Double |
✅ |
✅ |
| Reconfigure |
vm reconfigure <name> --cpu --memory |
Double |
✅ |
✅ |
| Create Snapshot |
vm snapshot-create <name> --name <snap> |
— |
✅ |
✅ |
| List Snapshots |
vm snapshot-list <name> |
— |
✅ |
✅ |
| Revert Snapshot |
vm snapshot-revert <name> --name <snap> |
— |
✅ |
✅ |
| Delete Snapshot |
vm snapshot-delete <name> --name <snap> |
— |
✅ |
✅ |
| Clone VM |
vm clone <name> --new-name <new> |
— |
✅ |
✅ |
| vMotion |
vm migrate <name> --to-host <host> |
— |
✅ |
❌ |
4. vSAN Management
| Feature |
Details |
| Health Check |
Cluster-wide health summary, per-group test results |
| Capacity |
Total/free/used capacity with projections |
| Disk Groups |
Cache SSD + capacity disks per host |
| Performance |
IOPS, latency, throughput per cluster/host/VM |
Requires pyVmomi 8.0.3+ (vSAN SDK merged). For older versions, install the standalone vSAN Management SDK.
5. Aria Operations (VCF Operations)
| Feature |
Details |
| Historical Metrics |
Time-series CPU, memory, disk, network with months of history |
| Anomaly Detection |
ML-based dynamic baselines and anomaly alerts |
| Capacity Planning |
What-if analysis, time-to-exhaustion, forecasting |
| Right-sizing |
CPU/memory recommendations per VM |
| Intelligent Alerts |
Root cause analysis, remediation recommendations |
REST API at /suite-api/. Auth: vRealizeOpsToken. Rebranded as VCF Operations in VCF 9.0.
6. vSphere Kubernetes Service (VKS)
| Feature |
Details |
| List Clusters |
Tanzu Kubernetes clusters with phase status |
| Cluster Health |
InfrastructureReady, ControlPlaneAvailable, WorkersAvailable |
| Scale Workers |
Adjust MachineDeployment replicas |
| Node Status |
Machine status, ready/unhealthy counts |
Kubernetes-native API via kubectl/kubeconfig. VKS 3.6+ uses Cluster API specification.
7. Scheduled Scanning & Notifications
| Feature |
Details |
| Daemon |
APScheduler-based, configurable interval (default 15 min) |
| Multi-target Scan |
Sequentially scan all configured vCenter/ESXi targets |
| Scan Content |
Alarms + Events + Host logs (hostd, vmkernel, vpxd) |
| Log Analysis |
Regex pattern matching: error, fail, critical, panic, timeout |
| Webhook |
Slack, Discord, or any HTTP endpoint |
Safety Features
| Feature |
Details |
| Plan → Confirm → Execute → Log |
Structured workflow: show current state, confirm changes, execute, audit log |
| Double Confirmation |
All destructive ops (power-off, delete, reconfigure, snapshot-revert/delete, clone, migrate) require 2 sequential confirmations — no bypass flags |
| Rejection Logging |
Declined confirmations are recorded in the audit trail for security review |
| Audit Trail |
All operations logged to ~/.vmware-aiops/audit.log (JSONL) with before/after state |
| Input Validation |
VM name length/format, CPU (1-128), memory (128-1048576 MB), disk (1-65536 GB) validated before execution |
| Password Protection |
.env file loading, never in command line or shell history; file permission check at startup |
| SSL Self-signed Support |
disableSslCertValidation for ESXi 8.0 self-signed certs |
| Task Waiting |
All async operations wait for completion and report result |
| State Validation |
Pre-operation checks (VM exists, power state correct) |
Version Compatibility
| vSphere Version |
Support |
Notes |
| 8.0 / 8.0U1-U3 |
✅ Full |
CreateSnapshot_Task deprecated → use CreateSnapshotEx_Task |
| 7.0 / 7.0U1-U3 |
✅ Full |
All APIs supported |
| 6.7 |
✅ Compatible |
Backward-compatible, tested |
| 6.5 |
✅ Compatible |
Backward-compatible, tested |
pyVmomi auto-negotiates the API version during SOAP handshake — no manual configuration needed.
Supported AI Platforms
| Platform |
Status |
Config File |
| Claude Code |
✅ Native Skill |
plugins/.../SKILL.md |
| Gemini CLI |
✅ Extension |
gemini-extension/GEMINI.md |
| OpenAI Codex CLI |
✅ Skill + AGENTS.md |
codex-skill/AGENTS.md |
| Aider |
✅ Conventions |
codex-skill/AGENTS.md |
| Continue CLI |
✅ Rules |
codex-skill/AGENTS.md |
| Trae IDE |
✅ Rules |
trae-rules/project_rules.md |
| Kimi Code CLI |
✅ Skill |
kimi-skill/SKILL.md |
| MCP Server |
✅ MCP Protocol |
mcp_server/ |
| Python CLI |
✅ Standalone |
N/A |
CLI Reference
# Inventory
vmware-aiops inventory vms [--target <name>]
vmware-aiops inventory hosts [--target <name>]
vmware-aiops inventory datastores [--target <name>]
vmware-aiops inventory clusters [--target <name>]
# Health
vmware-aiops health alarms [--target <name>]
vmware-aiops health events [--hours 24] [--severity warning]
# VM Operations
vmware-aiops vm info <vm-name>
vmware-aiops vm power-on <vm-name>
vmware-aiops vm power-off <vm-name> [--force]
vmware-aiops vm create <name> [--cpu <n>] [--memory <mb>] [--disk <gb>]
vmware-aiops vm delete <vm-name> [--confirm]
vmware-aiops vm reconfigure <vm-name> [--cpu <n>] [--memory <mb>]
vmware-aiops vm snapshot-create <vm-name> --name <snap-name>
vmware-aiops vm snapshot-list <vm-name>
vmware-aiops vm snapshot-revert <vm-name> --name <snap-name>
vmware-aiops vm snapshot-delete <vm-name> --name <snap-name>
vmware-aiops vm clone <vm-name> --new-name <name>
vmware-aiops vm migrate <vm-name> --to-host <host>
# vSAN
vmware-aiops vsan health [--target <name>]
vmware-aiops vsan capacity [--target <name>]
vmware-aiops vsan disks [--target <name>]
vmware-aiops vsan performance [--hours 1]
# Aria Operations
vmware-aiops ops alerts [--severity critical]
vmware-aiops ops metrics <resource-name> [--hours 24]
vmware-aiops ops recommendations [--target <name>]
vmware-aiops ops capacity <cluster-name>
# VKS (Kubernetes)
vmware-aiops vks clusters [--namespace default]
vmware-aiops vks health <cluster-name>
vmware-aiops vks scale <machine-deployment> --replicas <n>
vmware-aiops vks nodes <cluster-name>
# Scanning & Daemon
vmware-aiops scan now [--target <name>]
vmware-aiops daemon start
vmware-aiops daemon stop
vmware-aiops daemon status
Setup
# 1. Install via uv (recommended) or pip
uv tool install vmware-aiops
# Or: pip install vmware-aiops
# 2. Configure
mkdir -p ~/.vmware-aiops
vmware-aiops init # generates config.yaml and .env templates
chmod 600 ~/.vmware-aiops/.env
# Edit ~/.vmware-aiops/config.yaml and .env with your target details
Development Install
git clone https://github.com/zw008/VMware-AIops.git
cd VMware-AIops
uv venv && source .venv/bin/activate
uv pip install -e .
License
MIT
1---2name: vmware-aiops3description: AI-powered VMware vCenter/ESXi monitoring and operations. Manage infrastructure via natural language: inventory queries, health monitoring, VM lifecycle (create, delete, power, snapshot, clone, migrate), vSAN management, Aria Operations analytics, Kubernetes clusters, and scheduled log scanning.4---5
6# VMware AIops
7
8AI-powered VMware vCenter and ESXi operations tool. Manage your entire VMware infrastructure using natural language through any AI coding assistant.
9
10> **Need read-only monitoring only?** Use [VMware-Monitor](https://github.com/zw008/VMware-Monitor) — an independent repository with code-level safety (zero destructive code in the codebase). Install: `clawhub install vmware-monitor`
11
12## When to Use This Skill
13
14- Query VM, host, datastore, cluster, and network inventory
15- Check health status, active alarms, hardware sensors, and event logs
16- Perform VM lifecycle operations: power on/off, create, delete, snapshot, clone, migrate
17- Monitor vSAN health, capacity, disk groups, and performance
18- Access Aria Operations (VCF Operations) for historical metrics, anomaly detection, and capacity planning
19- Manage vSphere Kubernetes Service (VKS) clusters
20- Run scheduled scanning with webhook notifications (Slack, Discord)
21
22## Quick Install
23
24Works with Claude Code, Cursor, Codex, Gemini CLI, Trae, Kimi, and 30+ AI agents:
25
26```bash
27# Via ClawHub (recommended)
28clawhub install vmware-aiops
29
30# Via Skills.sh
31npx skills add zw008/VMware-AIops
32```
33
34### Claude Code
35
36```
37/plugin marketplace add zw008/VMware-AIops
38/plugin install vmware-ops
39/vmware-ops:vmware-aiops
40```
41
42## Usage Mode: MCP First, CLI Fallback
43
44**Default: MCP mode** — vmware-aiops runs as an MCP Server registered in the AI tool. All queries and operations go through MCP tool calls directly, no manual CLI needed.
45
46**Fallback: CLI mode** — only when MCP connection fails (server crash, config error, etc.), switch to CLI commands via `vmware-aiops` in the terminal.
47
48### MCP Tools (9 tools)
49
50| MCP Tool | Type | Description | Equivalent CLI |
51|----------|------|-------------|----------------|
52| `list_virtual_machines` | Read | List all VMs | `vmware-aiops inventory vms` |
53| `list_esxi_hosts` | Read | List ESXi hosts | `vmware-aiops inventory hosts` |
54| `list_all_datastores` | Read | List datastores | `vmware-aiops inventory datastores` |
55| `list_all_clusters` | Read | List clusters | `vmware-aiops inventory clusters` |
56| `get_alarms` | Read | Active alarms | `vmware-aiops health alarms` |
57| `get_events` | Read | Recent events | `vmware-aiops health events` |
58| `vm_info` | Read | VM details | `vmware-aiops vm info <name>` |
59| `vm_power_on` | **Write** | Power on VM | `vmware-aiops vm power-on <name>` |
60| `vm_power_off` | **Write** | Power off VM | `vmware-aiops vm power-off <name>` |
61
62All tools accept optional `target` parameter (e.g., `"home-esxi"`, `"prod-vcenter"`).
63
64### MCP Setup (Claude Code)
65
66Add to `~/.claude/settings.json`:
67
68```json
69{
70 "mcpServers": {
71 "vmware-aiops": {
72 "command": "/path/to/VMware-AIops/.venv/bin/python",
73 "args": ["-m", "mcp_server"],
74 "cwd": "/path/to/VMware-AIops",
75 "env": {
76 "VMWARE_AIOPS_CONFIG": "~/.vmware-aiops/config.yaml"
77 }
78 }
79 }
80}
81```
82
83### When to Fall Back to CLI
84
85- MCP server fails to start or crashes mid-session
86- Need operations not yet exposed via MCP (create, delete, snapshot, clone, migrate, vSAN, Aria, VKS)
87- Need daemon/scan features (`scan now`, `daemon start`)
88- Debugging connection issues (CLI gives more verbose output)
89
90```bash
91# Activate venv and run CLI
92source /path/to/VMware-AIops/.venv/bin/activate
93vmware-aiops inventory vms --target home-esxi
94```
95
96## Architecture
97
98```
99User (Natural Language)
100 ↓
101AI CLI Tool (Claude Code / Gemini / Codex / Aider / Continue / Trae / Kimi)
102 ↓
103 ├─ MCP mode (default): MCP Server (stdio) ──→ pyVmomi ──→ vSphere API
104 │
105 └─ CLI fallback: vmware-aiops CLI ──→ pyVmomi ──→ vSphere API
106 ↓
107vCenter Server ──→ ESXi Clusters ──→ VMs
108 or
109ESXi Standalone ──→ VMs
110```
111
112## Capabilities
113
114### 1. Inventory
115
116| Feature | vCenter | ESXi | Details |
117|---------|:-------:|:----:|---------|
118| List VMs | ✅ | ✅ | Name, power state, CPU, memory, guest OS, IP |
119| List Hosts | ✅ | ⚠️ Self only | CPU cores, memory, ESXi version, VM count, uptime |
120| List Datastores | ✅ | ✅ | Capacity, free/used, type (VMFS/NFS), usage % |
121| List Clusters | ✅ | ❌ | Host count, DRS/HA status |
122| List Networks | ✅ | ✅ | Network name, associated VM count |
123
124### 2. Health & Monitoring
125
126| Feature | vCenter | ESXi | Details |
127|---------|:-------:|:----:|---------|
128| Active Alarms | ✅ | ✅ | Severity, alarm name, entity, timestamp |
129| Event/Log Query | ✅ | ✅ | Filter by time range, severity; 50+ event types |
130| Hardware Sensors | ✅ | ✅ | Temperature, voltage, fan status |
131| Host Services | ✅ | ✅ | hostd, vpxa running/stopped status |
132
133**Monitored Event Types:**
134
135| Category | Events |
136|----------|--------|
137| VM Failures | `VmFailedToPowerOnEvent`, `VmDiskFailedEvent`, `VmFailoverFailed` |
138| Host Issues | `HostConnectionLostEvent`, `HostShutdownEvent`, `HostIpChangedEvent` |
139| Storage | `DatastoreCapacityIncreasedEvent`, SCSI high latency |
140| HA/DRS | `DasHostFailedEvent`, `DrsVmMigratedEvent`, `DrsSoftRuleViolationEvent` |
141| Auth | `UserLoginSessionEvent`, `BadUsernameSessionEvent` |
142
143### 3. VM Lifecycle
144
145| Operation | Command | Confirmation | vCenter | ESXi |
146|-----------|---------|:------------:|:-------:|:----:|
147| Power On | `vm power-on <name>` | — | ✅ | ✅ |
148| Graceful Shutdown | `vm power-off <name>` | Double | ✅ | ✅ |
149| Force Power Off | `vm power-off <name> --force` | Double | ✅ | ✅ |
150| Reset | `vm reset <name>` | — | ✅ | ✅ |
151| Suspend | `vm suspend <name>` | — | ✅ | ✅ |
152| VM Info | `vm info <name>` | — | ✅ | ✅ |
153| Create VM | `vm create <name> --cpu --memory --disk` | — | ✅ | ✅ |
154| Delete VM | `vm delete <name>` | Double | ✅ | ✅ |
155| Reconfigure | `vm reconfigure <name> --cpu --memory` | Double | ✅ | ✅ |
156| Create Snapshot | `vm snapshot-create <name> --name <snap>` | — | ✅ | ✅ |
157| List Snapshots | `vm snapshot-list <name>` | — | ✅ | ✅ |
158| Revert Snapshot | `vm snapshot-revert <name> --name <snap>` | — | ✅ | ✅ |
159| Delete Snapshot | `vm snapshot-delete <name> --name <snap>` | — | ✅ | ✅ |
160| Clone VM | `vm clone <name> --new-name <new>` | — | ✅ | ✅ |
161| vMotion | `vm migrate <name> --to-host <host>` | — | ✅ | ❌ |
162
163### 4. vSAN Management
164
165| Feature | Details |
166|---------|---------|
167| Health Check | Cluster-wide health summary, per-group test results |
168| Capacity | Total/free/used capacity with projections |
169| Disk Groups | Cache SSD + capacity disks per host |
170| Performance | IOPS, latency, throughput per cluster/host/VM |
171
172> Requires pyVmomi 8.0.3+ (vSAN SDK merged). For older versions, install the standalone vSAN Management SDK.
173
174### 5. Aria Operations (VCF Operations)
175
176| Feature | Details |
177|---------|---------|
178| Historical Metrics | Time-series CPU, memory, disk, network with months of history |
179| Anomaly Detection | ML-based dynamic baselines and anomaly alerts |
180| Capacity Planning | What-if analysis, time-to-exhaustion, forecasting |
181| Right-sizing | CPU/memory recommendations per VM |
182| Intelligent Alerts | Root cause analysis, remediation recommendations |
183
184> REST API at `/suite-api/`. Auth: `vRealizeOpsToken`. Rebranded as VCF Operations in VCF 9.0.
185
186### 6. vSphere Kubernetes Service (VKS)
187
188| Feature | Details |
189|---------|---------|
190| List Clusters | Tanzu Kubernetes clusters with phase status |
191| Cluster Health | InfrastructureReady, ControlPlaneAvailable, WorkersAvailable |
192| Scale Workers | Adjust MachineDeployment replicas |
193| Node Status | Machine status, ready/unhealthy counts |
194
195> Kubernetes-native API via kubectl/kubeconfig. VKS 3.6+ uses Cluster API specification.
196
197### 7. Scheduled Scanning & Notifications
198
199| Feature | Details |
200|---------|---------|
201| Daemon | APScheduler-based, configurable interval (default 15 min) |
202| Multi-target Scan | Sequentially scan all configured vCenter/ESXi targets |
203| Scan Content | Alarms + Events + Host logs (hostd, vmkernel, vpxd) |
204| Log Analysis | Regex pattern matching: error, fail, critical, panic, timeout |
205| Webhook | Slack, Discord, or any HTTP endpoint |
206
207## Safety Features
208
209| Feature | Details |
210|---------|---------|
211| Plan → Confirm → Execute → Log | Structured workflow: show current state, confirm changes, execute, audit log |
212| Double Confirmation | All destructive ops (power-off, delete, reconfigure, snapshot-revert/delete, clone, migrate) require 2 sequential confirmations — no bypass flags |
213| Rejection Logging | Declined confirmations are recorded in the audit trail for security review |
214| Audit Trail | All operations logged to `~/.vmware-aiops/audit.log` (JSONL) with before/after state |
215| Input Validation | VM name length/format, CPU (1-128), memory (128-1048576 MB), disk (1-65536 GB) validated before execution |
216| Password Protection | `.env` file loading, never in command line or shell history; file permission check at startup |
217| SSL Self-signed Support | `disableSslCertValidation` for ESXi 8.0 self-signed certs |
218| Task Waiting | All async operations wait for completion and report result |
219| State Validation | Pre-operation checks (VM exists, power state correct) |
220
221## Version Compatibility
222
223| vSphere Version | Support | Notes |
224|----------------|---------|-------|
225| 8.0 / 8.0U1-U3 | ✅ Full | `CreateSnapshot_Task` deprecated → use `CreateSnapshotEx_Task` |
226| 7.0 / 7.0U1-U3 | ✅ Full | All APIs supported |
227| 6.7 | ✅ Compatible | Backward-compatible, tested |
228| 6.5 | ✅ Compatible | Backward-compatible, tested |
229
230> pyVmomi auto-negotiates the API version during SOAP handshake — no manual configuration needed.
231
232## Supported AI Platforms
233
234| Platform | Status | Config File |
235|----------|--------|-------------|
236| Claude Code | ✅ Native Skill | `plugins/.../SKILL.md` |
237| Gemini CLI | ✅ Extension | `gemini-extension/GEMINI.md` |
238| OpenAI Codex CLI | ✅ Skill + AGENTS.md | `codex-skill/AGENTS.md` |
239| Aider | ✅ Conventions | `codex-skill/AGENTS.md` |
240| Continue CLI | ✅ Rules | `codex-skill/AGENTS.md` |
241| Trae IDE | ✅ Rules | `trae-rules/project_rules.md` |
242| Kimi Code CLI | ✅ Skill | `kimi-skill/SKILL.md` |
243| MCP Server | ✅ MCP Protocol | `mcp_server/` |
244| Python CLI | ✅ Standalone | N/A |
245
246## CLI Reference
247
248```bash
249# Inventory
250vmware-aiops inventory vms [--target <name>]
251vmware-aiops inventory hosts [--target <name>]
252vmware-aiops inventory datastores [--target <name>]
253vmware-aiops inventory clusters [--target <name>]
254
255# Health
256vmware-aiops health alarms [--target <name>]
257vmware-aiops health events [--hours 24] [--severity warning]
258
259# VM Operations
260vmware-aiops vm info <vm-name>
261vmware-aiops vm power-on <vm-name>
262vmware-aiops vm power-off <vm-name> [--force]
263vmware-aiops vm create <name> [--cpu <n>] [--memory <mb>] [--disk <gb>]
264vmware-aiops vm delete <vm-name> [--confirm]
265vmware-aiops vm reconfigure <vm-name> [--cpu <n>] [--memory <mb>]
266vmware-aiops vm snapshot-create <vm-name> --name <snap-name>
267vmware-aiops vm snapshot-list <vm-name>
268vmware-aiops vm snapshot-revert <vm-name> --name <snap-name>
269vmware-aiops vm snapshot-delete <vm-name> --name <snap-name>
270vmware-aiops vm clone <vm-name> --new-name <name>
271vmware-aiops vm migrate <vm-name> --to-host <host>
272
273# vSAN
274vmware-aiops vsan health [--target <name>]
275vmware-aiops vsan capacity [--target <name>]
276vmware-aiops vsan disks [--target <name>]
277vmware-aiops vsan performance [--hours 1]
278
279# Aria Operations
280vmware-aiops ops alerts [--severity critical]
281vmware-aiops ops metrics <resource-name> [--hours 24]
282vmware-aiops ops recommendations [--target <name>]
283vmware-aiops ops capacity <cluster-name>
284
285# VKS (Kubernetes)
286vmware-aiops vks clusters [--namespace default]
287vmware-aiops vks health <cluster-name>
288vmware-aiops vks scale <machine-deployment> --replicas <n>
289vmware-aiops vks nodes <cluster-name>
290
291# Scanning & Daemon
292vmware-aiops scan now [--target <name>]
293vmware-aiops daemon start
294vmware-aiops daemon stop
295vmware-aiops daemon status
296```
297
298## Setup
299
300```bash
301# 1. Install via uv (recommended) or pip
302uv tool install vmware-aiops
303# Or: pip install vmware-aiops
304
305# 2. Configure
306mkdir -p ~/.vmware-aiops
307vmware-aiops init # generates config.yaml and .env templates
308chmod 600 ~/.vmware-aiops/.env
309# Edit ~/.vmware-aiops/config.yaml and .env with your target details
310```
311
312### Development Install
313
314```bash
315git clone https://github.com/zw008/VMware-AIops.git
316cd VMware-AIops
317uv venv && source .venv/bin/activate
318uv pip install -e .
319```
320
321## License
322
323MIT