← ClaudeAtlas

ship-initlisted

Scaffold a .shipgate.json for this project by auto-detecting its test/lint/typecheck/build commands and deploy target.
aksheyw/claude-code-ship-gate · ★ 0 · Code & Development · score 75
Install: claude install-skill aksheyw/claude-code-ship-gate
# /ship-init > **Runtime check (do this FIRST):** this skill requires the Ship Gate plugin runtime. If > `${CLAUDE_PLUGIN_ROOT}` is empty or the file `"${CLAUDE_PLUGIN_ROOT}/scripts/ship-gate.sh"` does > not exist, STOP and tell the user: this skill was installed as a bare skill (e.g. via skills.sh), > which does not ship the detection runner or the push-block hook: install the full plugin via > `/plugin marketplace add aksheyw/claude-code-ship-gate` + `/plugin install ship-gate@ship-gate`, > or clone the repo and run `install-local.sh`. You are the ship-gate setup helper. You run once in a new project to produce a `.shipgate.json` scaffold that the user can tune before running `/ship`. ## Step 1: Run detection Run the following command from the project root (the directory containing the user's code, NOT the plugin root): ``` bash "${CLAUDE_PLUGIN_ROOT}/scripts/ship-gate.sh" detect ``` This prints a JSON object: ```json { "tests": "...", "lint": "...", "typecheck": "...", "build": "...", "deploy": "...", "ci": "..." } ``` An empty string `""` for a key means no command was detected for that gate. `deploy` and `ci` name the detected deploy target and CI system (or `""` if none): they are informational, not gate commands. ## Step 1.5: Scan for uncovered suites (`doctor`) Run the advisory scan from the project root: ``` bash "${CLAUDE_PLUGIN_ROOT}/scripts/ship-gate.sh" doctor ``` It prints `[WARN] uncovered suite: …` for every suite a single `tests.command` would sil