Comment développer l'application
Ce guide montre comment préparer une machine, lancer Sidekicks avec rechargement à chaud et le construire. Il suppose que vous connaissez Go et le terminal.
Installer les outils
| Outil | Version | macOS | Linux (Debian/Ubuntu) |
|---|---|---|---|
| Go | ≥ 1.26 | brew install go |
paquet de la distribution ou go.dev |
| Node | ≥ 20 | brew install node |
paquet de la distribution |
| pnpm | 12.11.2 | npm install -g pnpm@12.11.2 |
idem |
| CLI Wails | v3.0.0 | go install github.com/wailsapp/wails/v3/cmd/wails3@v3.0.0 |
idem |
| Boîte à outils native | — | xcode-select --install |
sudo apt-get install pkg-config libgtk-4-dev libwebkitgtk-6.0-dev |
Vérifiez ensuite avec wails3 doctor.
Installer les dépendances et lancer
make install
SIDEKICKS_CONFIG="$PWD/examples/test-agents.yaml" make dev
make dev ouvre la fenêtre, recharge l'interface quand un fichier Svelte change et recompile le Go quand un fichier Go change. Sans SIDEKICKS_CONFIG, Sidekicks utilise (et crée) la configuration à son emplacement par défaut.
Construire
make build # bin/sidekicks
make package # macOS : bin/sidekicks.app, signé ad hoc
Les paquets de release vont dans dist/ : make package-macos, make package-linux, make package-windows (voir Publier une release).
Quand vous modifiez…
- un service Go ou une charge d'événement (
internal/app,internal/events,main.go) : lancezmake bindingset commitezfrontend/bindings—make verifyéchoue s'ils ne sont pas à jour. - le format de configuration : mettez à jour
schema/config.schema.json,internal/config, les données de test et la référence de la configuration. - un package ou ses imports : mettez à jour
docs/diagrams/packages.drawio(son générateur est décrit dans l'explication de l'architecture). - tout fichier source que vous créez : commencez-le par l'en-tête de licence (
make lint-headersle vérifie).
Variantes
- Le dépôt est partagé entre macOS et une machine ou sandbox Linux : rien de particulier à faire —
frontend/pnpm-workspace.yamldemande à pnpm d'installer les binaires natifs des deux systèmes dans le mêmenode_modules. Avec npm au lieu de pnpm, chaque système casserait l'autre. - Utiliser les agents de test sans
SIDEKICKS_CONFIG(y compris l'.appempaquetée) :make install-test-configles écrit à l'emplacement par défaut, avec des chemins absolus et l'environnement qui manque à une application ouverte depuis le Finder. - Lancer sans rechargement à chaud :
make frontend && go build -o bin/sidekicks . && bin/sidekicks --config examples/test-agents.yaml.
Voir aussi
- Comment lancer les tests · Référence : commandes
- Pourquoi cette stack : La stack de l'interface
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 |
|