kctl-api 0.7.1__tar.gz → 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.
- {kctl_api-0.7.1 → kctl_api-0.7.3}/PKG-INFO +2 -2
- {kctl_api-0.7.1 → kctl_api-0.7.3}/pyproject.toml +2 -2
- {kctl_api-0.7.1 → kctl_api-0.7.3}/skills/api-admin/SKILL.md +62 -8
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/__init__.py +1 -1
- {kctl_api-0.7.1 → kctl_api-0.7.3}/.gitignore +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/README.md +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/__main__.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/cli.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/commands/__init__.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/commands/ai.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/commands/aliases.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/commands/apps.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/commands/auth.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/commands/automation.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/commands/build_cmd.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/commands/clean.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/commands/config_cmd.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/commands/dashboard.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/commands/db.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/commands/deploy.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/commands/deps.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/commands/dev.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/commands/docker_cmd.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/commands/doctor_cmd.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/commands/env.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/commands/files.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/commands/fmt_cmd.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/commands/health.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/commands/jobs.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/commands/lint_cmd.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/commands/logs.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/commands/marketplace.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/commands/monitor_cmd.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/commands/notifications.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/commands/odoo_proxy.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/commands/openapi.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/commands/perf.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/commands/rate_limit.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/commands/realtime.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/commands/redis_cmd.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/commands/routes_cmd.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/commands/saas.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/commands/scaffold.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/commands/security_cmd.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/commands/services.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/commands/shell.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/commands/skill_cmd.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/commands/streams.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/commands/stripe_cmd.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/commands/tenant_ai.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/commands/test_cmd.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/commands/users.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/commands/webhooks.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/commands/workflows.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/commands/ws.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/core/__init__.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/core/async_client.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/core/callbacks.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/core/client.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/core/config.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/core/db.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/core/exceptions.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/core/output.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/core/plugins.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/core/redis.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/core/resolve.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/src/kctl_api/core/utils.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/tests/conftest.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/tests/test_auth.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/tests/test_cli.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/tests/test_config_cmd.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/tests/test_core.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/tests/test_deploy.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/tests/test_logs.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/tests/test_smoke.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/tests/test_standard.py +0 -0
- {kctl_api-0.7.1 → kctl_api-0.7.3}/tests/test_users.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: kctl-api
|
|
3
|
-
Version: 0.7.
|
|
3
|
+
Version: 0.7.3
|
|
4
4
|
Summary: Kodemeio API CLI - manage your FastAPI platform
|
|
5
5
|
Author-email: Kodemeio <dev@kodeme.io>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -14,7 +14,7 @@ Classifier: Programming Language :: Python :: 3.13
|
|
|
14
14
|
Classifier: Topic :: System :: Systems Administration
|
|
15
15
|
Requires-Python: >=3.12
|
|
16
16
|
Requires-Dist: httpx>=0.28.0
|
|
17
|
-
Requires-Dist: kctl-lib>=0.
|
|
17
|
+
Requires-Dist: kctl-lib>=0.11.0
|
|
18
18
|
Provides-Extra: all
|
|
19
19
|
Requires-Dist: asyncpg>=0.30.0; extra == 'all'
|
|
20
20
|
Requires-Dist: redis>=5.0.0; extra == 'all'
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "kctl-api"
|
|
7
|
-
version = "0.7.
|
|
7
|
+
version = "0.7.3"
|
|
8
8
|
description = "Kodemeio API CLI - manage your FastAPI platform"
|
|
9
9
|
license = "MIT"
|
|
10
10
|
requires-python = ">=3.12"
|
|
@@ -20,7 +20,7 @@ classifiers = [
|
|
|
20
20
|
"Topic :: System :: Systems Administration",
|
|
21
21
|
]
|
|
22
22
|
dependencies = [
|
|
23
|
-
"kctl-lib>=0.
|
|
23
|
+
"kctl-lib>=0.11.0",
|
|
24
24
|
"httpx>=0.28.0",
|
|
25
25
|
]
|
|
26
26
|
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: api-admin
|
|
3
3
|
description: >
|
|
4
|
-
FastAPI platform management via kctl-api CLI (
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
Auto-generated: 2026-04-05
|
|
8
|
-
registry_hash: c99de89d0de1
|
|
4
|
+
FastAPI platform management via kctl-api CLI (59 groups, ~236 commands). MUST use for ANY kctl-api operation. See SKILL.md ## Triggers for keywords.
|
|
5
|
+
Auto-generated: 2026-05-22
|
|
6
|
+
registry_hash: 92e9f30a4f23
|
|
9
7
|
---
|
|
10
8
|
|
|
11
9
|
# api-admin — kctl-api CLI Reference
|
|
@@ -17,8 +15,8 @@ description: >
|
|
|
17
15
|
## Overview
|
|
18
16
|
|
|
19
17
|
**CLI:** `kctl-api`
|
|
20
|
-
**Command groups:**
|
|
21
|
-
**Total commands:** ~
|
|
18
|
+
**Command groups:** 59
|
|
19
|
+
**Total commands:** ~236
|
|
22
20
|
**Install:** `cd cli && uv tool install --editable .`
|
|
23
21
|
|
|
24
22
|
## Global Options
|
|
@@ -32,6 +30,37 @@ description: >
|
|
|
32
30
|
| `--profile`, `-p` | Config profile name |
|
|
33
31
|
| `--version`, `-V` | Show version |
|
|
34
32
|
|
|
33
|
+
## Quick Discovery (for AI agents)
|
|
34
|
+
|
|
35
|
+
**DO NOT GUESS command paths or flag names.** Before invoking `kctl-api <group> <verb> ...`, use these AI-facing affordances:
|
|
36
|
+
|
|
37
|
+
1. **Find a command by keyword** — substring filter, returns sorted leaf paths:
|
|
38
|
+
```bash
|
|
39
|
+
kctl-api commands list --filter <keyword>
|
|
40
|
+
```
|
|
41
|
+
Example: `kctl-api commands list --filter database` → all database-related commands in one call.
|
|
42
|
+
|
|
43
|
+
2. **Inspect flags before invoking** — full param schema with
|
|
44
|
+
opts/defaults/required/choices/help:
|
|
45
|
+
```bash
|
|
46
|
+
kctl-api commands tree --json | jq '.. | objects | select(.name == "<verb>") | .params'
|
|
47
|
+
```
|
|
48
|
+
Reading the `params` array tells you exact flag names (`--lang`), short aliases (`-l`), defaults, required-vs-optional, and choices — eliminating the `No such option '--xxx'` failure mode.
|
|
49
|
+
|
|
50
|
+
3. **Preview destructive operations without executing** — `--explain` is supported on selected write commands:
|
|
51
|
+
```bash
|
|
52
|
+
kctl-api <group> <verb> <args> --explain
|
|
53
|
+
```
|
|
54
|
+
Prints the planned action and exits 0. If `--explain` errors with "no such option", that command does not support it — fall back to verifying via `commands tree` schema inspection before running for real.
|
|
55
|
+
|
|
56
|
+
4. **Errors are user-facing one-liners**, not Python tracebacks. A failed invocation shows `❌ <ErrorClass>: <message>` on stderr (or `{"error": ..., "message": ...}` JSON if `--json` was passed). Read the message — it usually tells you exactly what's missing.
|
|
57
|
+
|
|
58
|
+
## Triggers
|
|
59
|
+
|
|
60
|
+
Auto-invoke this skill when the user references any of these keywords:
|
|
61
|
+
|
|
62
|
+
"ai", "apps", "attach", "audit", "auth", "automation", "background-job", "bench", "breaking", "broadcast", "build", "cache", "call", "chat", "check", "check-safety", "checkout", "clean", "clients", "commands", "completions", "config", "connect", "connections", "consumers", "containers", "conversation", "conversations", "copilots", "correlation", "cors", "count", "coverage", "current", "dashboard", "db", "dd", "dead-letter", "deep", "delete-conversation", "deploy", "deps", "deps-check", "dev", "diff", "dl", "docker", "doctor", "down", "downgrade", "download", "dr", "ds", "du", "endpoint", "endpoints", "enqueue", "env", "errors", "expire-audit", "export", "files", "fl", "flush", "fmt", "follow", "generate", "graph", "hc", "headers", "health", "heartbeat", "history", "images", "info", "init", "install", "jo", "jobs", "kctl-api"
|
|
63
|
+
|
|
35
64
|
## Command Reference
|
|
36
65
|
|
|
37
66
|
### `kctl-api ai`
|
|
@@ -104,6 +133,21 @@ Cleanup — all, cache, build, pycache.
|
|
|
104
133
|
| `clean cache [--dry_run]` | Remove .ruff_cache, .mypy_cache, .pytest_cache directories. |
|
|
105
134
|
| `clean pycache [--dry_run]` | Remove all __pycache__ directories and .pyc/.pyo files. |
|
|
106
135
|
|
|
136
|
+
### `kctl-api commands`
|
|
137
|
+
|
|
138
|
+
Machine-readable command discovery (for AI agents).
|
|
139
|
+
|
|
140
|
+
| Command | Description |
|
|
141
|
+
|---------|-------------|
|
|
142
|
+
| `commands list [--json_flag] [--filter_substr]` | List all leaf commands as 'group verb' strings. |
|
|
143
|
+
| `commands tree [--json_flag]` | Dump the full command tree as JSON. |
|
|
144
|
+
|
|
145
|
+
### `kctl-api completions`
|
|
146
|
+
|
|
147
|
+
Generate or install shell completions.
|
|
148
|
+
|
|
149
|
+
Usage: `kctl-api completions [--shell] [--install]`
|
|
150
|
+
|
|
107
151
|
### `kctl-api config`
|
|
108
152
|
|
|
109
153
|
Manage connection profiles and configuration.
|
|
@@ -162,7 +206,7 @@ Deployment management — status, logs, restart, rollback.
|
|
|
162
206
|
| Command | Description |
|
|
163
207
|
|---------|-------------|
|
|
164
208
|
| `deploy list` | List all deployments (will use Dokploy API). |
|
|
165
|
-
| `deploy logs <app_name> [--tail]` | View deployment logs
|
|
209
|
+
| `deploy logs <app_name> [--tail] [--follow] [--compose_id] [--service] [--dokploy_profile]` | View deployment logs via kctl-dokploy or local docker compose. |
|
|
166
210
|
| `deploy restart <app_name>` | Restart a deployed app (will use Dokploy API). |
|
|
167
211
|
| `deploy rollback <app_name> [--revision]` | Rollback a deployment to a previous revision (will use Dokploy API). |
|
|
168
212
|
| `deploy status [--app_name]` | Show deployment status (will use Dokploy API). |
|
|
@@ -483,6 +527,10 @@ Security — audit, secrets, CORS, headers, deps.
|
|
|
483
527
|
| `security headers [--url]` | Check security headers on a URL. |
|
|
484
528
|
| `security secrets [--path]` | Scan source code for potential secrets and credentials. |
|
|
485
529
|
|
|
530
|
+
### `kctl-api self-update`
|
|
531
|
+
|
|
532
|
+
Check for updates and upgrade kctl-api.
|
|
533
|
+
|
|
486
534
|
### `kctl-api services`
|
|
487
535
|
|
|
488
536
|
Docker Compose services — list, status, restart, logs.
|
|
@@ -563,6 +611,12 @@ Test runner — run, coverage, watch.
|
|
|
563
611
|
|
|
564
612
|
Alias: test run all
|
|
565
613
|
|
|
614
|
+
### `kctl-api tui`
|
|
615
|
+
|
|
616
|
+
Launch the interactive TUI.
|
|
617
|
+
|
|
618
|
+
Usage: `kctl-api tui [--profile]`
|
|
619
|
+
|
|
566
620
|
### `kctl-api ul`
|
|
567
621
|
|
|
568
622
|
Alias: users list
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|