codemagic-agent-tools 1.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 (39) hide show
  1. codemagic_agent_tools-1.2.0/.agents/plugins/marketplace.json +20 -0
  2. codemagic_agent_tools-1.2.0/.claude-plugin/marketplace.json +15 -0
  3. codemagic_agent_tools-1.2.0/.claude-plugin/plugin.json +19 -0
  4. codemagic_agent_tools-1.2.0/.python-version +1 -0
  5. codemagic_agent_tools-1.2.0/CONTRIBUTING.md +70 -0
  6. codemagic_agent_tools-1.2.0/LICENSE +21 -0
  7. codemagic_agent_tools-1.2.0/MANIFEST.in +8 -0
  8. codemagic_agent_tools-1.2.0/PKG-INFO +287 -0
  9. codemagic_agent_tools-1.2.0/README.md +269 -0
  10. codemagic_agent_tools-1.2.0/docs/agent-support.md +143 -0
  11. codemagic_agent_tools-1.2.0/docs/assets/header.png +0 -0
  12. codemagic_agent_tools-1.2.0/docs/compatibility.md +136 -0
  13. codemagic_agent_tools-1.2.0/docs/mcp.md +154 -0
  14. codemagic_agent_tools-1.2.0/docs/publishing.md +109 -0
  15. codemagic_agent_tools-1.2.0/plugin.json +20 -0
  16. codemagic_agent_tools-1.2.0/pyproject.toml +54 -0
  17. codemagic_agent_tools-1.2.0/schemas/plugin.schema.json +65 -0
  18. codemagic_agent_tools-1.2.0/scripts/build_plugin.py +42 -0
  19. codemagic_agent_tools-1.2.0/scripts/validate_package.py +56 -0
  20. codemagic_agent_tools-1.2.0/setup.cfg +4 -0
  21. codemagic_agent_tools-1.2.0/skills/codemagic/SKILL.md +111 -0
  22. codemagic_agent_tools-1.2.0/skills/codemagic/agents/openai.yaml +4 -0
  23. codemagic_agent_tools-1.2.0/skills/codemagic/references/api.md +93 -0
  24. codemagic_agent_tools-1.2.0/skills/codemagic/scripts/codemagic_agent_tools.egg-info/PKG-INFO +287 -0
  25. codemagic_agent_tools-1.2.0/skills/codemagic/scripts/codemagic_agent_tools.egg-info/SOURCES.txt +37 -0
  26. codemagic_agent_tools-1.2.0/skills/codemagic/scripts/codemagic_agent_tools.egg-info/dependency_links.txt +1 -0
  27. codemagic_agent_tools-1.2.0/skills/codemagic/scripts/codemagic_agent_tools.egg-info/entry_points.txt +3 -0
  28. codemagic_agent_tools-1.2.0/skills/codemagic/scripts/codemagic_agent_tools.egg-info/requires.txt +3 -0
  29. codemagic_agent_tools-1.2.0/skills/codemagic/scripts/codemagic_agent_tools.egg-info/top_level.txt +2 -0
  30. codemagic_agent_tools-1.2.0/skills/codemagic/scripts/codemagic_api.py +474 -0
  31. codemagic_agent_tools-1.2.0/skills/codemagic/scripts/codemagic_mcp.py +238 -0
  32. codemagic_agent_tools-1.2.0/skills/codemagic-signing/SKILL.md +77 -0
  33. codemagic_agent_tools-1.2.0/skills/codemagic-signing/agents/openai.yaml +4 -0
  34. codemagic_agent_tools-1.2.0/skills/codemagic-signing/references/android.md +92 -0
  35. codemagic_agent_tools-1.2.0/skills/codemagic-signing/references/ios.md +84 -0
  36. codemagic_agent_tools-1.2.0/tests/test_codemagic_api.py +256 -0
  37. codemagic_agent_tools-1.2.0/tests/test_codemagic_mcp.py +264 -0
  38. codemagic_agent_tools-1.2.0/tests/test_distribution.py +97 -0
  39. codemagic_agent_tools-1.2.0/uv.lock +1314 -0
@@ -0,0 +1,20 @@
1
+ {
2
+ "name": "codemagic-tools",
3
+ "interface": {
4
+ "displayName": "Codemagic community tools"
5
+ },
6
+ "plugins": [
7
+ {
8
+ "name": "codemagic",
9
+ "source": {
10
+ "source": "local",
11
+ "path": "./"
12
+ },
13
+ "policy": {
14
+ "installation": "AVAILABLE",
15
+ "authentication": "ON_USE"
16
+ },
17
+ "category": "Developer Tools"
18
+ }
19
+ ]
20
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "name": "codemagic-tools",
3
+ "owner": {
4
+ "name": "Helge Sverre"
5
+ },
6
+ "plugins": [
7
+ {
8
+ "name": "codemagic",
9
+ "source": "./",
10
+ "description": "Unofficial Codemagic build operations and iOS/Android signing guidance for coding agents.",
11
+ "version": "1.2.0"
12
+ }
13
+ ],
14
+ "description": "Unofficial Codemagic CI/CD tools for AI coding agents."
15
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "name": "codemagic",
3
+ "version": "1.2.0",
4
+ "description": "Unofficial Codemagic build operations and iOS/Android signing guidance for coding agents.",
5
+ "author": {
6
+ "name": "Helge Sverre",
7
+ "url": "https://github.com/HelgeSverre"
8
+ },
9
+ "homepage": "https://github.com/HelgeSverre/codemagic-skill",
10
+ "repository": "https://github.com/HelgeSverre/codemagic-skill",
11
+ "license": "MIT",
12
+ "keywords": [
13
+ "codemagic",
14
+ "ci-cd",
15
+ "claude-code",
16
+ "codex",
17
+ "agent-skills"
18
+ ]
19
+ }
@@ -0,0 +1 @@
1
+ 3.11
@@ -0,0 +1,70 @@
1
+ # Contributing
2
+
3
+ The Git repository is the canonical source. Keep the API implementation at
4
+ `skills/codemagic/scripts/codemagic_api.py`; the Python package entry point and
5
+ both agent plugins use this same file. The optional MCP adapter lives beside it
6
+ in `codemagic_mcp.py` and shares authentication, HTTP handling, and build
7
+ validation. The skill must remain usable when its folder is copied on its own,
8
+ without the rest of the repository.
9
+
10
+ ## Local setup
11
+
12
+ ```sh
13
+ uv sync --locked --extra mcp
14
+ uv run --extra mcp ruff check .
15
+ uv run --extra mcp ruff format .
16
+ uv run --extra mcp python -m unittest discover -s tests -v
17
+ uv run --extra mcp python scripts/validate_package.py
18
+ ```
19
+
20
+ To develop the command globally from this checkout:
21
+
22
+ ```sh
23
+ uv tool install --editable '.[mcp]'
24
+ ```
25
+
26
+ For a standalone skill installation, link `skills/codemagic` into
27
+ `~/.agents/skills/codemagic` for Codex or `~/.claude/skills/codemagic` for Claude.
28
+ Do not replace an existing installation without preserving its local notes.
29
+ Plugin developers can use `claude --plugin-dir .` or add this checkout as a local
30
+ Codex marketplace.
31
+
32
+ Keep credentials and account-specific IDs out of the public skill. Local context
33
+ can live under `~/.config/codemagic-api/context.md`, which agents read only when
34
+ relevant to the requested account.
35
+
36
+ ## Tests and releases
37
+
38
+ Tests mock HTTP responses and cover request contracts, credential precedence,
39
+ redaction, cancellation, pagination, and uncertain request outcomes. MCP tests also
40
+ exercise schemas, tool annotations, and stdio with current and legacy handshakes.
41
+ Package validation checks the portable manifest against the vendored Agent Plugins
42
+ schema and verifies that the two marketplace catalogs resolve to the same plugin.
43
+ Archive tests extract the plugin and run the bundled CLI from another directory.
44
+
45
+ The vendored `schemas/plugin.schema.json` is the published
46
+ [Agent Plugins 1.0 schema](https://agent-plugins.org/schemas/1.0.0/plugin.schema.json).
47
+ Refresh it deliberately when changing the manifest format, and rerun validation.
48
+
49
+ Run the real-client checks in [docs/compatibility.md](docs/compatibility.md) after
50
+ changing skill discovery, manifests, or bundled paths. Use synthetic IDs and
51
+ `--dry-run`; a live start/cancel is not needed to verify packaging.
52
+
53
+ Keep versions aligned in `pyproject.toml`, `plugin.json`,
54
+ `.claude-plugin/plugin.json`, `.claude-plugin/marketplace.json`, and the CLI's
55
+ `VERSION` constant. Run `uv lock` after changing project metadata or dependencies.
56
+
57
+ ```sh
58
+ uv build
59
+ uv run --extra mcp python scripts/build_plugin.py
60
+ ```
61
+
62
+ Publish a GitHub release from `main` with a tag matching the package version
63
+ (for example, `v1.2.0`). `.github/workflows/publish.yml` validates and builds
64
+ Python distributions, then uploads them to PyPI using Trusted Publishing.
65
+ Set up the pending publisher once using the exact fields in
66
+ [Publishing](docs/publishing.md). No PyPI API token or repository secret is needed.
67
+ PRs and manual workflow runs build and validate without publishing.
68
+
69
+ Attach the plugin ZIP from the successful CI run to the GitHub release. The ZIP
70
+ is not uploaded to PyPI. Official plugin-directory submission remains separate.
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Helge Sverre
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,8 @@
1
+ include LICENSE README.md CONTRIBUTING.md plugin.json uv.lock .python-version
2
+ recursive-include skills *.md *.py *.yaml
3
+ recursive-include .claude-plugin *.json
4
+ recursive-include .agents/plugins *.json
5
+ recursive-include docs *.md *.png
6
+ recursive-include tests *.py
7
+ recursive-include scripts *.py
8
+ recursive-include schemas *.json
@@ -0,0 +1,287 @@
1
+ Metadata-Version: 2.4
2
+ Name: codemagic-agent-tools
3
+ Version: 1.2.0
4
+ Summary: Unofficial Codemagic CLI, MCP server, and mobile signing skills for coding agents
5
+ Author: Helge Sverre
6
+ License-Expression: MIT
7
+ Project-URL: Repository, https://github.com/HelgeSverre/codemagic-skill
8
+ Project-URL: Issues, https://github.com/HelgeSverre/codemagic-skill/issues
9
+ Keywords: codemagic,codex,claude-code,ci-cd,agent-skills
10
+ Classifier: Programming Language :: Python :: 3
11
+ Classifier: Topic :: Software Development :: Build Tools
12
+ Requires-Python: >=3.11
13
+ Description-Content-Type: text/markdown
14
+ License-File: LICENSE
15
+ Provides-Extra: mcp
16
+ Requires-Dist: mcp<3,>=2.2; extra == "mcp"
17
+ Dynamic: license-file
18
+
19
+ ![Codemagic Skill — builds, workflows and artifacts for AI agents](https://raw.githubusercontent.com/HelgeSverre/codemagic-skill/main/docs/assets/header.png)
20
+
21
+ # Codemagic Skill
22
+
23
+ [![CI](https://github.com/HelgeSverre/codemagic-skill/actions/workflows/ci.yml/badge.svg)](https://github.com/HelgeSverre/codemagic-skill/actions/workflows/ci.yml)
24
+ [![Python 3.11+](https://img.shields.io/badge/Python-3.11%2B-3776AB?logo=python&logoColor=white)](https://www.python.org/)
25
+ [![uv](https://img.shields.io/badge/managed_with-uv-DE5FE9)](https://docs.astral.sh/uv/)
26
+ [![Ruff](https://img.shields.io/badge/lint%20%26%20format-Ruff-D7FF64)](https://docs.astral.sh/ruff/)
27
+ [![Claude Code + Codex](https://img.shields.io/badge/agents-Claude_Code_%2B_Codex-F97316)](#install-the-plugin)
28
+ [![MIT](https://img.shields.io/badge/license-MIT-blue)](https://github.com/HelgeSverre/codemagic-skill/blob/main/LICENSE)
29
+
30
+ Give your coding agent the tools to operate your Codemagic builds. Find an
31
+ app, select a workflow, start a build from a branch or tag, inspect the result,
32
+ and locate its artifacts—all through the official Codemagic REST API.
33
+
34
+ The API skill's bundled Python CLI has **zero runtime dependencies** and also
35
+ runs on its own. An optional [MCP server](#mcp-tools) exposes the same API as
36
+ typed agent tools. No hosted service or PyPI publication is required.
37
+
38
+ The package contains two portable skills:
39
+
40
+ - **`codemagic`** operates apps, workflows, builds and artifacts.
41
+ - **`codemagic-signing`** diagnoses iOS/Android signing and helps configure an
42
+ existing project while preserving its signing identity. It distinguishes
43
+ provisioning, Gradle wiring, store permissions and runtime certificate issues.
44
+
45
+ The signing skill complements the official
46
+ [codemagic-init](https://docs.codemagic.io/troubleshooting/codemagic-init/) setup
47
+ tool. It does not provision account credentials or start builds merely by loading.
48
+
49
+ > “Show the latest failed build for my app and which steps failed.”
50
+ >
51
+ > “Build the staging workflow from `feature/login`.”
52
+ >
53
+ > “Find the APK and IPA artifacts from that build.”
54
+
55
+ ## Install the plugin
56
+
57
+ API commands require Python 3.11+ and normal shell access. Use a current client
58
+ with the skill or plugin support described below. The package includes the CLI;
59
+ agents can run the bundled script directly.
60
+
61
+ ### Claude Code
62
+
63
+ ```sh
64
+ claude plugin marketplace add HelgeSverre/codemagic-skill
65
+ claude plugin install codemagic@codemagic-tools
66
+ ```
67
+
68
+ Start a new session and use `/codemagic:codemagic`, or ask a Codemagic question.
69
+ For a local checkout, try `claude --plugin-dir /path/to/codemagic-skill`.
70
+
71
+ ### Codex
72
+
73
+ ```sh
74
+ codex plugin marketplace add HelgeSverre/codemagic-skill
75
+ codex plugin add codemagic@codemagic-tools
76
+ ```
77
+
78
+ Start a new session and select the `codemagic` skill from the plugin. You can
79
+ also ask directly: “Use the Codemagic skill to list my apps.”
80
+
81
+ ### GitHub Copilot CLI
82
+
83
+ ```sh
84
+ copilot plugin install HelgeSverre/codemagic-skill
85
+ ```
86
+
87
+ The existing Agent Plugins manifest and `skills/` directory work directly.
88
+
89
+ ### Gemini CLI
90
+
91
+ ```sh
92
+ gemini skills install https://github.com/HelgeSverre/codemagic-skill.git --path skills
93
+ ```
94
+
95
+ Gemini installs the skills directly; it does not need an extension wrapper.
96
+ Workspace installations also require a trusted workspace. Skill activation and
97
+ shell execution remain subject to Gemini's normal consent and permissions.
98
+
99
+ ### Other agent harnesses
100
+
101
+ OpenCode, Cursor, Amp, Pi, Goose and current Windsurf/Devin support the portable
102
+ skill folder. See the [support matrix and installation recipes](https://github.com/HelgeSverre/codemagic-skill/blob/main/docs/agent-support.md)
103
+ for tested discovery results, supported paths and limitations. Cline uses its
104
+ own documented skill directory.
105
+
106
+ The Vercel Skills CLI also discovers this repository. List available skills first,
107
+ then choose a target rather than installing into every detected agent:
108
+
109
+ ```sh
110
+ npx skills add HelgeSverre/codemagic-skill --list
111
+ npx skills add HelgeSverre/codemagic-skill --skill codemagic --agent amp --global
112
+ ```
113
+
114
+ For signing guidance, select `--skill codemagic-signing`.
115
+
116
+ ### Install only the skills
117
+
118
+ Copy a self-contained folder under `skills/` into your client's user skill
119
+ directory. This works without plugin support:
120
+
121
+ ```sh
122
+ git clone https://github.com/HelgeSverre/codemagic-skill.git
123
+ mkdir -p ~/.agents/skills ~/.claude/skills
124
+ cp -R codemagic-skill/skills/codemagic ~/.agents/skills/codemagic
125
+ cp -R codemagic-skill/skills/codemagic ~/.claude/skills/codemagic
126
+ # Optional companion skill, installed independently in the same way:
127
+ cp -R codemagic-skill/skills/codemagic-signing ~/.agents/skills/codemagic-signing
128
+ ```
129
+
130
+ Use either the plugin or the standalone skill in each client to avoid duplicate
131
+ entries. Codex also supports `~/.codex/skills` in installations that use that
132
+ location. For development, symlink the skill directory to keep the checkout
133
+ canonical; see [Contributing](https://github.com/HelgeSverre/codemagic-skill/blob/main/CONTRIBUTING.md).
134
+
135
+ ## MCP tools
136
+
137
+ Use the optional MCP server when you want your agent to call tools directly.
138
+ Install it once with [uv](https://docs.astral.sh/uv/):
139
+
140
+ ```sh
141
+ uv tool install 'codemagic-agent-tools[mcp] @ git+https://github.com/HelgeSverre/codemagic-skill.git'
142
+ claude mcp add --scope user --transport stdio codemagic -- codemagic-mcp
143
+ codex mcp add codemagic -- codemagic-mcp
144
+ ```
145
+
146
+ Configure only the clients you use. The agent starts `codemagic-mcp` on demand
147
+ as a local stdio process. It uses the same `CODEMAGIC_API_KEY` or saved login as
148
+ the CLI. For Codex, add `env_vars = ["CODEMAGIC_API_KEY"]` under
149
+ `[mcp_servers.codemagic]` when using environment authentication.
150
+
151
+ Tools cover authentication status, teams, apps, workflows, builds, steps,
152
+ artifacts, build previews, build starts and cancellation. Previews require no
153
+ credentials and send no requests. Installing the skill/plugin alone keeps the
154
+ MCP server optional; adding it does not duplicate the skills.
155
+
156
+ See [MCP setup](https://github.com/HelgeSverre/codemagic-skill/blob/main/docs/mcp.md) for JSON configuration, local development, credentials,
157
+ the tool list, and verification. The MCP extra requires the official Python MCP
158
+ SDK; the CLI still needs only Python 3.11+.
159
+
160
+ ## Authentication
161
+
162
+ Create a personal API token in Codemagic under **Teams → Personal Account →
163
+ Integrations → Codemagic API → Show**. Some UI versions call this **Account
164
+ settings → API token**. The token has your account's team permissions.
165
+
166
+ Expose it as `CODEMAGIC_API_KEY` in the environment that launches your agent or
167
+ terminal. `CODEMAGIC_API_TOKEN` and `CM_API_TOKEN` are also supported, in that
168
+ order after `CODEMAGIC_API_KEY`.
169
+
170
+ For a local terminal login, install the CLI below and run:
171
+
172
+ ```sh
173
+ codemagic-api auth login
174
+ codemagic-api auth status
175
+ ```
176
+
177
+ The hidden prompt verifies the token before saving it. On macOS/Linux, the
178
+ fallback token file is `~/.config/codemagic-api/token` (or under
179
+ `$XDG_CONFIG_HOME`), with permissions `0600`. It is plaintext. Windows uses an
180
+ environment variable instead of token-file login. No token belongs in this repo,
181
+ plugin manifests, prompts, or shell command arguments.
182
+
183
+ ## Standalone CLI
184
+
185
+ Install from Git with [uv](https://docs.astral.sh/uv/):
186
+
187
+ ```sh
188
+ uv tool install git+https://github.com/HelgeSverre/codemagic-skill.git
189
+ codemagic-api --help
190
+ ```
191
+
192
+ Or run from a checkout without installing anything:
193
+
194
+ ```sh
195
+ python3 skills/codemagic/scripts/codemagic_api.py --help
196
+ ```
197
+
198
+ | Task | Command |
199
+ | --- | --- |
200
+ | List teams | `codemagic-api teams` |
201
+ | Find team apps | `codemagic-api apps --team TEAM_ID --name my-app` |
202
+ | List workflows | `codemagic-api workflows APP_ID` |
203
+ | Recent builds | `codemagic-api builds --team TEAM_ID --app APP_ID` |
204
+ | Build details | `codemagic-api build BUILD_ID` |
205
+ | Step statuses | `codemagic-api actions BUILD_ID` |
206
+ | Artifact URLs | `codemagic-api artifacts BUILD_ID` |
207
+ | Cancel a build | `codemagic-api cancel BUILD_ID` |
208
+
209
+ Start a build with the **workflow ID**, which may differ from its display name:
210
+
211
+ ```sh
212
+ codemagic-api start --app APP_ID --workflow WORKFLOW_ID \
213
+ --branch feature/login --dry-run
214
+
215
+ # Submit the same request after reviewing the preview.
216
+ codemagic-api start --app APP_ID --workflow WORKFLOW_ID \
217
+ --branch feature/login
218
+ ```
219
+
220
+ Use exactly one of `--branch` or `--tag`. `--inputs-file` and
221
+ `--environment-file` accept JSON objects for workflow inputs and environment
222
+ overrides. List commands return pagination metadata; use `--page` or `--cursor`
223
+ to fetch subsequent results. Output is JSON, with diagnostics on stderr.
224
+
225
+ For other documented JSON endpoints:
226
+
227
+ ```sh
228
+ codemagic-api api GET '/teams/TEAM_ID/variable-groups'
229
+ codemagic-api api POST '/apps/APP_ID/builds' --data-file request.json --dry-run
230
+ ```
231
+
232
+ Read the [API notes](https://github.com/HelgeSverre/codemagic-skill/blob/main/skills/codemagic/references/api.md) for payload formats,
233
+ version differences, and endpoint mappings.
234
+
235
+ ## Behavior to know
236
+
237
+ - A selected workflow can publish to stores or testers. Starting that workflow
238
+ runs its configured publishing steps too.
239
+ - A build request accepted with HTTP 202 is queued, not completed. Its ID may
240
+ briefly return 404 while Codemagic creates the build.
241
+ - Requests are never retried automatically. After an uncertain build-start
242
+ outcome, check recent builds before submitting again.
243
+ - API calls use v3, except cancellation, which still uses Codemagic's documented
244
+ legacy endpoint.
245
+ - `actions` returns step statuses and scripts, not full raw logs. `artifacts`
246
+ lists artifact metadata and URLs; it does not download files or create public links.
247
+ - Token values, sensitive field names, and environment/input values are redacted
248
+ from responses. Build scripts and artifact URLs can still contain private data.
249
+
250
+ ## Development and verification
251
+
252
+ ```sh
253
+ uv sync --locked --extra mcp
254
+ uv run --extra mcp ruff check .
255
+ uv run --extra mcp ruff format --check .
256
+ uv run --extra mcp python -m unittest discover -s tests -v
257
+ uv run --extra mcp python scripts/validate_package.py
258
+ uv build
259
+ uv run --extra mcp python scripts/build_plugin.py
260
+ ```
261
+
262
+ CI runs lint, formatting, package validation, and offline tests on macOS, Linux,
263
+ and Windows, including MCP discovery and calls over stdio. It also builds the Python wheel/sdist and distributable plugin ZIP.
264
+ It does not need a Codemagic token and never starts a real build.
265
+
266
+ The [PyPI publishing workflow](https://github.com/HelgeSverre/codemagic-skill/blob/main/docs/publishing.md)
267
+ validates Python distributions on PRs and publishes on GitHub releases using
268
+ Trusted Publishing. Git installation works independently of PyPI. For releases
269
+ available on PyPI, use
270
+ `uv tool install 'codemagic-agent-tools[mcp]'` for the CLI and MCP server, or
271
+ `uv tool install codemagic-agent-tools` for the CLI alone.
272
+
273
+ See [compatibility verification](https://github.com/HelgeSverre/codemagic-skill/blob/main/docs/compatibility.md) for the tested clients,
274
+ test boundaries, and steps to repeat the agent checks. See
275
+ [Contributing](https://github.com/HelgeSverre/codemagic-skill/blob/main/CONTRIBUTING.md) for the canonical source layout.
276
+
277
+ ## License and credits
278
+
279
+ Code and documentation are [MIT licensed](https://github.com/HelgeSverre/codemagic-skill/blob/main/LICENSE). The header illustration was
280
+ AI-generated for this project using Codemagic's visual identity as inspiration.
281
+ Codemagic names, logos, and other trademarks remain the property of their
282
+ respective owners; the software license grants no trademark rights.
283
+
284
+ **Disclaimer:** This is an unofficial community project. It is not affiliated
285
+ with, endorsed by, or sponsored by Codemagic or Nevercode Ltd. Claude and Codex
286
+ are trademarks of their respective owners; this project is not endorsed by
287
+ Anthropic or OpenAI.