Reference: commands
sidekicks
sidekicks [--config <file>]
| Option / variable | Effect |
|---|---|
--config <file> |
Configuration file to use. Takes precedence over everything else. |
SIDEKICKS_CONFIG |
Configuration file when --config is not given. |
| (none) | <user config dir>/sidekicks/config.yaml, created with comments when missing. |
The order is detailed in the configuration reference.
make targets
| Target | Effect |
|---|---|
help |
Lists the targets. |
install |
pnpm install in frontend/ (macOS and Linux native binaries). |
bindings |
Regenerates frontend/bindings from the Go services and events (wails3 generate bindings -clean=true -ts -i). |
frontend |
install, then builds frontend/dist. |
dev |
wails3 dev: the application with hot reload. |
build |
wails3 build: bin/sidekicks. |
package |
wails3 package: on macOS bin/sidekicks.app. |
install-test-config |
scripts/install-test-config.sh: writes examples/test-agents.yaml at the default configuration location with absolute paths to the repository: each agent is mm -acp -config agent.yaml started in its folder, with afterStop: [<repo>/scripts/agents.sh, unload, <agent>] to unload its model when it stops, mm written with its absolute path (MM_BIN, or the one in PATH), and the current PATH in each agent's env; an existing file is kept as config.yaml.<date>.bak. |
check |
lint then test. |
test |
test-go, test-frontend, test-scripts. |
test-go |
go test ./... (builds frontend/dist first if missing). |
test-frontend |
vitest run in frontend/. |
test-scripts |
scripts/agents_test.sh and scripts/check-license-headers_test.sh. |
test-real |
go test -tags realagents -count=1 ./... — needs mm and llmman. |
lint |
lint-go, lint-frontend, lint-headers. |
lint-go |
golangci-lint v2.14.0 (tools/go.mod), configuration .golangci.yml. |
lint-frontend |
svelte-check. |
lint-headers |
scripts/check-license-headers.sh. |
bindings-check |
bindings, then fails if frontend/bindings differs from the committed version. |
scripts/check-license-headers.sh
scripts/check-license-headers.sh [repository root]
Lists the source files (.go .ts .js .svelte .css .html .sh .py .yml .yaml, Makefile) known to git whose first three lines do not contain Sidekicks Source-Available License, and exits 1 if there is one. Not checked: frontend/bindings, Wails' build/ and Taskfile.yml, *.d.ts, pnpm-lock.yaml, vite.config.ts, svelte.config.js, agents/, */testdata/*, git.sh, new.*.sh, tag-step.sh, .claude/, .tickets/.
CI
.github/workflows/ci.yml, on every push and merge request: installs Go (from go.mod), Node 22, pnpm (from frontend/package.json), the GTK 4 / WebKitGTK 6 build packages and the Wails CLI, then runs make bindings-check and make check.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
|