用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/zenml-io/kitaru --skill kitaru-tests-release命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Full reference for Kitaru v2 development commands, tests, docs generation, packaging, Docker builds, and CI workflows. Use when a task needs commands beyond just check, just fix, or just test.
Prepare or execute Kitaru core and plugin releases, including Kitaru UI publication in the frontend monorepo, version and changelog updates, frontend declarations, default plugin pins, validation, release tags, artifact verification, and recovery. Use when a user asks to prepare, cut, publish, verify, or recover a Kitaru, Kitaru UI, or Kitaru plugin release.
Use for Kitaru commands, CLI, analytics, PRs.
基于 SOC 职业分类
正在显示 SKILL.md
| name | kitaru-tests-release |
| description | Use for Kitaru tests, CI, releases. |
Use this when adding, moving, or debugging tests beyond the basic commands and safety rules in tests/AGENTS.md, or when changing CI/release behavior.
SimpleNamespace objects instead of booting unrelated runtime state.V2 has no primed_zenml fixture or test_phase* example suite. Do not copy those v1 patterns into new tests.
uv sync --extra cli --extra worker.src/kitaru/cli/app.py::main with an explicit argument list.main(["--help"]) == 0; successful calls do not raise SystemExit(0).capsys and assert stable structured or plain-text contracts.just cli-artifact-smoke after optional-dependency, entrypoint, or packaging changes.Keep CLI tests focused on argument parsing, command dispatch, output contracts, and the specific resource interaction under test.
Follow the four server-resource surfaces in tests/AGENTS.md: service tests, ASGI REST tests, shared repository contracts, and PostgreSQL end-to-end tests. Add SDK round-trip coverage under tests/client/ when a public resource changes.
Use the PostgreSQL-backed tests for transaction, locking, migration, or cross-request behavior that an in-memory fake cannot prove. Run docker compose up -d db before those tests and just migration-check after schema changes.
tests/task/.tests/worker/.plugins/DEVELOPMENT.md for the package map, local candidate-image rehearsal, version preparation, dry-run dispatch, PyPI Trusted Publisher setup, publish workflow, and verification commands.plugins/packages/, but agent projects install them directly. Keep them out of plugins/default-requirements.txt and the server default catalog.just plugin-artifact-smoke after changing plugin package metadata, default definitions, requirement pins, or release installation paths.plugins/packages/ and the choices in .github/workflows/release-plugins.yml.main.plugins/candidate-wheels; production release Dockerfiles continue to install exact versions from PyPI.plugins/candidate.Dockerfile and plugins/docker-compose.candidate.yml. Do not commit generated files under plugins/candidate-wheels/.--script source. Use an exact package source when the test must cover wheel installation or package imports.uv sync --frozen --extra mcp and run just test tests/mcp.KitaruAPIClient objects unless a protocol or real-server contract requires deeper integration.MCPServer.list_tools(), not by calling decorated functions alone.tests/mcp/snapshots/metrics.json and src/kitaru/mcp/registry.py as the tool-inventory authorities. Do not hardcode copied inventory counts in instructions.just mcp-schema-check after any input/output model, registry, annotation, description, or MCP SDK change. Snapshot changes require explicit MCP API review.just mcp-wheel-smoke after launcher, packaging, lifecycle, or optional-import changes.Every bug fix should include a regression test that would have caught the original problem:
If code changes after a successful test run, run the affected tests again.
When adding a new CLI command, MCP tool, SDK resource, task, or worker capability:
examples/example-coverage.yaml and run just example-coverage-audit when examples are added, removed, renamed, or publicly documented..github/workflows/ci.yml runs on pushes to develop and on pull requests. It includes separate base, CLI, and MCP matrices across Python 3.11 through 3.14, plus installed CLI-artifact and MCP-wheel contracts. Push-only jobs cover Docker server smoke and UI wheel packaging because those paths may require trusted UI release credentials.
Do not describe the inherited llm-integration.yml provider markers or absent tests/live/ suite as v2 release evidence. V2 currently has no tracked live_llm, live_openai, live_anthropic, or live_gemini test surface.
.github/workflows/docs.yml runs on manual dispatch, main pushes, and selected docs/reference pull-request paths. It is configured to regenerate SDK reference docs and build the FumaDocs export, but the v2 checkout currently lacks scripts/generate_sdk_docs.py; treat that workflow as blocked until a v2 generator is restored. Deployment conditions remain main push or manual dispatch, and hand-written docs publish separately through GitBook Git Sync.
Use .agents/skills/kitaru-release/SKILL.md for the release interview, metadata edits, validation, and preparation PR. Keep this skill focused on selecting and running test surfaces.
.github/workflows/release-plugins.yml publishes one Python distribution from an immutable namespaced tag. A core tag such as python/kitaru/v0.22.0rc1 publishes Kitaru to PyPI and creates its GitHub Release. Plugin tags publish independently and do not gate the core release.
After a successful core Python workflow, .github/workflows/release.yml automatically publishes the matching client, server, worker, and managed images plus the Helm chart. It converts Python RC versions such as 0.22.0rc1 to deployable tags such as 0.22.0-rc.1. No separate bundle tag is used. A manual dispatch with the existing core package tag is the recovery path.
.github/workflows/release-typescript.yml publishes @zenml-io/kitaru, @zenml-io/kitaru-mastra, and @zenml-io/kitaru-vercel-ai together from an immutable typescript/kitaru/v<VERSION> tag. Read release/typescript.md before preparing or recovering a TypeScript release. Manual dispatch is a non-publishing rehearsal; pushing the tag publishes the tested tarballs, waits for npm publish-time scanning, verifies a clean registry install, and creates the GitHub Release. The three packages use one lockstep stable or -rc.N version.
Before creating a core tag:
develop, main, and tags.develop and identify the last immutable release tag.uv run python scripts/generate_openapi.py and commit the updated openapi/openapi.json.just check, the relevant base/CLI/MCP tests, just mcp-schema-check, just cli-artifact-smoke, just plugin-artifact-smoke, just migration-check, and just build as applicable. Run just mcp-wheel-smoke only after just build; it consumes the wheel under dist/.release-plugins.yml with the proposed package tag when a non-publishing rehearsal is needed.The core Python workflow builds and verifies the wheel, publishes it to PyPI, and creates the GitHub Release. The deployables workflow then verifies the core package, tests the release images, publishes the images and Helm chart, and attaches the chart to the core GitHub Release. Stable releases also move the Docker latest aliases.
Do not use the removed scripts/smoke-test.sh, provider-area flags, remote-stack smoke, v1 adapters, or local ZenML flow runs as v2 release gates.
develop.develop; v2 feature work may target its explicit integration branch until that migration lands.main tracks the latest released version only; do not push directly..github/workflows/release-plugins.yml.typescript/kitaru/v<VERSION> tags handled by .github/workflows/release-typescript.yml; rehearse the exact tag through manual dispatch before pushing it..github/workflows/release.yml; manual dispatch is reserved for recovery.pyproject.toml; application code should use importlib.metadata.version("kitaru") rather than hardcoding it.CHANGELOG.md under [Unreleased] for user-facing changes.