Skip to main content

veto-cli-e2e-test

Run isolated E2E tests from ai_docs/tests runbooks against the veto release binary. Use this skill whenever the user asks to: run an E2E test, execute a test runbook, validate a feature end-to-end, create a new runbook, or test CLI behavior in the sandbox. If you need to run a multi-step CLI validation sequence (init → check → gate → verify), this is the skill. Prefer this over ad-hoc command sequences for any test that follows a runbook or needs reproducible results.

ソース情報

リポジトリ
runkids/veto
ソースの最終更新活動
2026年3月7日 08:53
検出された SKILL.md の言語
英語
スター
7
フォーク
0

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
name
veto-cli-e2e-test
description
Run isolated E2E tests from ai_docs/tests runbooks against the veto release binary. Use this skill whenever the user asks to: run an E2E test, execute a test runbook, validate a feature end-to-end, create a new runbook, or test CLI behavior in the sandbox. If you need to run a multi-step CLI validation sequence (init → check → gate → verify), this is the skill. Prefer this over ad-hoc command sequences for any test that follows a runbook or needs reproducible results.
argument-hint
[runbook-name | new]
targets
["claude"]
Run isolated E2E tests against the veto release binary. $ARGUMENTS specifies runbook name or "new". ## Flow ### Phase 0: Environment Check 1. Ensure release binary exists: ```bash cargo build --release ``` 2. Verify binary works: ```bash ./target/release/veto --version ``` ### Phase 1: Detect Scope 1. Read all `*_runbook.md` files under `ai_docs/tests/` 2. Identify recent changes: ```bash git diff --name-only HEAD~3 ``` 3. Match changes to relevant runbooks: - `src/rules/` → `e2e_core_runbook.md` (risk classification tests) - `src/auth/` → auth-related runbooks - `src/commands/allow.rs` → allowlist runbooks - `src/cli/` → CLI flag/subcommand runbooks ### Phase 2: Select Tests - **Option A**: Run existing runbook (match to recent changes) - **Option B**: Run `scripts/e2e.sh` (automated 13-test suite) - **Option C**: Generate new runbook for untested feature - If $ARGUMENTS specifies a runbook, skip to Phase 3 ### Phase 3: Execute #### Running automated e2e suite: ```bash make e2e ``` #### Running in Docker sandbox (isolated): ```bash make sandbox # Inside sandbox: ./scripts/e2e.sh ``` #### Running specific runbook manually: 1. Read the selected runbook `.md` file 2. Execute each step sequentially 3. After each step, verify conditions in the Expected block 4. Mark each step PASS / FAIL #### Generating new runbook: 1. Read `git diff HEAD~3` to find changed files in `src/` 2. Read changed files to understand new/modified functionality 3. Verify all CLI flags exist: ```bash # Check flag exists in cli/mod.rs grep -n "flag_name" src/cli/mod.rs ``` 4. Generate new runbook to `ai_docs/tests/<slug>_runbook.md` 5. Run the quality checklist before executing ### Phase 4: Report Output summary: ``` ── E2E Test Report ── Runbook: {runbook name} Duration: {time} Step 1: {description} PASS Step 2: {description} PASS Step 3: {description} FAIL ← {error detail} ... Result: {N}/{total} passed ``` If any FAIL → distinguish: - **Runbook bug**: wrong flag, stale assertion → fix runbook - **Real bug**: CLI misbehavior → analyze cause, provide fix ## Runbook Quality Checklist Before executing a newly generated runbook: - [ ] **All CLI subcommands exist** — verify in `src/cli/mod.rs` - [ ] **All flags exist** — grep `src/cli/mod.rs` for each `--flag` - [ ] **Exit codes match** — `check` returns non-zero for blocked commands - [ ] **Auth context** — `gate` requires auth; in headless env, behavior differs from macOS - [ ] **Config isolation** — use `VETO_CONFIG_DIR` or `--force` to avoid polluting real config - [ ] **Binary path** — use `./target/release/veto`, not system-installed version ## Runbook Template ```markdown # CLI E2E Runbook: <Title> <One-line summary of what this validates.> **Origin**: <version> — <why this runbook exists> ## Scope - <bullet list of behaviors being validated> ## Environment - Release binary: `./target/release/veto` - Optional: Docker sandbox (`make sandbox`) ## Steps ### 1. Setup: <description> \```bash <commands> \``` **Expected**: <what should happen> ### 2. <Action>: <description> ... ## Pass Criteria - All steps marked PASS - <additional criteria> ``` ## Rules - **Always build release first** — `cargo build --release` - **Use config isolation** — set `VETO_CONFIG_DIR` to temp dir for stateful tests - **Don't abort on failure** — record FAIL, continue to next step, summarize at end - **Verify every step** — never skip Expected checks - **veto = ./target/release/veto** — use the release binary, not debug
GitHubで見る