check
Run the full local verification gate for the assembly CLI (the same checks CI runs). Use before pushing or opening a PR.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Run the full local verification gate for the assembly CLI (the same checks CI runs). Use before pushing or opening a PR.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Use the AssemblyAI CLI (`assembly`) from the command line — transcribe audio/video files, URLs, and YouTube/podcast links; stream live real-time transcription from a mic/file/system audio; run full-duplex voice agents; query the LLM Gateway over transcripts; browse transcript and streaming-session history; sign in and manage account balance, usage, rate limits, API keys, and audit logs; scaffold a starter app (init); diagnose setup (doctor); and set up your coding agent's AssemblyAI docs MCP + skills (setup). Use whenever an agent is invoking the `assembly` command.
Prepare an assembly CLI release — confirm main is green, then tag (locally or via the manual workflow) to trigger the bottle pipeline. Use when cutting a new release.
Plan a new assembly CLI feature the way this repo does — drive the superpowers planning skill, then persist the spec + plan into docs/superpowers/ under this repo's naming and verification conventions. Use before building anything non-trivial.
| name | check |
| description | Run the full local verification gate for the assembly CLI (the same checks CI runs). Use before pushing or opening a PR. |
| disable-model-invocation | true |
Run the project's canonical verification gate and report the result.
Run the full gate:
./scripts/check.sh
This runs, in order: uv lock --check → ruff check → ruff format --check → mypy (src + tests) → pyright (src strict, then tests) → vulture (dead code) → deptry (dependency hygiene) → lint-imports (architecture contracts) → xenon (cyclomatic complexity, max grade B / project avg A) → swiftlint + swift compile (macOS only) → markdownlint (excludes generated docs/) → prettier (init template JS/CSS) → shellcheck scripts/check.sh → generated --show-code compile gate → init template contract gate → pytest with a 90% branch-coverage gate (--cov-fail-under=90, excluding e2e/install markers) → diff-cover (100% patch coverage vs origin/main) → a "no new escape hatches" diff gate → uv build + twine check --strict. Everything Python runs through uv run against the locked environment.
Heads-up on the stages ruff+mypy don't cover: vulture flags unused code, deptry flags unused/missing/misplaced dependencies, lint-imports enforces the import-architecture contracts in .importlinter, and xenon fails any function over cyclomatic-complexity grade B (CC > 10). These are the ones that most often surprise an otherwise-clean change.
If anything fails, fix it and re-run ./scripts/check.sh until it passes. Do not claim success until the script prints All checks passed.
Run these only when relevant — they are slow and/or need credentials:
uv run pytest -m e2e # real-API end-to-end; needs ASSEMBLYAI_API_KEY + kokoro
shellcheck, prettier, swiftlint/swiftc — self-skip with a notice when not installed (CI still runs them); that's expected, not a failure. swiftlint/swiftc also no-op off macOS.diff-cover and the escape-hatch gate self-skip when origin/main isn't present (e.g. a shallow branch-only clone); CI provides the base ref.