bots-garden/sidekickspublic Fork
⑂ feature/m3-channels-multi-agents
Commits
⬇ Clone ▾
git clone https://git.rickub.com/bots-garden/sidekicks.git
git clone ssh://git@rickub.com/bots-garden/sidekicks.git

Host key fingerprint (ed25519): SHA256:iycHnxEyq0Q7uyVpB7JlznP0G7JrTPXLYRcAU5CSLhc — verify it before your first connect.

Download ZIP
🛟 Updated. b34befd · on feature/m3-channels-multi-agents · k33g · 4d ago
commands.md · 51 lines · 2.7 KBmarkdown
Blame HistoryOpen raw

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, and MM_BIN 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
# Reference: commands

## `sidekicks`

```text
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](configuration.md#location).

## `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, and `MM_BIN` 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`

```text
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`.