Commit Graph

583 Commits

Author SHA1 Message Date
Catriel Müller a8e0da3da7 feat: Kilo gateway custom modes 2026-03-24 10:22:54 -03:00
Mark IJbema 9ea84978cb fix: remove unnecessary path triggers from docs-check-links.yml
source-links.md lives in packages/kilo-docs/ so changes to it already
trigger the docs link checker. The source code path triggers belong
only in source-check-links.yml (the freshness gate).
2026-03-23 11:08:14 +01:00
kiloconnect[bot] 9c69621d89 ci: rework source link checker into PR gate with committed file
- Move generated source-links.md into packages/kilo-docs/ so the
  existing docs link-checker (docs-check-links.yml) validates URLs
- Add --check flag to extract-source-links.ts for CI freshness check
- Replace lychee step in source-check-links.yml with freshness check
- Merge source-link exclusions into packages/kilo-docs/lychee.toml
- Remove standalone source-links-lychee.toml (no longer needed)
- Remove source-links.md from .gitignore (file is now committed)
- Add source code path triggers to docs-check-links.yml
2026-03-23 09:22:32 +00:00
kiloconnect[bot] f1d43995fc ci: add link checker for extension and CLI source code URLs
Extract user-facing URLs from packages/kilo-vscode/ and packages/opencode/src/
into a markdown file that lychee can check for broken links. Reuses the same
Kilo-Org/lychee-action used by the docs link checker.

- script/extract-source-links.ts: Bun script that greps TS/TSX/JS/JSX source
  files and filters out API endpoints, localhost, examples, templates, vendored
  code, tests, and stories
- script/source-links-lychee.toml: lychee config with exclusions for sites that
  block automated checks (GitHub, OpenAI, etc.)
- .github/workflows/source-check-links.yml: CI job that runs on PRs touching
  extension or CLI code, plus weekly scheduled runs
2026-03-23 08:54:44 +00:00
Catriel Müller 0adcc0f973 Update .github/workflows/storybook.yml 2026-03-20 08:48:43 -03:00
Johnny Amancio a49820192d resolve merge conflicts 2026-03-20 12:18:26 +01:00
Ligia Zanchet a09dd7a92b Update webhook condition for pull request titles 2026-03-18 12:09:40 +01:00
kiloconnect[bot] cbdcb57cc4 ci: disable smoketest gate in publish workflow
The smoke-test job in the publish workflow has been blocking releases
due to infrastructure issues with the external kilo-bench runner.

Changes:
- Set `if: false` on the smoke-test job so it is skipped
- Remove smoke-test from the publish job's `needs` list
- Add comments explaining the disable and how to re-enable

The smoke-test job definition is preserved intact for easy re-enablement.
2026-03-18 10:38:51 +00:00
Joshua Lambert 535f51a529 Merge pull request #6771 from Kilo-Org/jl-add-smoketest-to-release
Draft of triggering smoketest after draft release and before public p…
2026-03-17 17:48:31 -04:00
Mark IJbema 63b5b6895e fix: use --no-verify on visual regression baseline push to skip husky hooks 2026-03-17 11:41:57 +01:00
Catriel Müller b13b701310 feat: merge opencode v1.2.18 2026-03-17 07:27:22 -03:00
Imanol Maiztegui 4115c1d7b0 Visual regression tests for PermissionDock dropdown states (#7146)
* test(kilo-vscode): add screenshot tests for PermissionDock dropdown states

* ci: add stale baseline cleanup for permission-dock-dropdown snapshots

* test: set explicit 420×720 viewport in permission-dock-dropdown tests

* ci: guard permission-dock-dropdown cleanup against missing spec file

* ci: add deep glob for permission-dock-dropdown snapshot path filter

* fix: use dispatchEvent for all rule toggle clicks to bypass tooltip overlay

* chore: update kilo-vscode visual regression baselines

* fix(kilo-vscode): formatting

* ci: guard git add for permission-dock-dropdown snapshots with existence check

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-03-17 09:21:55 +01:00
Ligia Zanchet 23c8e5c745 Update webhook trigger for feat PRs 2026-03-16 14:38:31 +01:00
Ligia Zanchet a17a5de954 Add auto-docs workflow for merged feat PRs
This workflow triggers a webhook when a pull request is closed and merged, specifically for branches containing 'feat'. It sends relevant PR data to a specified webhook URL.
2026-03-16 13:30:18 +01:00
kiloconnect[bot] f5ac4ca526 Move kilocode_change check to package.json script following knip pattern
- Add check-kilocode-change script in packages/kilo-vscode/package.json
- Update CI to use the script instead of inlined grep
- Document the check in root AGENTS.md alongside knip
2026-03-16 09:55:26 +00:00
kiloconnect[bot] 8875fc700d Move kilocode_change check into existing test-vscode workflow instead of separate workflow 2026-03-16 09:26:06 +00:00
kiloconnect[bot] 3751bc3492 Add CI check to prevent kilocode_change markers in kilo packages 2026-03-16 09:23:30 +00:00
kiloconnect[bot] 407b4dfd57 chore: remove unnecessary empty directory cleanup
Git doesn't track empty directories, so no need to rmdir after deleting stale PNGs.
2026-03-12 11:56:35 +00:00
kiloconnect[bot] 38f2fe6857 fix: use storybook index to detect stale baselines instead of timestamps
The timestamp approach incorrectly deleted valid baselines that Playwright
didn't rewrite (because they already matched). Instead, read the Storybook
index.json to compute the expected set of screenshot filenames, and only
remove baselines that don't correspond to any current story.
2026-03-12 11:53:50 +00:00
kiloconnect[bot] d29a267b03 fix: use timestamp-based stale screenshot detection instead of deleting all baselines
The previous approach of removing all baselines before regeneration caused
spurious changes because Playwright produces slightly different PNGs across
runs (within tolerance but different bytes). Also, skipped stories had their
baselines permanently deleted.

Instead, create a timestamp marker before the test run and delete only
screenshots that weren't touched by Playwright (i.e., stale baselines for
removed stories). This also reverts the spurious baseline changes from the
previous auto-commit.
2026-03-12 11:49:46 +00:00
kiloconnect[bot] c3d3aa61c9 fix: remove stale screenshots for deleted stories in visual regression CI
Remove all existing baseline screenshots before regenerating them so that
screenshots for removed stories don't persist indefinitely.
2026-03-12 11:30:23 +00:00
kiloconnect[bot] ad11479ff3 fix: use commit message check instead of re-running tests for loop prevention 2026-03-12 10:38:48 +00:00
kiloconnect[bot] f810586183 fix: prevent infinite loop in visual regression CI when screenshots are non-deterministic 2026-03-12 10:31:48 +00:00
kiloconnect[bot] d90feb3fd5 ci(kilo-vscode): add prettier format check to CI
Add a 'format:check' step to the test-vscode workflow so PRs that
introduce formatting drift in packages/kilo-vscode are caught before
merge. Uses the existing 'format:check' script (prettier --check .)
already defined in packages/kilo-vscode/package.json.

Ref: #6919
2026-03-11 10:06:20 +00:00
josh 5ca582cafb fix: robust smoke-test run identification and release targeting
- Replace gh run list --limit 1 with timestamp-based API polling to
  avoid picking up an older or unrelated smoke-test run
- Pass release_tag instead of cli_version so kilo-bench downloads from
  the exact draft release, not just the first one found for a version
- Add 60s clock skew buffer for runner/GitHub time drift
2026-03-10 01:55:48 -04:00
Karan Handa 0388ec6862 fix(storybook): add ci build workflow (#16760) 2026-03-09 09:33:19 -05:00
Mark IJbema c724bd2866 Merge pull request #6779 from Kilo-Org/session/agent_049c38d4-d0a9-457e-bd12-09be01749596
fix: skip auto-commit of visual regression screenshots for fork PRs
2026-03-09 12:49:50 +01:00
Marius 9d6dca1863 feat(vscode): add knip dead code detection to agent-manager (#6773)
* feat(vscode): add knip dead code detection to agent-manager

Add knip to the kilo-vscode package to detect and prevent dead code in
the agent-manager. This includes:

- knip.json config scoped to src/agent-manager/ and webview-ui/agent-manager/
- CI pipeline step in test-vscode.yml to run knip on every PR
- Clean up unused exports: narrow interfaces/types to non-exported where
  only used locally, remove unused re-exports from FileTree.tsx and
  review-comments.ts

* expand knip scope to entire kilo-vscode package

- Widen project scope from agent-manager only to src/**/*.ts and
  webview-ui/**/*.{ts,tsx}
- Exclude vendored src/services/autocomplete/** from analysis
- Enable ignoreExportsUsedInFile for component Props patterns
- Delete 4 dead files: legacy-migration barrel/messages, settings
  barrel, webview telemetry util
- Trim barrel re-exports in cli-backend, telemetry, browser-automation
  to only what consumers actually import through the barrel
- Unexport private helpers: getNonce, joinCspDirectives,
  NEW_EXTENSION_IS_STILL_EXPERIMENTAL flag, getVSCodeAPI,
  dispatchMockProviders, errorCodes
- Narrow 5 unused exported types to non-exported
2026-03-09 12:31:20 +01:00
kiloconnect[bot] 91454991d5 fix: update fork PR error message to direct contributors to Kilo developers 2026-03-09 10:32:52 +00:00
kiloconnect[bot] 8dcf7407e3 fix: skip auto-commit of visual regression screenshots for fork PRs 2026-03-09 10:24:13 +00:00
Josh Lambert 5872721256 Draft of triggering smoketest after draft release and before public publish 2026-03-09 00:36:18 -04:00
Christiaan Arnoldus 3fff82bfa2 Apply suggestions from code review 2026-03-06 16:22:26 +01:00
kiloconnect[bot] 55a1de8d9e refactor(model): migrate default to kilo-auto/frontier across codebase
migrate default model IDs from kilo/auto to kilo-auto/frontier and related references across the codebase. update defaults in gateway constants, VSCode provider, tests, UI defaults, and e2e seed. align docs and examples to use kilo-auto/frontier and kilo-auto/free. this is a breaking change for existing configurations

BREAKING CHANGE: update default model IDs to kilo-auto/frontier and kilo-auto/free
kilo/auto and kilo/auto-free no longer used as defaults; update all
references accordingly
2026-03-06 15:03:35 +00:00
Mark IJbema 5272339c36 ci: use BOT_PAT instead of GITHUB_TOKEN for visual regression tests 2026-03-05 14:10:15 +01:00
Mark IJbema 37b8904770 Merge branch 'main' into fix/6465-workflow-repository-guards 2026-03-05 13:46:51 +01:00
Mark IJbema 06e4cb2add fix: use Kilo-Org/paths-filter fork 2026-03-05 11:52:00 +01:00
Mark IJbema cbcce5157d fix: explicit pull_request event types 2026-03-05 11:50:57 +01:00
Mark IJbema 01b70c0f41 fix: use dorny/paths-filter@v2 2026-03-05 11:49:51 +01:00
Mark IJbema 904b5bc930 ci: make visual regression workflow always run with path-based skip 2026-03-05 11:46:49 +01:00
kiloconnect[bot] 936b3a859c ci: add repository guards to prevent workflow spam in forks (#6465) 2026-03-05 08:16:35 +00:00
Brendan Allan 1b0d65f80e ci: remove electron beta requirement 2026-03-04 22:38:23 +08:00
Brendan Allan faf501200e ci: only publish electron on beta 2026-03-04 22:21:56 +08:00
Brendan Allan 5cf235fa6c desktop: add electron version (#15663) 2026-03-04 15:12:34 +08:00
Mark IJbema d1c1ce7df4 feat(vscode): add composite webview visual regression tests
Add Storybook + Playwright visual regression testing for the VS Code
extension's composite webview UI. This tests the full composition of
kilo-ui components with extension-specific contexts and styles.

- .storybook/ config with kilo-vscode theme defaults
- StoryProviders mock wrapper for DataProvider, SessionContext, etc.
- 7 composite stories: tool+permission, permission dock, tool cards,
  chat idle/busy, multi-tool assistant message
- Playwright config on port 6007 with auto-discovery
- CI workflow updated with parallel kilo-vscode visual regression job
- Exported SessionContext and LanguageContext for story use
2026-03-03 18:42:30 +01:00
Mark IJbema fd523fb0a9 Apply suggestions from code review
Co-authored-by: kilo-code-bot[bot] <240665456+kilo-code-bot[bot]@users.noreply.github.com>
2026-03-03 09:26:38 +01:00
kiloconnect[bot] 3bf2f6175a Add paths filter to docs link checker pull_request trigger 2026-03-03 08:23:10 +00:00
Adam 1cd77b1072 chore: fix docs sync permissions 2026-03-02 11:42:20 -06:00
Mark IJbema 984e05d8a0 fix: address review comments
- 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
2026-03-02 15:43:11 +01:00
Mark IJbema b382c4e3ee fix: fail CI when visual regression baselines change
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.
2026-03-02 15:43:11 +01:00
Mark IJbema 77609c35f6 feat: add visual regression tests for kilo-ui with Playwright
- 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
2026-03-02 15:43:11 +01:00