kctl-github 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_github-0.7.1 → kctl_github-0.7.3}/PKG-INFO +2 -2
- {kctl_github-0.7.1 → kctl_github-0.7.3}/pyproject.toml +2 -2
- {kctl_github-0.7.1 → kctl_github-0.7.3}/skills/github-admin/SKILL.md +27 -2
- {kctl_github-0.7.1 → kctl_github-0.7.3}/src/kctl_github/__init__.py +1 -1
- {kctl_github-0.7.1 → kctl_github-0.7.3}/.gitignore +0 -0
- {kctl_github-0.7.1 → kctl_github-0.7.3}/README.md +0 -0
- {kctl_github-0.7.1 → kctl_github-0.7.3}/src/kctl_github/__main__.py +0 -0
- {kctl_github-0.7.1 → kctl_github-0.7.3}/src/kctl_github/cli.py +0 -0
- {kctl_github-0.7.1 → kctl_github-0.7.3}/src/kctl_github/commands/__init__.py +0 -0
- {kctl_github-0.7.1 → kctl_github-0.7.3}/src/kctl_github/commands/billing.py +0 -0
- {kctl_github-0.7.1 → kctl_github-0.7.3}/src/kctl_github/commands/ci.py +0 -0
- {kctl_github-0.7.1 → kctl_github-0.7.3}/src/kctl_github/commands/config_cmd.py +0 -0
- {kctl_github-0.7.1 → kctl_github-0.7.3}/src/kctl_github/commands/dashboard.py +0 -0
- {kctl_github-0.7.1 → kctl_github-0.7.3}/src/kctl_github/commands/doctor_cmd.py +0 -0
- {kctl_github-0.7.1 → kctl_github-0.7.3}/src/kctl_github/commands/health.py +0 -0
- {kctl_github-0.7.1 → kctl_github-0.7.3}/src/kctl_github/commands/labels.py +0 -0
- {kctl_github-0.7.1 → kctl_github-0.7.3}/src/kctl_github/commands/prs.py +0 -0
- {kctl_github-0.7.1 → kctl_github-0.7.3}/src/kctl_github/commands/repos.py +0 -0
- {kctl_github-0.7.1 → kctl_github-0.7.3}/src/kctl_github/commands/secrets.py +0 -0
- {kctl_github-0.7.1 → kctl_github-0.7.3}/src/kctl_github/commands/skill_cmd.py +0 -0
- {kctl_github-0.7.1 → kctl_github-0.7.3}/src/kctl_github/commands/stats.py +0 -0
- {kctl_github-0.7.1 → kctl_github-0.7.3}/src/kctl_github/core/__init__.py +0 -0
- {kctl_github-0.7.1 → kctl_github-0.7.3}/src/kctl_github/core/callbacks.py +0 -0
- {kctl_github-0.7.1 → kctl_github-0.7.3}/src/kctl_github/core/client.py +0 -0
- {kctl_github-0.7.1 → kctl_github-0.7.3}/src/kctl_github/core/config.py +0 -0
- {kctl_github-0.7.1 → kctl_github-0.7.3}/src/kctl_github/core/exceptions.py +0 -0
- {kctl_github-0.7.1 → kctl_github-0.7.3}/src/kctl_github/core/plugins.py +0 -0
- {kctl_github-0.7.1 → kctl_github-0.7.3}/tests/conftest.py +0 -0
- {kctl_github-0.7.1 → kctl_github-0.7.3}/tests/test_client.py +0 -0
- {kctl_github-0.7.1 → kctl_github-0.7.3}/tests/test_dashboard.py +0 -0
- {kctl_github-0.7.1 → kctl_github-0.7.3}/tests/test_smoke.py +0 -0
- {kctl_github-0.7.1 → kctl_github-0.7.3}/tests/test_standard.py +0 -0
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: kctl-github
|
|
3
|
-
Version: 0.7.
|
|
3
|
+
Version: 0.7.3
|
|
4
4
|
Summary: Kodemeio GitHub CLI — cross-repo GitHub management
|
|
5
5
|
Requires-Python: >=3.12
|
|
6
6
|
Requires-Dist: httpx>=0.28.0
|
|
7
|
-
Requires-Dist: kctl-lib>=0.
|
|
7
|
+
Requires-Dist: kctl-lib>=0.11.0
|
|
8
8
|
Requires-Dist: pydantic>=2.10.0
|
|
9
9
|
Requires-Dist: pyyaml>=6.0.2
|
|
10
10
|
Requires-Dist: rich>=13.9.0
|
|
@@ -4,11 +4,11 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "kctl-github"
|
|
7
|
-
version = "0.7.
|
|
7
|
+
version = "0.7.3"
|
|
8
8
|
description = "Kodemeio GitHub CLI — cross-repo GitHub management"
|
|
9
9
|
requires-python = ">=3.12"
|
|
10
10
|
dependencies = [
|
|
11
|
-
"kctl-lib>=0.
|
|
11
|
+
"kctl-lib>=0.11.0",
|
|
12
12
|
"typer>=0.15.0",
|
|
13
13
|
"rich>=13.9.0",
|
|
14
14
|
"pydantic>=2.10.0",
|
|
@@ -30,6 +30,31 @@ description: >
|
|
|
30
30
|
| `--profile`, `-p` | Config profile name |
|
|
31
31
|
| `--version`, `-V` | Show version |
|
|
32
32
|
|
|
33
|
+
## Quick Discovery (for AI agents)
|
|
34
|
+
|
|
35
|
+
**DO NOT GUESS command paths or flag names.** Before invoking `kctl-github <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-github commands list --filter <keyword>
|
|
40
|
+
```
|
|
41
|
+
Example: `kctl-github 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-github 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-github <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
|
+
|
|
33
58
|
## Triggers
|
|
34
59
|
|
|
35
60
|
Auto-invoke this skill when the user references any of these keywords:
|
|
@@ -67,8 +92,8 @@ Machine-readable command discovery (for AI agents).
|
|
|
67
92
|
|
|
68
93
|
| Command | Description |
|
|
69
94
|
|---------|-------------|
|
|
70
|
-
| `commands list [--json_flag]` | List all leaf commands as 'group verb' strings. |
|
|
71
|
-
| `commands tree` | Dump the full command tree as JSON. |
|
|
95
|
+
| `commands list [--json_flag] [--filter_substr]` | List all leaf commands as 'group verb' strings. |
|
|
96
|
+
| `commands tree [--json_flag]` | Dump the full command tree as JSON. |
|
|
72
97
|
|
|
73
98
|
### `kctl-github completions`
|
|
74
99
|
|
|
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
|