kctl-glitchtip 0.2.0__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 (31) hide show
  1. kctl_glitchtip-0.2.0/.gitignore +11 -0
  2. kctl_glitchtip-0.2.0/PKG-INFO +138 -0
  3. kctl_glitchtip-0.2.0/README.md +113 -0
  4. kctl_glitchtip-0.2.0/pyproject.toml +60 -0
  5. kctl_glitchtip-0.2.0/skills/glitchtip-admin/SKILL.md +270 -0
  6. kctl_glitchtip-0.2.0/src/kctl_glitchtip/__init__.py +1 -0
  7. kctl_glitchtip-0.2.0/src/kctl_glitchtip/__main__.py +3 -0
  8. kctl_glitchtip-0.2.0/src/kctl_glitchtip/cli.py +136 -0
  9. kctl_glitchtip-0.2.0/src/kctl_glitchtip/commands/__init__.py +0 -0
  10. kctl_glitchtip-0.2.0/src/kctl_glitchtip/commands/alerts.py +110 -0
  11. kctl_glitchtip-0.2.0/src/kctl_glitchtip/commands/config_cmd.py +498 -0
  12. kctl_glitchtip-0.2.0/src/kctl_glitchtip/commands/doctor_cmd.py +82 -0
  13. kctl_glitchtip-0.2.0/src/kctl_glitchtip/commands/events.py +79 -0
  14. kctl_glitchtip-0.2.0/src/kctl_glitchtip/commands/health.py +200 -0
  15. kctl_glitchtip-0.2.0/src/kctl_glitchtip/commands/issues.py +175 -0
  16. kctl_glitchtip-0.2.0/src/kctl_glitchtip/commands/orgs.py +75 -0
  17. kctl_glitchtip-0.2.0/src/kctl_glitchtip/commands/projects.py +253 -0
  18. kctl_glitchtip-0.2.0/src/kctl_glitchtip/commands/skill_cmd.py +76 -0
  19. kctl_glitchtip-0.2.0/src/kctl_glitchtip/commands/teams.py +172 -0
  20. kctl_glitchtip-0.2.0/src/kctl_glitchtip/commands/uptime.py +166 -0
  21. kctl_glitchtip-0.2.0/src/kctl_glitchtip/commands/users.py +90 -0
  22. kctl_glitchtip-0.2.0/src/kctl_glitchtip/core/__init__.py +0 -0
  23. kctl_glitchtip-0.2.0/src/kctl_glitchtip/core/callbacks.py +30 -0
  24. kctl_glitchtip-0.2.0/src/kctl_glitchtip/core/client.py +106 -0
  25. kctl_glitchtip-0.2.0/src/kctl_glitchtip/core/config.py +120 -0
  26. kctl_glitchtip-0.2.0/src/kctl_glitchtip/core/exceptions.py +21 -0
  27. kctl_glitchtip-0.2.0/src/kctl_glitchtip/core/plugins.py +13 -0
  28. kctl_glitchtip-0.2.0/tests/__init__.py +0 -0
  29. kctl_glitchtip-0.2.0/tests/conftest.py +60 -0
  30. kctl_glitchtip-0.2.0/tests/test_core.py +383 -0
  31. kctl_glitchtip-0.2.0/tests/test_smoke.py +132 -0
@@ -0,0 +1,11 @@
1
+ __pycache__/
2
+ *.py[cod]
3
+ *.egg-info/
4
+ dist/
5
+ build/
6
+ .eggs/
7
+ *.egg
8
+ .mypy_cache/
9
+ .ruff_cache/
10
+ .pytest_cache/
11
+ .venv/
@@ -0,0 +1,138 @@
1
+ Metadata-Version: 2.4
2
+ Name: kctl-glitchtip
3
+ Version: 0.2.0
4
+ Summary: Kodemeio GlitchTip CLI - manage GlitchTip error tracking platform
5
+ Author-email: Kodemeio <dev@kodeme.io>
6
+ License-Expression: MIT
7
+ Keywords: cli,error-tracking,glitchtip,kodemeio,sentry
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.4.0
18
+ Provides-Extra: dev
19
+ Requires-Dist: mypy>=1.14.0; extra == 'dev'
20
+ Requires-Dist: pytest-httpx>=0.35.0; extra == 'dev'
21
+ Requires-Dist: pytest>=8.3.0; extra == 'dev'
22
+ Requires-Dist: ruff>=0.9.0; extra == 'dev'
23
+ Requires-Dist: types-pyyaml>=6.0.0; extra == 'dev'
24
+ Description-Content-Type: text/markdown
25
+
26
+ # kctl-glitchtip
27
+
28
+ Kodemeio CLI for managing GlitchTip error tracking — projects, issues, teams, uptime monitors, alerts, and platform health.
29
+
30
+ ## Installation
31
+
32
+ ```bash
33
+ # Install from PyPI
34
+ uv tool install kctl-glitchtip
35
+
36
+ # Or add to workspace (monorepo)
37
+ uv add kctl-glitchtip
38
+ ```
39
+
40
+ ## Quick Start
41
+
42
+ ```bash
43
+ # Initialize config
44
+ kctl-glitchtip config init
45
+
46
+ # List all projects
47
+ kctl-glitchtip projects list
48
+
49
+ # List unresolved issues in an org
50
+ kctl-glitchtip issues list --org kodemeio --status unresolved
51
+
52
+ # Show platform dashboard
53
+ kctl-glitchtip health dashboard
54
+
55
+ # List uptime monitors
56
+ kctl-glitchtip uptime list --org kodemeio
57
+ ```
58
+
59
+ ## Command Groups
60
+
61
+ | Group | Commands | Description |
62
+ |-------|----------|-------------|
63
+ | `projects` | `list`, `get`, `create`, `update`, `delete`, `dsn`, `dsn-create`, `stats` | Manage projects and DSN keys |
64
+ | `issues` | `list`, `get`, `resolve`, `ignore`, `delete`, `bulk-resolve` | Manage error issues |
65
+ | `events` | `list`, `cleanup` | View and clean up error events |
66
+ | `teams` | `list`, `get`, `create`, `delete`, `add-member`, `remove-member` | Manage teams and membership |
67
+ | `orgs` | `list`, `get` | View organizations and members |
68
+ | `users` | `list`, `create` | Manage users and invitations |
69
+ | `alerts` | `list`, `test-alert`, `test-webhook`, `test-email` | Manage alerts and notifications |
70
+ | `uptime` | `list`, `create`, `delete`, `checks` | Manage uptime monitors |
71
+ | `health` | `check`, `dashboard`, `celery-status`, `redis-info` | Platform health and diagnostics |
72
+ | `config` | `init`, `add`, `use`, `show`, `validate`, `remove`, `set`, `profiles`, `current` | Manage CLI profiles |
73
+
74
+ ## Global Options
75
+
76
+ | Option | Description |
77
+ |--------|-------------|
78
+ | `--json` | Output as JSON |
79
+ | `--format / -f` | Output format: `pretty`, `json`, `csv`, `yaml` |
80
+ | `--quiet / -q` | Suppress informational messages |
81
+ | `--no-header` | Omit header row in CSV output |
82
+ | `--profile / -p` | Select config profile by name |
83
+ | `--url` | Override API URL for this invocation |
84
+ | `--token` | Override API token for this invocation |
85
+ | `--version / -V` | Show version and exit |
86
+
87
+ ## Configuration
88
+
89
+ Config lives in `~/.config/kodemeio/config.yaml` under the `glitchtip` key.
90
+
91
+ ```bash
92
+ # Initialize a profile interactively
93
+ kctl-glitchtip config init
94
+
95
+ # Add a named profile
96
+ kctl-glitchtip config add --profile prod \
97
+ --url https://glitchtip.kodeme.io \
98
+ --token YOUR_API_TOKEN
99
+
100
+ # Switch active profile
101
+ kctl-glitchtip config use prod
102
+
103
+ # Show current profile (token masked)
104
+ kctl-glitchtip config show
105
+ ```
106
+
107
+ Example `~/.config/kodemeio/config.yaml`:
108
+
109
+ ```yaml
110
+ glitchtip:
111
+ default_profile: prod
112
+ profiles:
113
+ prod:
114
+ url: https://glitchtip.kodeme.io
115
+ token: ${GLITCHTIP_TOKEN}
116
+ ```
117
+
118
+ Environment variables expand automatically — set `GLITCHTIP_TOKEN` in your shell or `.env`.
119
+
120
+ ## Development
121
+
122
+ ```bash
123
+ # Install dev dependencies
124
+ cd packages/kctl-glitchtip
125
+ uv sync --all-extras
126
+
127
+ # Run tests
128
+ uv run pytest tests/ -v
129
+
130
+ # Lint
131
+ uv run ruff check src/
132
+
133
+ # Type check
134
+ uv run mypy src/
135
+
136
+ # Run CLI locally
137
+ uv run kctl-glitchtip --help
138
+ ```
@@ -0,0 +1,113 @@
1
+ # kctl-glitchtip
2
+
3
+ Kodemeio CLI for managing GlitchTip error tracking — projects, issues, teams, uptime monitors, alerts, and platform health.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ # Install from PyPI
9
+ uv tool install kctl-glitchtip
10
+
11
+ # Or add to workspace (monorepo)
12
+ uv add kctl-glitchtip
13
+ ```
14
+
15
+ ## Quick Start
16
+
17
+ ```bash
18
+ # Initialize config
19
+ kctl-glitchtip config init
20
+
21
+ # List all projects
22
+ kctl-glitchtip projects list
23
+
24
+ # List unresolved issues in an org
25
+ kctl-glitchtip issues list --org kodemeio --status unresolved
26
+
27
+ # Show platform dashboard
28
+ kctl-glitchtip health dashboard
29
+
30
+ # List uptime monitors
31
+ kctl-glitchtip uptime list --org kodemeio
32
+ ```
33
+
34
+ ## Command Groups
35
+
36
+ | Group | Commands | Description |
37
+ |-------|----------|-------------|
38
+ | `projects` | `list`, `get`, `create`, `update`, `delete`, `dsn`, `dsn-create`, `stats` | Manage projects and DSN keys |
39
+ | `issues` | `list`, `get`, `resolve`, `ignore`, `delete`, `bulk-resolve` | Manage error issues |
40
+ | `events` | `list`, `cleanup` | View and clean up error events |
41
+ | `teams` | `list`, `get`, `create`, `delete`, `add-member`, `remove-member` | Manage teams and membership |
42
+ | `orgs` | `list`, `get` | View organizations and members |
43
+ | `users` | `list`, `create` | Manage users and invitations |
44
+ | `alerts` | `list`, `test-alert`, `test-webhook`, `test-email` | Manage alerts and notifications |
45
+ | `uptime` | `list`, `create`, `delete`, `checks` | Manage uptime monitors |
46
+ | `health` | `check`, `dashboard`, `celery-status`, `redis-info` | Platform health and diagnostics |
47
+ | `config` | `init`, `add`, `use`, `show`, `validate`, `remove`, `set`, `profiles`, `current` | Manage CLI profiles |
48
+
49
+ ## Global Options
50
+
51
+ | Option | Description |
52
+ |--------|-------------|
53
+ | `--json` | Output as JSON |
54
+ | `--format / -f` | Output format: `pretty`, `json`, `csv`, `yaml` |
55
+ | `--quiet / -q` | Suppress informational messages |
56
+ | `--no-header` | Omit header row in CSV output |
57
+ | `--profile / -p` | Select config profile by name |
58
+ | `--url` | Override API URL for this invocation |
59
+ | `--token` | Override API token for this invocation |
60
+ | `--version / -V` | Show version and exit |
61
+
62
+ ## Configuration
63
+
64
+ Config lives in `~/.config/kodemeio/config.yaml` under the `glitchtip` key.
65
+
66
+ ```bash
67
+ # Initialize a profile interactively
68
+ kctl-glitchtip config init
69
+
70
+ # Add a named profile
71
+ kctl-glitchtip config add --profile prod \
72
+ --url https://glitchtip.kodeme.io \
73
+ --token YOUR_API_TOKEN
74
+
75
+ # Switch active profile
76
+ kctl-glitchtip config use prod
77
+
78
+ # Show current profile (token masked)
79
+ kctl-glitchtip config show
80
+ ```
81
+
82
+ Example `~/.config/kodemeio/config.yaml`:
83
+
84
+ ```yaml
85
+ glitchtip:
86
+ default_profile: prod
87
+ profiles:
88
+ prod:
89
+ url: https://glitchtip.kodeme.io
90
+ token: ${GLITCHTIP_TOKEN}
91
+ ```
92
+
93
+ Environment variables expand automatically — set `GLITCHTIP_TOKEN` in your shell or `.env`.
94
+
95
+ ## Development
96
+
97
+ ```bash
98
+ # Install dev dependencies
99
+ cd packages/kctl-glitchtip
100
+ uv sync --all-extras
101
+
102
+ # Run tests
103
+ uv run pytest tests/ -v
104
+
105
+ # Lint
106
+ uv run ruff check src/
107
+
108
+ # Type check
109
+ uv run mypy src/
110
+
111
+ # Run CLI locally
112
+ uv run kctl-glitchtip --help
113
+ ```
@@ -0,0 +1,60 @@
1
+ [build-system]
2
+ requires = ["hatchling"]
3
+ build-backend = "hatchling.build"
4
+
5
+ [project]
6
+ name = "kctl-glitchtip"
7
+ version = "0.2.0"
8
+ description = "Kodemeio GlitchTip CLI - manage GlitchTip error tracking platform"
9
+ readme = "README.md"
10
+ license = "MIT"
11
+ requires-python = ">=3.12"
12
+ authors = [{ name = "Kodemeio", email = "dev@kodeme.io" }]
13
+ keywords = ["glitchtip", "sentry", "error-tracking", "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.4.0",
25
+ "httpx>=0.28.0",
26
+ ]
27
+
28
+ [project.optional-dependencies]
29
+ dev = [
30
+ "pytest>=8.3.0",
31
+ "pytest-httpx>=0.35.0",
32
+ "ruff>=0.9.0",
33
+ "mypy>=1.14.0",
34
+ "types-PyYAML>=6.0.0",
35
+ ]
36
+
37
+ [project.scripts]
38
+ kctl-glitchtip = "kctl_glitchtip.cli:_run"
39
+
40
+ [tool.uv.sources]
41
+ kctl-lib = { workspace = true }
42
+
43
+ [project.entry-points."kctl_glitchtip.plugins"]
44
+
45
+ [tool.hatch.build.targets.wheel]
46
+ packages = ["src/kctl_glitchtip"]
47
+
48
+ [tool.ruff]
49
+ target-version = "py312"
50
+ line-length = 120
51
+
52
+ [tool.ruff.lint]
53
+ select = ["E", "F", "I", "W", "UP", "B", "SIM"]
54
+
55
+ [tool.mypy]
56
+ python_version = "3.12"
57
+ strict = true
58
+
59
+ [tool.pytest.ini_options]
60
+ testpaths = ["tests"]
@@ -0,0 +1,270 @@
1
+ ---
2
+ name: glitchtip-admin
3
+ description: >
4
+ GlitchTip error tracking administration via kctl-glitchtip CLI. MUST use for ANY error tracking, DSN key, issue management, or GlitchTip operation. Triggers on: "kctl-glitchtip", "glitchtip", "error tracking", "DSN key", "sentry", "issue tracking", "uptime monitor glitchtip", "error alert", or ANY error tracking platform task.
5
+ ---
6
+
7
+ # GlitchTip Admin Skill
8
+
9
+ You are an expert at managing GlitchTip error tracking instances via the `kctl-glitchtip` CLI.
10
+
11
+ ## CLI Overview
12
+
13
+ `kctl-glitchtip` is a Typer-based Python CLI that talks to GlitchTip's Sentry-compatible REST API (`/api/0/`).
14
+ It uses shared multi-service profiles at `~/.config/kodemeio/config.yaml` under the `glitchtip` service key.
15
+
16
+ ### Installation
17
+
18
+ ```bash
19
+ cd cli && uv tool install .
20
+ ```
21
+
22
+ ### Configuration
23
+
24
+ ```bash
25
+ # Interactive setup
26
+ kctl-glitchtip config init
27
+
28
+ # Non-interactive
29
+ kctl-glitchtip config add kodemeio \
30
+ --url https://glitchtip.kodeme.io \
31
+ --token <api-token-from-glitchtip-ui>
32
+
33
+ # Switch profiles
34
+ kctl-glitchtip config use kodemeio
35
+
36
+ # Test connection
37
+ kctl-glitchtip config test
38
+ ```
39
+
40
+ Config lives in `~/.config/kodemeio/config.yaml`:
41
+ ```yaml
42
+ profiles:
43
+ kodemeio:
44
+ glitchtip:
45
+ url: https://glitchtip.kodeme.io
46
+ token: <token>
47
+ ```
48
+
49
+ ### Global Flags
50
+
51
+ All commands support:
52
+ - `--json` — JSON output (data to stdout, status to stderr)
53
+ - `--quiet` / `-q` — Suppress info messages
54
+ - `--profile` / `-p` — Override active profile
55
+ - `--url` — Override API URL
56
+ - `--token` — Override API token
57
+
58
+ ## Command Reference
59
+
60
+ ### Projects
61
+
62
+ ```bash
63
+ # List all projects
64
+ kctl-glitchtip projects list
65
+
66
+ # Get project details
67
+ kctl-glitchtip projects get <org-slug> <project-slug>
68
+
69
+ # Create project (returns DSN)
70
+ kctl-glitchtip projects create <name> --org <org-slug> --team <team-slug> [--platform python]
71
+
72
+ # Update project name or platform
73
+ kctl-glitchtip projects update <org-slug> <project-slug> [--name "New Name"] [--platform javascript]
74
+
75
+ # Delete project
76
+ kctl-glitchtip projects delete <org-slug> <project-slug> [--force]
77
+
78
+ # Show DSN keys
79
+ kctl-glitchtip projects dsn <org-slug> <project-slug>
80
+
81
+ # Create new DSN key
82
+ kctl-glitchtip projects dsn-create <org-slug> <project-slug> [--label "my-key"]
83
+
84
+ # Project statistics
85
+ kctl-glitchtip projects stats <org-slug> <project-slug>
86
+ ```
87
+
88
+ ### Issues
89
+
90
+ ```bash
91
+ # List issues
92
+ kctl-glitchtip issues list --org <org-slug> [--project <slug>] [--status unresolved]
93
+
94
+ # Get issue details
95
+ kctl-glitchtip issues get <issue-id>
96
+
97
+ # Resolve issue
98
+ kctl-glitchtip issues resolve <issue-id>
99
+
100
+ # Ignore issue
101
+ kctl-glitchtip issues ignore <issue-id>
102
+
103
+ # Delete issue
104
+ kctl-glitchtip issues delete <issue-id> [--force]
105
+
106
+ # Bulk resolve all issues in a project
107
+ kctl-glitchtip issues bulk-resolve --org <org-slug> --project <project-slug>
108
+ ```
109
+
110
+ ### Teams
111
+
112
+ ```bash
113
+ # List teams
114
+ kctl-glitchtip teams list --org <org-slug>
115
+
116
+ # Get team details with members
117
+ kctl-glitchtip teams get --org <org-slug> <team-slug>
118
+
119
+ # Create team
120
+ kctl-glitchtip teams create <name> --org <org-slug>
121
+
122
+ # Delete team
123
+ kctl-glitchtip teams delete --org <org-slug> <team-slug> [--force]
124
+
125
+ # Add/remove members
126
+ kctl-glitchtip teams add-member --org <org-slug> <team-slug> <email>
127
+ kctl-glitchtip teams remove-member --org <org-slug> <team-slug> <email>
128
+ ```
129
+
130
+ ### Organizations
131
+
132
+ ```bash
133
+ # List organizations
134
+ kctl-glitchtip orgs list
135
+
136
+ # Get organization details (includes members)
137
+ kctl-glitchtip orgs get <org-slug>
138
+ ```
139
+
140
+ ### Events
141
+
142
+ ```bash
143
+ # List recent events
144
+ kctl-glitchtip events list <org-slug> <project-slug> [--limit 50]
145
+
146
+ # Clean old events (requires Docker)
147
+ kctl-glitchtip events cleanup [--days 90]
148
+ ```
149
+
150
+ ### Uptime Monitors
151
+
152
+ ```bash
153
+ # List uptime monitors
154
+ kctl-glitchtip uptime list [--org <org-slug>]
155
+
156
+ # Create an uptime monitor
157
+ kctl-glitchtip uptime create --name "My Service" --url https://example.com [--org <org-slug>] [--interval 60] [--type Ping] [--expected-status 200]
158
+
159
+ # Delete an uptime monitor
160
+ kctl-glitchtip uptime delete <monitor-id> [--org <org-slug>] [--force]
161
+
162
+ # Show recent checks for a monitor
163
+ kctl-glitchtip uptime checks <monitor-id> [--org <org-slug>]
164
+ ```
165
+
166
+ ### Users
167
+
168
+ ```bash
169
+ # List users
170
+ kctl-glitchtip users list
171
+
172
+ # Create/invite user
173
+ kctl-glitchtip users create <email>
174
+
175
+ # Create superuser (requires Docker)
176
+ kctl-glitchtip users create <email> --superuser
177
+ ```
178
+
179
+ ### Health & Monitoring
180
+
181
+ ```bash
182
+ # Full health check (API + containers)
183
+ kctl-glitchtip health check
184
+
185
+ # Dashboard overview
186
+ kctl-glitchtip health dashboard
187
+
188
+ # Celery worker status (requires Docker)
189
+ kctl-glitchtip health celery-status
190
+
191
+ # Redis info (requires Docker)
192
+ kctl-glitchtip health redis-info
193
+ ```
194
+
195
+ ### Alerts & Notifications
196
+
197
+ ```bash
198
+ # List project alerts
199
+ kctl-glitchtip alerts list --org <org-slug> --project <project-slug>
200
+
201
+ # Test a specific alert
202
+ kctl-glitchtip alerts test-alert --org <org-slug> --project <project-slug> <alert-id>
203
+
204
+ # Test webhook URL
205
+ kctl-glitchtip alerts test-webhook <url>
206
+
207
+ # Test email (requires Docker)
208
+ kctl-glitchtip alerts test-email [--to admin@kodeme.io]
209
+ ```
210
+
211
+ ### Config Management
212
+
213
+ ```bash
214
+ kctl-glitchtip config init # Interactive setup
215
+ kctl-glitchtip config add <name> # Add profile
216
+ kctl-glitchtip config use <name> # Switch profile
217
+ kctl-glitchtip config remove <name> # Remove profile
218
+ kctl-glitchtip config show # Show all config
219
+ kctl-glitchtip config set <key> <val> # Set config value
220
+ kctl-glitchtip config profiles # List profiles with status
221
+ kctl-glitchtip config current # Show active profile
222
+ kctl-glitchtip config test # Test connection
223
+ kctl-glitchtip config migrate # Migrate flat -> scoped format
224
+ ```
225
+
226
+ ## Environment Variables
227
+
228
+ Priority (highest to lowest):
229
+ 1. CLI flags (`--url`, `--token`)
230
+ 2. `KCTL_GLITCHTIP_URL` / `KCTL_GLITCHTIP_TOKEN`
231
+ 3. `GLITCHTIP_API_URL` / `GLITCHTIP_API_TOKEN`
232
+ 4. Config profile
233
+
234
+ Profile selection: `--profile` flag > `KCTL_GLITCHTIP_PROFILE` env > config default.
235
+
236
+ ## API Notes
237
+
238
+ - GlitchTip uses Sentry-compatible API at `/api/0/`
239
+ - Auth: `Authorization: Bearer <token>` (API token from GlitchTip UI Settings > API Tokens)
240
+ - Most list endpoints return JSON arrays directly (not paginated objects)
241
+ - DSN format: `https://<public_key>@glitchtip.kodeme.io/<project_id>`
242
+ - Uptime monitors: `GET/POST /api/0/organizations/{org}/monitors/`, checks at `.../monitors/{id}/checks/`
243
+
244
+ ## Common Workflows
245
+
246
+ ### Set up error tracking for a new app
247
+ ```bash
248
+ kctl-glitchtip projects create my-app --org kodemeio --team backend --platform python
249
+ # Copy the DSN from output into your app's Sentry SDK config
250
+ ```
251
+
252
+ ### Triage errors
253
+ ```bash
254
+ kctl-glitchtip issues list --org kodemeio --status unresolved --sort -count
255
+ kctl-glitchtip issues get <id>
256
+ kctl-glitchtip issues resolve <id>
257
+ ```
258
+
259
+ ### Bulk cleanup
260
+ ```bash
261
+ kctl-glitchtip issues bulk-resolve --org kodemeio --project old-app --force
262
+ kctl-glitchtip events cleanup --days 30
263
+ ```
264
+
265
+ ### Monitor service uptime
266
+ ```bash
267
+ kctl-glitchtip uptime create --name "API" --url https://api.kodeme.io/health --type GET --interval 60
268
+ kctl-glitchtip uptime list
269
+ kctl-glitchtip uptime checks <monitor-id>
270
+ ```
@@ -0,0 +1 @@
1
+ __version__ = "0.2.0"
@@ -0,0 +1,3 @@
1
+ from kctl_glitchtip.cli import _run
2
+
3
+ _run()