Skip to content

About

LFA CLI est un outil en ligne de commande (CLI) conçu pour automatiser la détection, l'installation et la configuration d'OpenCode ainsi que de ses agents et skills IA.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

3 stars

Watchers

1 watching

Forks

Repository files navigation

LFA CLI — OpenCode AI Configuration Tool

CI Release Go Report Card License: MIT

CLI Go qui automatise la détection, l'installation et la configuration d'OpenCode et de ses agents/skills IA.

Aperçu

LFA CLI analyse votre système, détecte les outils IA installés (OpenCode, Ollama), puis déploie automatiquement :

  • 23 agents pré-configurés
  • 26 skills spécialisés
  • Configuration MCP (filesystem, memory, github, fetch, ollama, PostgreSQL)
  • Permissions OpenCode adaptées
  • Notifications multi-plateforme (Linux, macOS, Windows)

Installation

curl -fsSL https://lfa-cli.vercel.app/install.sh | sh

Ou téléchargez le binaire depuis les GitHub Releases.

Commandes

Commande Description
lfa version Affiche la version
lfa doctor Diagnostic système (OS, OpenCode, Ollama, chemins)
lfa setup Déploie la configuration OpenCode
lfa dashboard [-y] TUI interactif (ou -y pour mode non-interactif)
lfa info Liste les agents et skills déployés
lfa notify Envoie une notification desktop multi-plateforme

Flags

Commande Flag Description
setup --ollama Active l'intégration Ollama (par défaut: true)
setup --dry-run Simule sans écrire de fichiers
setup --postgres Active PostgreSQL (MCP pg-mcp-server)
(global) -y, --yes Mode non-interactif (répond oui à tout)

Exemples

# Diagnostic rapide
lfa doctor

# Installation complète avec Ollama
lfa setup --ollama

# Simulation sans écriture
lfa setup --dry-run

# Mode automatique
lfa dashboard -y

Architecture

lfa-cli-ai/
├── main.go                     # Point d'entrée
├── cmd/
│   ├── root.go                 # Commande racine (Cobra)
│   ├── version.go              # lfa version
│   ├── doctor.go               # lfa doctor
│   ├── setup.go                # lfa setup
│   ├── dashboard.go            # lfa dashboard
│   ├── info.go                 # lfa info
│   ├── notify.go               # lfa notify
│   └── setup_shared.go         # Logique partagée setup/dashboard
├── internal/
│   ├── config/
│   │   └── config.go           # Génération/écriture config OpenCode
│   ├── detect/
│   │   └── detect.go           # Détection OS, OpenCode, Ollama
│   ├── installer/
│   │   └── installer.go        # Téléchargement, extraction, déploiement
│   └── ui/
│       ├── tui.go              # TUI Bubbletea (dashboard interactif)
│       ├── styles.go           # Thème Lipgloss
│       ├── prompts.go          # Prompts Huh (confirm, select)
│       └── notify.go           # Notifications multi-plateforme
└── data/
    ├── agents/                 # 23 fichiers .md (agents IA)
    ├── skills/                 # 26 dossiers (skills spécialisés)
    ├── pg-mcp-server/          # Schéma PostgreSQL (init.sql)
    ├── opencode.jsonc          # Template de configuration
    └── AGENTS.md               # Règles globales

Stack technique

Composant Bibliothèque
CLI framework Cobra v1.8.1
TUI Bubbletea v1.1.0
Styles terminal Lipgloss v0.13.0
Formulaires Huh v0.6.0
Logging charmbracelet/log v0.4.0
Widgets TUI Bubbles v0.20.0

Build

make build      # Build pour la plateforme courante
make test       # Exécute les tests
make lint       # go vet + staticcheck
make coverage   # Couverture de tests (HTML)
make clean      # Supprime le binaire
make run        # Build et exécute

Cross-compilation

make cross      # Build les 6 cibles
OS Architecture
linux amd64, arm64
darwin amd64, arm64
windows amd64, arm64

Le binaire est strippé (-ldflags "-s -w") pour une taille de ~9.6 MB.

CI/CD

Trois workflows GitHub Actions :

Workflow Déclencheur Action
ci.yml push/PR sur main lint, test, build, cross-compilation
release.yml tag v* build multiplateforme + checksums SHA256 + GitHub Release
release-please.yml push sur main auto-tag et changelog automatique

Configuration déployée

Après lfa setup, les fichiers sont installés dans :

Platform Chemin
Linux ~/.config/opencode/
macOS ~/Library/Application Support/opencode/
Windows %APPDATA%\opencode\

Structure déployée :

~/.config/opencode/
├── opencode.jsonc        # Configuration principale
├── AGENTS.md             # Règles globales
├── agents/               # 23 agents .md
├── skills/               # 26 skills complets
└── pg-mcp-server/        # Schéma PostgreSQL (init.sql)

Variables d'environnement

Variable Description Requis
GITHUB_TOKEN Token pour le MCP GitHub Optionnel (requis pour les fonctionnalités GitHub)
ANTHROPIC_API_KEY Token pour l'API Claude (Anthropic MCP) Optionnel

Ces tokens sont demandés interactivement pendant lfa setup et stockés dans le bloc environment de opencode.jsonc.

Sécurité

  • Téléchargements via HTTPS uniquement
  • io.LimitReader (500 MB) contre les decompression bombs
  • Versions pinnées pour les packages MCP (npx @0.6.2, uvx @0.1.4)
  • Aucun secret hardcodé — tokens via variables d'environnement
  • .env exclu du version control

Voir SECURITY.md pour plus de détails.

Contribuer

Voir CONTRIBUTING.md.

License

MIT — voir LICENSE.

About

LFA CLI est un outil en ligne de commande (CLI) conçu pour automatiser la détection, l'installation et la configuration d'OpenCode ainsi que de ses agents et skills IA.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages