kctl-api 0.7.2__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.
Files changed (77) hide show
  1. {kctl_api-0.7.2 → kctl_api-0.7.3}/PKG-INFO +1 -1
  2. {kctl_api-0.7.2 → kctl_api-0.7.3}/pyproject.toml +1 -1
  3. {kctl_api-0.7.2 → kctl_api-0.7.3}/skills/api-admin/SKILL.md +62 -8
  4. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/__init__.py +1 -1
  5. {kctl_api-0.7.2 → kctl_api-0.7.3}/.gitignore +0 -0
  6. {kctl_api-0.7.2 → kctl_api-0.7.3}/README.md +0 -0
  7. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/__main__.py +0 -0
  8. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/cli.py +0 -0
  9. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/commands/__init__.py +0 -0
  10. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/commands/ai.py +0 -0
  11. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/commands/aliases.py +0 -0
  12. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/commands/apps.py +0 -0
  13. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/commands/auth.py +0 -0
  14. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/commands/automation.py +0 -0
  15. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/commands/build_cmd.py +0 -0
  16. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/commands/clean.py +0 -0
  17. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/commands/config_cmd.py +0 -0
  18. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/commands/dashboard.py +0 -0
  19. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/commands/db.py +0 -0
  20. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/commands/deploy.py +0 -0
  21. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/commands/deps.py +0 -0
  22. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/commands/dev.py +0 -0
  23. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/commands/docker_cmd.py +0 -0
  24. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/commands/doctor_cmd.py +0 -0
  25. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/commands/env.py +0 -0
  26. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/commands/files.py +0 -0
  27. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/commands/fmt_cmd.py +0 -0
  28. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/commands/health.py +0 -0
  29. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/commands/jobs.py +0 -0
  30. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/commands/lint_cmd.py +0 -0
  31. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/commands/logs.py +0 -0
  32. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/commands/marketplace.py +0 -0
  33. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/commands/monitor_cmd.py +0 -0
  34. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/commands/notifications.py +0 -0
  35. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/commands/odoo_proxy.py +0 -0
  36. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/commands/openapi.py +0 -0
  37. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/commands/perf.py +0 -0
  38. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/commands/rate_limit.py +0 -0
  39. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/commands/realtime.py +0 -0
  40. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/commands/redis_cmd.py +0 -0
  41. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/commands/routes_cmd.py +0 -0
  42. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/commands/saas.py +0 -0
  43. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/commands/scaffold.py +0 -0
  44. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/commands/security_cmd.py +0 -0
  45. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/commands/services.py +0 -0
  46. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/commands/shell.py +0 -0
  47. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/commands/skill_cmd.py +0 -0
  48. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/commands/streams.py +0 -0
  49. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/commands/stripe_cmd.py +0 -0
  50. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/commands/tenant_ai.py +0 -0
  51. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/commands/test_cmd.py +0 -0
  52. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/commands/users.py +0 -0
  53. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/commands/webhooks.py +0 -0
  54. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/commands/workflows.py +0 -0
  55. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/commands/ws.py +0 -0
  56. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/core/__init__.py +0 -0
  57. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/core/async_client.py +0 -0
  58. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/core/callbacks.py +0 -0
  59. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/core/client.py +0 -0
  60. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/core/config.py +0 -0
  61. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/core/db.py +0 -0
  62. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/core/exceptions.py +0 -0
  63. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/core/output.py +0 -0
  64. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/core/plugins.py +0 -0
  65. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/core/redis.py +0 -0
  66. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/core/resolve.py +0 -0
  67. {kctl_api-0.7.2 → kctl_api-0.7.3}/src/kctl_api/core/utils.py +0 -0
  68. {kctl_api-0.7.2 → kctl_api-0.7.3}/tests/conftest.py +0 -0
  69. {kctl_api-0.7.2 → kctl_api-0.7.3}/tests/test_auth.py +0 -0
  70. {kctl_api-0.7.2 → kctl_api-0.7.3}/tests/test_cli.py +0 -0
  71. {kctl_api-0.7.2 → kctl_api-0.7.3}/tests/test_config_cmd.py +0 -0
  72. {kctl_api-0.7.2 → kctl_api-0.7.3}/tests/test_core.py +0 -0
  73. {kctl_api-0.7.2 → kctl_api-0.7.3}/tests/test_deploy.py +0 -0
  74. {kctl_api-0.7.2 → kctl_api-0.7.3}/tests/test_logs.py +0 -0
  75. {kctl_api-0.7.2 → kctl_api-0.7.3}/tests/test_smoke.py +0 -0
  76. {kctl_api-0.7.2 → kctl_api-0.7.3}/tests/test_standard.py +0 -0
  77. {kctl_api-0.7.2 → 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.2
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
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "kctl-api"
7
- version = "0.7.2"
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"
@@ -1,11 +1,9 @@
1
1
  ---
2
2
  name: api-admin
3
3
  description: >
4
- FastAPI platform management via kctl-api CLI (55 groups, ~231 commands).
5
- MUST use for ANY kctl-api operation.
6
- Triggers on: "ai", "apps", "attach", "audit", "auth", "automation", "background-job", "bench", "breaking", "broadcast", "build", "cache", "call", "chat", "check", "check-safety", "checkout", "clean", "clients", "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", "keys", "keys-by-prefix".
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:** 55
21
- **Total commands:** ~231
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 (will use Dokploy API). |
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
@@ -1,3 +1,3 @@
1
1
  """kctl-api: Kodemeio API CLI."""
2
2
 
3
- __version__ = "0.7.2"
3
+ __version__ = "0.7.3"
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