diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 319c1d0..263bc0e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -55,3 +55,27 @@ jobs: with: name: selftest-results-py${{ matrix.python-version }} path: selftest-results.xml + + verify-demo: + name: Verify showboat demo + if: github.event_name == 'pull_request' + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: astral-sh/setup-uv@v5 + with: + enable-cache: true + - name: Install dependencies + run: uv sync + - name: Check for demo + id: check + run: | + if [ -f demo.md ]; then + echo "found=true" >> "$GITHUB_OUTPUT" + else + echo "found=false" >> "$GITHUB_OUTPUT" + echo "No demo.md found — skipping verification" + fi + - name: Verify demo + if: steps.check.outputs.found == 'true' + run: uvx showboat verify demo.md diff --git a/.github/workflows/copilot-setup-steps.yml b/.github/workflows/copilot-setup-steps.yml index 28b0b43..0a3cb9e 100644 --- a/.github/workflows/copilot-setup-steps.yml +++ b/.github/workflows/copilot-setup-steps.yml @@ -24,3 +24,5 @@ jobs: uses: github/gh-aw/actions/setup-cli@v0.48.1 with: version: v0.48.1 + - name: Install showboat + run: pip install showboat diff --git a/.gitignore b/.gitignore index 3b34190..b04ccef 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ # VIP-specific vip.toml report/results.json +demo.md report/_output/ report/_freeze/ report/.quarto/ diff --git a/AGENTS.md b/AGENTS.md index 3d0a87c..4e40875 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -191,6 +191,51 @@ silently swallowed inside conditionals. PR preview to gh-pages via `rossjrw/pr-preview-action@v1`. Uses uv and Quarto caches. +## Showboat demos + +After completing work on a branch, create a showboat demo that proves +your changes work. The demo file is committed to the branch and its +contents are pasted into the PR body under a `## Demo` heading. + +### Getting started + +Run `uvx showboat --help` at the start of a session to learn the tool. + +### Creating a demo + +```bash +uvx showboat init demo.md "Feature: