# CLI Anything Jumpserver

> CLI Anything Jumpserver is an Agent Skill for devops & security published in the HKUDS/CLI-Anything repository on GitHub: a SKILL.md instruction file an AI agent can load to do this task.

Stateful CLI harness for JumpServer bastion host management. Supports asset, user, permission, account, session, audit, and operations management via REST API, with both one-shot and interactive REPL modes.

- Skill name: `cli-anything-jumpserver`
- Category: [DevOps & Security](https://www.openparable.com/skill/devops-security/1)
- Source: https://github.com/HKUDS/CLI-Anything/blob/HEAD/skills/cli-anything-jumpserver/SKILL.md
- Repository: HKUDS/CLI-Anything (45,368 GitHub stars when collected)

## SKILL.md

# cli-anything-jumpserver

Stateful CLI harness for JumpServer bastion host. Manage assets, users, permissions, accounts, sessions, audits, and more via the JumpServer REST API.

## Quick Start

```bash
# Install
cd agent-harness && pip install -e .

# Authenticate
cli-anything-jumpserver auth login --url https://jumpserver.example.com --username admin

# List hosts
cli-anything-jumpserver asset list --type host

# Interactive REPL mode
cli-anything-jumpserver --interactive
```

## Agent Usage Guidance

This CLI is designed for AI agent consumption. Key features for agents:

### JSON Output Mode
All commands support `--output json` for machine-parseable output:
```bash
cli-anything-jumpserver asset list --type host --output json
```

### Dry Run Mode
All mutation commands support `--dry-run` to preview without execution:
```bash
cli-anything-jumpserver asset create --name test --address 10.0.0.1 --platform 1 --dry-run --output json
```

### Environment Variables
- `JUMPSERVER_URL` - Default JumpServer URL
- `JUMPSERVER_USERNAME` - Default username
- `JUMPSERVER_PASSWORD` - Default password

### Typical Agent Workflows

**1. Discovery and Inventory**
```bash
# Check connection
cli-anything-jumpserver auth status --output json

# List all hosts
cli-anything-jumpserver asset list --type host --output json

# Get asset details
cli-anything-jumpserver asset get <ID> --type host --output json

# List all users
cli-anything-jumpserver user list --output json
```

**2. User and Permission Management**
```bash
# Create user
cli-anything-jumpserver user create --name "New User" --username newuser --email user@example.com --output json --dry-run

# Grant asset access
cli-anything-jumpserver perm create --name "App Access" --users "user1,user2" --assets "asset1,asset2" --output json --dry-run

# Verify permissions
cli-anything-jumpserver perm users <PERM_ID> --output json
```

**3. Security Audit**
```bash
# Check failed logins
cli-anything-jumpserver audit login --status failed --output json

# Review operations
cli-anything-jumpserver audit operate --action delete --output json

# Check active sessions
cli-anything-jumpserver session list --active --output json

# View command history
cli-anything-jumpserver session command list --risk 5 --output json
```

**4. Session Management**
```bash
# Monitor active sessions
cli-anything-jumpserver session list --active --output json

# Check terminal health
cli-anything-jumpserver session terminal list --output json
cli-anything-jumpserver session terminal status <TERMINAL_ID> --output json
```

## Output Formats

| Format | Flag | Use Case |
|--------|------|----------|
| Table | `--output table` (default) | Human-readable display |
| JSON | `--output json` | Agent consumption, scripting |
| YAML | `--output yaml` | Configuration, readability |

## Exit Codes

| Code | Meaning |
|------|---------|
| 0 | Success |
| 1 | CLI error (auth, API, etc.) |
| 2 | Usage error (invalid options/arguments) |
| 130 | Interrupted (Ctrl+C) |

## File Locations

| Path | Purpose |
|------|---------|
| `~/.jumpserver-cli/session.json` | Authentication session |
| `~/.jumpserver-cli/state.json` | CLI operational state |

---

Source: https://www.openparable.com/skill/devops-security/cli-anything-jumpserver (OpenParable). Cite the canonical URL above.
