Skip to content

Contributing & development

Skiller is an open-source VS Code extension on GitHub. Issues and pull requests are welcome. This page covers how to build it locally, run the tests, and open a clean PR.

Clone the repo and install dependencies:

Terminal window
git clone https://github.com/tivaliy/skiller.git
cd skiller
npm install

Skiller compiles with esbuild. Use compile for a one-off dev build, or watch to rebuild on every change while you work:

Terminal window
npm run compile # one-off dev build (esbuild)
npm run watch # rebuild on change

Press F5 in VS Code to launch an Extension Development Host — a second VS Code window with your local build of Skiller loaded. Open the Chat view there and talk to @skiller to try your changes against real skills. The built-in example skills (greeter, mind-reader) are available immediately; drop your own under .skiller/skills/ in the host’s workspace to iterate.

Two type-check scripts: one for the extension source, one that also includes the tests.

Terminal window
npm run typecheck # tsc --noEmit (src)
npm run typecheck:test # tsc --noEmit (src + tests)

Unit tests run on Vitest:

Terminal window
npm run test # run the suite once
npm run test:watch # re-run on change
npm run test:ui # Vitest UI

Build a .vsix you can install locally or attach to a release:

Terminal window
npm run package # build a .vsix

Install the result into your main VS Code with code --install-extension skiller-*.vsix, or run npm run install-local to package and install in one step.

Before you open a PR:

  1. Run npm run typecheck:test and npm run test — both must pass.
  2. Keep changes focused and add tests for new behavior.
  3. Follow the existing code style and patterns.

Skiller is licensed under the MIT License.