- Add package.json to Storybook cache key (dep version changes invalidate cache)
- Add res.ok check before parsing Storybook index JSON
- Remove duplicate maxDiffPixelRatio (already in playwright.config.ts)
- Use parseInt for PLAYWRIGHT_WORKERS to handle non-numeric values
The workflow now:
1. Runs --update-snapshots to write new/changed baselines
2. Commits any changes back to the branch
3. Fails the job if baselines changed, so the PR author is notified
This avoids silently accepting visual changes — the author must pull
and review the updated baselines.
- Add @playwright/test, playwright.config.ts (Chromium, 1280x720)
- Test file auto-discovers all stories from Storybook's index.json
- Screenshots cropped to #storybook-root, grouped per component
- CI workflow on Blacksmith with Storybook/Playwright/Bun caching
- Paths filter: only runs when kilo-ui or its deps change
- Auto-commits missing baselines back to the branch via CI
- Skips head-only (Font, Favicon) and non-deterministic (Typewriter) stories
- Documented in CONTRIBUTING.md
packages/app is not actively maintained so its E2E tests on Windows
and Linux are no longer useful. Disable the e2e job with `if: false`
and remove it from the required gate job's dependencies.
These packages feed directly into the extension webview. An upstream opencode
merge that only touches packages/ui or packages/kilo-ui would previously skip
the kilo-vscode unit tests entirely, allowing contract regressions to merge
undetected.
The unit tests (bun test tests/unit/) are pure — no CLI binary needed — so
adding these paths has no performance cost.
- Update AGENTS.md to reflect main as default branch
- Update GitHub Actions workflows to trigger on main branch
- Update publish scripts to cherry-pick from origin/main
- Update upstream merge scripts and documentation
- Update CONTRIBUTING.md links in PR standards workflow
- Fix disabled workflow and documentation links
All development commands (bun dev, npm run dev) and external services
(models.dev, ai-sdk.dev) remain unchanged as they are unrelated to branch names.
Adapted from kilocode repo's markdoc-build.yml:
- pnpm → bun (using shared setup-bun action)
- Path-filtered to only run on packages/kilo-docs changes
- Targets dev branch
- Includes both build and test steps
- Split vscode publish script into build.ts and publish.ts
- Build script copies CLI binaries from dist artifacts instead of downloading
- VSIX packages renamed to kilo-vscode-{target}.vsix
- Added build-vscode job to publish.yml workflow
- VSCode publishing now part of main publish flow
- Removed standalone publish-vscode.yml workflow