kctl-rmm 0.7.3__tar.gz

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.
Files changed (38) hide show
  1. kctl_rmm-0.7.3/.gitignore +33 -0
  2. kctl_rmm-0.7.3/PKG-INFO +145 -0
  3. kctl_rmm-0.7.3/README.md +116 -0
  4. kctl_rmm-0.7.3/pyproject.toml +64 -0
  5. kctl_rmm-0.7.3/skills/rmm-admin/SKILL.md +247 -0
  6. kctl_rmm-0.7.3/src/kctl_rmm/__init__.py +3 -0
  7. kctl_rmm-0.7.3/src/kctl_rmm/__main__.py +5 -0
  8. kctl_rmm-0.7.3/src/kctl_rmm/cli.py +154 -0
  9. kctl_rmm-0.7.3/src/kctl_rmm/commands/__init__.py +0 -0
  10. kctl_rmm-0.7.3/src/kctl_rmm/commands/agents.py +247 -0
  11. kctl_rmm-0.7.3/src/kctl_rmm/commands/alerts.py +68 -0
  12. kctl_rmm-0.7.3/src/kctl_rmm/commands/checks.py +177 -0
  13. kctl_rmm-0.7.3/src/kctl_rmm/commands/clients.py +106 -0
  14. kctl_rmm-0.7.3/src/kctl_rmm/commands/config_cmd.py +484 -0
  15. kctl_rmm-0.7.3/src/kctl_rmm/commands/dashboard.py +121 -0
  16. kctl_rmm-0.7.3/src/kctl_rmm/commands/doctor_cmd.py +72 -0
  17. kctl_rmm-0.7.3/src/kctl_rmm/commands/drivers.py +59 -0
  18. kctl_rmm-0.7.3/src/kctl_rmm/commands/health.py +105 -0
  19. kctl_rmm-0.7.3/src/kctl_rmm/commands/linux.py +322 -0
  20. kctl_rmm-0.7.3/src/kctl_rmm/commands/maintenance.py +121 -0
  21. kctl_rmm-0.7.3/src/kctl_rmm/commands/patches.py +77 -0
  22. kctl_rmm-0.7.3/src/kctl_rmm/commands/remote.py +116 -0
  23. kctl_rmm-0.7.3/src/kctl_rmm/commands/rustdesk.py +466 -0
  24. kctl_rmm-0.7.3/src/kctl_rmm/commands/scripts.py +206 -0
  25. kctl_rmm-0.7.3/src/kctl_rmm/commands/services.py +79 -0
  26. kctl_rmm-0.7.3/src/kctl_rmm/commands/skill_cmd.py +76 -0
  27. kctl_rmm-0.7.3/src/kctl_rmm/commands/software.py +116 -0
  28. kctl_rmm-0.7.3/src/kctl_rmm/commands/tasks.py +57 -0
  29. kctl_rmm-0.7.3/src/kctl_rmm/commands/winupdates.py +100 -0
  30. kctl_rmm-0.7.3/src/kctl_rmm/core/__init__.py +0 -0
  31. kctl_rmm-0.7.3/src/kctl_rmm/core/callbacks.py +34 -0
  32. kctl_rmm-0.7.3/src/kctl_rmm/core/client.py +67 -0
  33. kctl_rmm-0.7.3/src/kctl_rmm/core/config.py +124 -0
  34. kctl_rmm-0.7.3/tests/__init__.py +0 -0
  35. kctl_rmm-0.7.3/tests/conftest.py +58 -0
  36. kctl_rmm-0.7.3/tests/test_core.py +380 -0
  37. kctl_rmm-0.7.3/tests/test_imports.py +74 -0
  38. kctl_rmm-0.7.3/tests/test_smoke.py +180 -0
@@ -0,0 +1,33 @@
1
+ # Python
2
+ __pycache__/
3
+ *.py[cod]
4
+ *.egg-info/
5
+ *.egg
6
+ dist/
7
+ build/
8
+ .eggs/
9
+
10
+ # Virtual environments
11
+ .venv/
12
+ venv/
13
+
14
+ # IDE
15
+ .idea/
16
+ .vscode/
17
+ *.swp
18
+ *.swo
19
+
20
+ # Testing
21
+ .pytest_cache/
22
+ .coverage
23
+ htmlcov/
24
+ .mypy_cache/
25
+ .ruff_cache/
26
+
27
+ # OS
28
+ .DS_Store
29
+ Thumbs.db
30
+
31
+ # Environment
32
+ .env
33
+ .env.local
@@ -0,0 +1,145 @@
1
+ Metadata-Version: 2.4
2
+ Name: kctl-rmm
3
+ Version: 0.7.3
4
+ Summary: Kodemeio Tactical RMM CLI - manage remote monitoring and management
5
+ Author-email: Kodemeio <dev@kodeme.io>
6
+ License-Expression: MIT
7
+ Keywords: cli,kodemeio,meshcentral,remote-management,rmm,tactical
8
+ Classifier: Development Status :: 3 - Alpha
9
+ Classifier: Environment :: Console
10
+ Classifier: Intended Audience :: System Administrators
11
+ Classifier: License :: OSI Approved :: MIT License
12
+ Classifier: Programming Language :: Python :: 3.12
13
+ Classifier: Programming Language :: Python :: 3.13
14
+ Classifier: Topic :: System :: Systems Administration
15
+ Requires-Python: >=3.12
16
+ Requires-Dist: httpx>=0.28.0
17
+ Requires-Dist: kctl-lib>=0.8.0
18
+ Requires-Dist: pydantic>=2.10.0
19
+ Requires-Dist: pyyaml>=6.0.2
20
+ Requires-Dist: rich>=13.9.0
21
+ Requires-Dist: typer>=0.15.0
22
+ Provides-Extra: dev
23
+ Requires-Dist: mypy>=1.14.0; extra == 'dev'
24
+ Requires-Dist: pytest-httpx>=0.35.0; extra == 'dev'
25
+ Requires-Dist: pytest>=8.3.0; extra == 'dev'
26
+ Requires-Dist: ruff>=0.9.0; extra == 'dev'
27
+ Requires-Dist: types-pyyaml>=6.0.0; extra == 'dev'
28
+ Description-Content-Type: text/markdown
29
+
30
+ # kctl-rmm
31
+
32
+ Kodemeio Tactical RMM CLI — manage remote monitoring and management for all clients.
33
+
34
+ ## Installation
35
+
36
+ ```bash
37
+ uv tool install .
38
+ ```
39
+
40
+ ## Quick Start
41
+
42
+ ```bash
43
+ kctl-rmm config init
44
+ kctl-rmm health
45
+ kctl-rmm dashboard
46
+ kctl-rmm agents list
47
+ ```
48
+
49
+ ## Setup
50
+
51
+ ```bash
52
+ kctl-rmm config init
53
+ kctl-rmm config add abcfood --url https://api-rmm.abcfood.app --api-key $KEY
54
+ ```
55
+
56
+ ## Command Groups
57
+
58
+ | Group | Description |
59
+ |-------|-------------|
60
+ | `config` | Manage CLI configuration and profiles |
61
+ | `doctor` | Diagnostic checks (URL + API key) |
62
+ | `health` | Health checks and diagnostics |
63
+ | `dashboard` | System overview dashboard |
64
+ | `agents` | Manage Tactical RMM agents |
65
+ | `scripts` | Manage and execute scripts |
66
+ | `clients` | Manage clients and sites |
67
+ | `software` | Software inventory management |
68
+ | `patches` | Manage Windows patches and updates |
69
+ | `alerts` | Manage alerts |
70
+ | `tasks` | Manage automated tasks |
71
+ | `services` | Manage Windows services on remote agents |
72
+ | `drivers` | Driver management (POS58 thermal printer) |
73
+ | `remote` | Remote access (Take Control, terminal, MeshCentral) |
74
+ | `maintenance` | RMM stack maintenance (docker services) |
75
+ | `checks` | Manage automated checks |
76
+ | `winupdates` | Manage Windows Updates on agents |
77
+ | `linux` | Linux agent management (install/update/uninstall) |
78
+ | `rustdesk` | RustDesk remote access (connect, deploy, manage) |
79
+
80
+ ## Usage Examples
81
+
82
+ ```bash
83
+ # Remote Access (opens browser)
84
+ kctl-rmm remote takecontrol PCTMIGBJ # Take Control by hostname
85
+ kctl-rmm remote rmm # Open RMM dashboard
86
+ kctl-rmm remote mesh # Open MeshCentral
87
+
88
+ # Agents
89
+ kctl-rmm agents list
90
+ kctl-rmm agents summary
91
+ kctl-rmm agents offline
92
+
93
+ # Scripts
94
+ kctl-rmm scripts list
95
+ kctl-rmm scripts run 136 --agent <id>
96
+
97
+ # Monitoring
98
+ kctl-rmm dashboard
99
+ kctl-rmm health
100
+
101
+ # Multi-profile
102
+ kctl-rmm -p abcfood agents list
103
+ kctl-rmm -p abcfood remote takecontrol DESKTOP-KR118VQ
104
+ ```
105
+
106
+ ## Global Options
107
+
108
+ | Option | Short | Description |
109
+ |--------|-------|-------------|
110
+ | `--json` | | Output as JSON |
111
+ | `--quiet` | `-q` | Suppress info messages |
112
+ | `--format` | | Output format: pretty, json, csv, yaml |
113
+ | `--no-header` | | Omit table headers |
114
+ | `--profile` | `-p` | Config profile name |
115
+ | `--url` | | API URL override |
116
+ | `--api-key` | | X-API-KEY override |
117
+ | `--version` | `-V` | Show version and exit |
118
+
119
+ ## Configuration
120
+
121
+ Config lives in `~/.config/kodemeio/config.yaml` under the `rmm` service key.
122
+
123
+ ```bash
124
+ # Initialize default profile
125
+ kctl-rmm config init
126
+
127
+ # Add a client-specific profile
128
+ kctl-rmm config add abcfood \
129
+ --url https://api-rmm.abcfood.app \
130
+ --api-key $RMM_API_KEY
131
+
132
+ # List all profiles
133
+ kctl-rmm config profiles
134
+
135
+ # Show current profile
136
+ kctl-rmm config show
137
+ ```
138
+
139
+ ## Development
140
+
141
+ ```bash
142
+ uv run pytest tests/ -v
143
+ uv run ruff check src/
144
+ uv run mypy src/
145
+ ```
@@ -0,0 +1,116 @@
1
+ # kctl-rmm
2
+
3
+ Kodemeio Tactical RMM CLI — manage remote monitoring and management for all clients.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ uv tool install .
9
+ ```
10
+
11
+ ## Quick Start
12
+
13
+ ```bash
14
+ kctl-rmm config init
15
+ kctl-rmm health
16
+ kctl-rmm dashboard
17
+ kctl-rmm agents list
18
+ ```
19
+
20
+ ## Setup
21
+
22
+ ```bash
23
+ kctl-rmm config init
24
+ kctl-rmm config add abcfood --url https://api-rmm.abcfood.app --api-key $KEY
25
+ ```
26
+
27
+ ## Command Groups
28
+
29
+ | Group | Description |
30
+ |-------|-------------|
31
+ | `config` | Manage CLI configuration and profiles |
32
+ | `doctor` | Diagnostic checks (URL + API key) |
33
+ | `health` | Health checks and diagnostics |
34
+ | `dashboard` | System overview dashboard |
35
+ | `agents` | Manage Tactical RMM agents |
36
+ | `scripts` | Manage and execute scripts |
37
+ | `clients` | Manage clients and sites |
38
+ | `software` | Software inventory management |
39
+ | `patches` | Manage Windows patches and updates |
40
+ | `alerts` | Manage alerts |
41
+ | `tasks` | Manage automated tasks |
42
+ | `services` | Manage Windows services on remote agents |
43
+ | `drivers` | Driver management (POS58 thermal printer) |
44
+ | `remote` | Remote access (Take Control, terminal, MeshCentral) |
45
+ | `maintenance` | RMM stack maintenance (docker services) |
46
+ | `checks` | Manage automated checks |
47
+ | `winupdates` | Manage Windows Updates on agents |
48
+ | `linux` | Linux agent management (install/update/uninstall) |
49
+ | `rustdesk` | RustDesk remote access (connect, deploy, manage) |
50
+
51
+ ## Usage Examples
52
+
53
+ ```bash
54
+ # Remote Access (opens browser)
55
+ kctl-rmm remote takecontrol PCTMIGBJ # Take Control by hostname
56
+ kctl-rmm remote rmm # Open RMM dashboard
57
+ kctl-rmm remote mesh # Open MeshCentral
58
+
59
+ # Agents
60
+ kctl-rmm agents list
61
+ kctl-rmm agents summary
62
+ kctl-rmm agents offline
63
+
64
+ # Scripts
65
+ kctl-rmm scripts list
66
+ kctl-rmm scripts run 136 --agent <id>
67
+
68
+ # Monitoring
69
+ kctl-rmm dashboard
70
+ kctl-rmm health
71
+
72
+ # Multi-profile
73
+ kctl-rmm -p abcfood agents list
74
+ kctl-rmm -p abcfood remote takecontrol DESKTOP-KR118VQ
75
+ ```
76
+
77
+ ## Global Options
78
+
79
+ | Option | Short | Description |
80
+ |--------|-------|-------------|
81
+ | `--json` | | Output as JSON |
82
+ | `--quiet` | `-q` | Suppress info messages |
83
+ | `--format` | | Output format: pretty, json, csv, yaml |
84
+ | `--no-header` | | Omit table headers |
85
+ | `--profile` | `-p` | Config profile name |
86
+ | `--url` | | API URL override |
87
+ | `--api-key` | | X-API-KEY override |
88
+ | `--version` | `-V` | Show version and exit |
89
+
90
+ ## Configuration
91
+
92
+ Config lives in `~/.config/kodemeio/config.yaml` under the `rmm` service key.
93
+
94
+ ```bash
95
+ # Initialize default profile
96
+ kctl-rmm config init
97
+
98
+ # Add a client-specific profile
99
+ kctl-rmm config add abcfood \
100
+ --url https://api-rmm.abcfood.app \
101
+ --api-key $RMM_API_KEY
102
+
103
+ # List all profiles
104
+ kctl-rmm config profiles
105
+
106
+ # Show current profile
107
+ kctl-rmm config show
108
+ ```
109
+
110
+ ## Development
111
+
112
+ ```bash
113
+ uv run pytest tests/ -v
114
+ uv run ruff check src/
115
+ uv run mypy src/
116
+ ```
@@ -0,0 +1,64 @@
1
+ [build-system]
2
+ requires = ["hatchling"]
3
+ build-backend = "hatchling.build"
4
+
5
+ [project]
6
+ name = "kctl-rmm"
7
+ version = "0.7.3"
8
+ description = "Kodemeio Tactical RMM CLI - manage remote monitoring and management"
9
+ readme = "README.md"
10
+ license = "MIT"
11
+ requires-python = ">=3.12"
12
+ authors = [{ name = "Kodemeio", email = "dev@kodeme.io" }]
13
+ keywords = ["rmm", "tactical", "meshcentral", "remote-management", "cli", "kodemeio"]
14
+ classifiers = [
15
+ "Development Status :: 3 - Alpha",
16
+ "Environment :: Console",
17
+ "Intended Audience :: System Administrators",
18
+ "License :: OSI Approved :: MIT License",
19
+ "Programming Language :: Python :: 3.12",
20
+ "Programming Language :: Python :: 3.13",
21
+ "Topic :: System :: Systems Administration",
22
+ ]
23
+ dependencies = [
24
+ "kctl-lib>=0.8.0",
25
+ "typer>=0.15.0",
26
+ "httpx>=0.28.0",
27
+ "rich>=13.9.0",
28
+ "pydantic>=2.10.0",
29
+ "pyyaml>=6.0.2",
30
+ ]
31
+
32
+ [project.optional-dependencies]
33
+ dev = [
34
+ "pytest>=8.3.0",
35
+ "pytest-httpx>=0.35.0",
36
+ "ruff>=0.9.0",
37
+ "mypy>=1.14.0",
38
+ "types-PyYAML>=6.0.0",
39
+ ]
40
+
41
+ [project.scripts]
42
+ kctl-rmm = "kctl_rmm.cli:_run"
43
+
44
+ [project.entry-points."kctl_rmm.plugins"]
45
+
46
+ [tool.hatch.build.targets.wheel]
47
+ packages = ["src/kctl_rmm"]
48
+
49
+ [tool.uv.sources]
50
+ kctl-lib = { workspace = true }
51
+
52
+ [tool.ruff]
53
+ target-version = "py312"
54
+ line-length = 120
55
+
56
+ [tool.ruff.lint]
57
+ select = ["E", "F", "I", "W", "UP", "B", "SIM"]
58
+
59
+ [tool.mypy]
60
+ python_version = "3.12"
61
+ strict = true
62
+
63
+ [tool.pytest.ini_options]
64
+ testpaths = ["tests"]
@@ -0,0 +1,247 @@
1
+ ---
2
+ name: rmm-admin
3
+ description: >
4
+ Tactical RMM remote monitoring via kctl-rmm CLI (19 groups, ~68 commands).
5
+ MUST use for ANY kctl-rmm operation.
6
+ Triggers on: "agents", "alerts", "check", "check-printer", "checks", "clients", "config", "connect", "current", "dashboard", "deploy", "dismiss", "drivers", "generate", "health", "history", "init", "install", "install-pos58", "kctl-rmm", "linux", "logs", "maintenance", "mesh", "migrate", "offline", "patches", "ping", "profile", "profiles", "reboot", "remote", "remove", "restart", "results", "rustdesk", "scan", "scripts", "search", "services", "setup", "sites", "skill", "software", "start", "stop", "summary", "takecontrol", "tasks", "terminal", "test", "transfer", "uninstall", "winupdates".
7
+ Auto-generated: 2026-04-05
8
+ registry_hash: caa7b6286d08
9
+ ---
10
+
11
+ # rmm-admin — kctl-rmm CLI Reference
12
+
13
+ > Auto-generated from `kctl-rmm` command registry. Do not edit manually.
14
+ > To regenerate: `kctl-rmm skill generate`
15
+ > To add custom content: edit `SKILL.extra.md` in the same directory.
16
+
17
+ ## Overview
18
+
19
+ **CLI:** `kctl-rmm`
20
+ **Command groups:** 19
21
+ **Total commands:** ~68
22
+ **Install:** `cd cli && uv tool install --editable .`
23
+
24
+ ## Global Options
25
+
26
+ | Flag | Description |
27
+ |------|-------------|
28
+ | `--json` | JSON output |
29
+ | `--quiet`, `-q` | Suppress info messages |
30
+ | `--format`, `-f` | Output format: pretty/json/csv/yaml |
31
+ | `--no-header` | Omit CSV header row |
32
+ | `--profile`, `-p` | Config profile name |
33
+ | `--version`, `-V` | Show version |
34
+
35
+ ## Command Reference
36
+
37
+ ### `kctl-rmm agents`
38
+
39
+ Manage Tactical RMM agents.
40
+
41
+ | Command | Description |
42
+ |---------|-------------|
43
+ | `agents get <agent_id>` | Get agent details. |
44
+ | `agents list [--detail] [--client] [--site]` | List all agents. |
45
+ | `agents offline` | List agents that are offline/unreachable. |
46
+ | `agents ping <agent_id>` | Ping an agent to check connectivity. |
47
+ | `agents reboot <agent_id> [--force]` | Reboot a remote machine. |
48
+ | `agents summary` | Agent count summary by client/site, online/offline. |
49
+ | `agents update <agent_id>` | Trigger agent update. |
50
+
51
+ ### `kctl-rmm alerts`
52
+
53
+ Manage alerts.
54
+
55
+ | Command | Description |
56
+ |---------|-------------|
57
+ | `alerts dismiss <alert_id>` | Dismiss an alert. |
58
+ | `alerts list [--severity]` | List active alerts. |
59
+
60
+ ### `kctl-rmm checks`
61
+
62
+ Manage automated checks.
63
+
64
+ | Command | Description |
65
+ |---------|-------------|
66
+ | `checks create <agent> <check_type> [--name] [--threshold] [--alert_severity]` | Create an automated check on an agent. |
67
+ | `checks delete <check_id> [--force]` | Delete an automated check. |
68
+ | `checks list [--agent]` | List automated checks. |
69
+ | `checks results <check_id>` | Show results/history for a check. |
70
+ | `checks run <check_id>` | Manually run a check. |
71
+
72
+ ### `kctl-rmm clients`
73
+
74
+ Manage clients and sites.
75
+
76
+ | Command | Description |
77
+ |---------|-------------|
78
+ | `clients get <client_id>` | Get client details with sites. |
79
+ | `clients list` | List all clients. |
80
+ | `clients sites [--client_filter]` | List all sites. |
81
+
82
+ ### `kctl-rmm config`
83
+
84
+ Manage CLI configuration and profiles.
85
+
86
+ | Command | Description |
87
+ |---------|-------------|
88
+ | `config add <name> [--url] [--api_key] [--mesh_url] [--set_default]` | Add or update a profile's RMM connection. |
89
+ | `config current` | Show the active profile and connection status. |
90
+ | `config init [--url] [--api_key] [--mesh_url] [--name]` | Initialize CLI configuration (interactive if no flags given). |
91
+ | `config migrate` | Migrate config from flat format to service-scoped format. |
92
+ | `config profiles` | List all profiles with RMM connection status. |
93
+ | `config remove <name> [--force] [--service_only]` | Remove a profile or just its RMM config. |
94
+ | `config set <key> <value> [--profile_arg]` | Set a configuration value for the current service. |
95
+ | `config show` | Show full configuration (API keys masked). |
96
+ | `config test` | Test API connection with current configuration. |
97
+ | `config use <name>` | Switch the default profile. |
98
+
99
+ ### `kctl-rmm dashboard`
100
+
101
+ System overview dashboard.
102
+
103
+ ### `kctl-rmm drivers`
104
+
105
+ Driver management (POS58 thermal printer).
106
+
107
+ | Command | Description |
108
+ |---------|-------------|
109
+ | `drivers check-printer <agent_id> [--timeout]` | Check printer/USB info on an agent (script 135). |
110
+ | `drivers install-pos58 <agent_id> [--timeout]` | Install POS58 thermal printer driver on an agent (script 136). |
111
+
112
+ ### `kctl-rmm health`
113
+
114
+ Health checks and diagnostics.
115
+
116
+ ### `kctl-rmm linux`
117
+
118
+ Linux agent management (install/update/uninstall via LinuxRMM-Script).
119
+
120
+ | Command | Description |
121
+ |---------|-------------|
122
+ | `linux install [--mesh_agent_url] [--auth_key] [--client_name] [--site_name] [--client_id] [--site_id] [--agent_type] [--ssh_host] [--ssh_port] [--dry_run]` | Install Tactical RMM agent on a Linux machine. |
123
+ | `linux status <ssh_host> [--ssh_port]` | Check Linux agent status on a remote host via SSH. |
124
+ | `linux uninstall [--mesh_fqdn] [--mesh_id] [--ssh_host] [--ssh_port] [--dry_run]` | Uninstall the Tactical RMM agent from a Linux machine. |
125
+ | `linux update [--ssh_host] [--ssh_port] [--dry_run]` | Update the Tactical RMM agent on a Linux machine. |
126
+
127
+ ### `kctl-rmm maintenance`
128
+
129
+ RMM stack maintenance (docker services).
130
+
131
+ | Command | Description |
132
+ |---------|-------------|
133
+ | `maintenance logs <service> [--lines]` | Show log command for a service. |
134
+ | `maintenance restart <service>` | Show restart command for a service. |
135
+ | `maintenance status` | Show expected RMM service list and API health. |
136
+
137
+ ### `kctl-rmm patches`
138
+
139
+ Manage Windows patches and updates.
140
+
141
+ | Command | Description |
142
+ |---------|-------------|
143
+ | `patches install <agent_id> [--all_patches] [--kb]` | Install patches on an agent. |
144
+ | `patches list <agent_id>` | List pending patches for an agent. |
145
+ | `patches scan <agent_id>` | Trigger a patch scan on an agent. |
146
+
147
+ ### `kctl-rmm remote`
148
+
149
+ Remote access (Take Control, terminal, MeshCentral).
150
+
151
+ | Command | Description |
152
+ |---------|-------------|
153
+ | `remote mesh` | Open MeshCentral dashboard in browser. |
154
+ | `remote rmm` | Open Tactical RMM dashboard in browser. |
155
+ | `remote takecontrol <agent>` | Take Control of agent (opens TRMM remote desktop). |
156
+ | `remote terminal <agent>` | Open terminal for agent via MeshCentral. |
157
+
158
+ ### `kctl-rmm rustdesk`
159
+
160
+ RustDesk remote access (connect, deploy, manage).
161
+
162
+ | Command | Description |
163
+ |---------|-------------|
164
+ | `rustdesk connect <agent>` | Open RustDesk remote session to agent. |
165
+ | `rustdesk deploy [--agent_id] [--all_agents] [--client_filter] [--timeout]` | Deploy RustDesk client to agent(s) via TRMM script. |
166
+ | `rustdesk list [--client_filter] [--installed_only]` | List agents with their RustDesk IDs. |
167
+ | `rustdesk setup` | One-time setup: create TRMM custom fields and upload RustDesk scripts. |
168
+ | `rustdesk status <agent_id> [--timeout]` | Check RustDesk status on an agent (runs check script). |
169
+ | `rustdesk transfer <agent>` | Open RustDesk file transfer session to agent. |
170
+
171
+ ### `kctl-rmm scripts`
172
+
173
+ Manage and execute scripts.
174
+
175
+ | Command | Description |
176
+ |---------|-------------|
177
+ | `scripts create <name> [--shell] [--file] [--description] [--timeout]` | Upload a new script. |
178
+ | `scripts get <script_id>` | Get script details. |
179
+ | `scripts history [--agent]` | View script execution history. |
180
+ | `scripts list` | List all scripts. |
181
+ | `scripts run <script_id> [--agent] [--all_agents] [--client_filter] [--timeout]` | Run a script on agent(s). |
182
+
183
+ ### `kctl-rmm services`
184
+
185
+ Manage Windows services on remote agents.
186
+
187
+ | Command | Description |
188
+ |---------|-------------|
189
+ | `services list <agent_id>` | List Windows services on an agent. |
190
+ | `services restart <agent_id> <service_name>` | Restart a Windows service. |
191
+ | `services start <agent_id> <service_name>` | Start a Windows service. |
192
+ | `services stop <agent_id> <service_name>` | Stop a Windows service. |
193
+
194
+ ### `kctl-rmm skill`
195
+
196
+ Claude Code skill management.
197
+
198
+ | Command | Description |
199
+ |---------|-------------|
200
+ | `skill generate [--output] [--install] [--check]` | Auto-generate SKILL.md from CLI command registry. |
201
+
202
+ **Examples:**
203
+ ```bash
204
+ kctl-rmm skill generate
205
+ kctl-rmm skill generate --install
206
+ kctl-rmm skill generate --check
207
+ ```
208
+
209
+ ### `kctl-rmm software`
210
+
211
+ Software inventory management.
212
+
213
+ | Command | Description |
214
+ |---------|-------------|
215
+ | `software list <agent_id>` | List installed software on an agent. |
216
+ | `software search <name> [--agent_id]` | Search for software across agents. |
217
+
218
+ ### `kctl-rmm tasks`
219
+
220
+ Manage automated tasks.
221
+
222
+ | Command | Description |
223
+ |---------|-------------|
224
+ | `tasks list [--agent]` | List automated tasks. |
225
+ | `tasks run <task_id>` | Trigger a task manually. |
226
+
227
+ ### `kctl-rmm winupdates`
228
+
229
+ Manage Windows Updates on agents.
230
+
231
+ | Command | Description |
232
+ |---------|-------------|
233
+ | `winupdates install <agent_id> [--kb] [--all_updates] [--reboot]` | Install Windows updates on an agent. |
234
+ | `winupdates list <agent_id>` | List Windows updates for an agent. |
235
+ | `winupdates scan <agent_id>` | Trigger a Windows Update scan on an agent. |
236
+
237
+ ## Configuration
238
+
239
+ Shared config: `~/.config/kodemeio/config.yaml`
240
+
241
+ ```bash
242
+ kctl-rmm config init # Interactive setup
243
+ kctl-rmm config show # Show current config
244
+ kctl-rmm config profiles # List profiles
245
+ kctl-rmm config current # Show active profile
246
+ kctl-rmm config validate # Verify config
247
+ ```
@@ -0,0 +1,3 @@
1
+ """kctl-rmm: Kodemeio Tactical RMM CLI."""
2
+
3
+ __version__ = "0.7.3"
@@ -0,0 +1,5 @@
1
+ """Allow running as: python -m kctl_rmm."""
2
+
3
+ from kctl_rmm.cli import _run
4
+
5
+ _run()