bots-garden/sidekickspublic Fork
⑂ v1.0.0
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
📦️ Create a release. f95c2c9 · on v1.0.0 · k33g · 3d ago
developper-l-application.md · 51 lines · 3.0 KBmarkdown
Blame HistoryOpen raw

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) : lancez make bindings et commitez frontend/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-headers le vérifie).

Variantes

  • Le dépôt est partagé entre macOS et une machine ou sandbox Linux : rien de particulier à faire — frontend/pnpm-workspace.yaml demande à pnpm d'installer les binaires natifs des deux systèmes dans le même node_modules. Avec npm au lieu de pnpm, chaque système casserait l'autre.
  • Utiliser les agents de test sans SIDEKICKS_CONFIG (y compris l'.app empaquetée) : make install-test-config les é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

 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
# 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

```bash
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

```bash
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](publier-une-release.md)).

## Quand vous modifiez…

- **un service Go ou une charge d'événement** (`internal/app`, `internal/events`, `main.go`) : lancez `make bindings` et commitez `frontend/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](../reference/configuration.md).
- **un package ou ses imports** : mettez à jour `docs/diagrams/packages.drawio` (son générateur est décrit dans l'[explication de l'architecture](../explanation/architecture.md)).
- **tout fichier source que vous créez** : commencez-le par l'en-tête de licence (`make lint-headers` le vérifie).

## Variantes

- **Le dépôt est partagé entre macOS et une machine ou sandbox Linux** : rien de particulier à faire — `frontend/pnpm-workspace.yaml` demande à pnpm d'installer les binaires natifs des deux systèmes dans le même `node_modules`. Avec npm au lieu de pnpm, chaque système casserait l'autre.
- **Utiliser les agents de test sans `SIDEKICKS_CONFIG`** (y compris l'`.app` empaquetée) : `make install-test-config` les é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](lancer-les-tests.md) · [Référence : commandes](../reference/commandes.md)
- Pourquoi cette stack : [La stack de l'interface](../explanation/stack-interface.md)