F1 — Wizard d'onboarding (src/setup.rs) : - am setup : provider (anthropic, openai, deepseek, google, ollama, custom), token masque (rpassword) -> keyring OS (jamais en clair), modele par defaut (liste declaree + champ libre), ping API non-bloquant - Declencheurs non-bloquants : am ai / am ask et banner REPL proposent am setup quand aucun provider n'est configure ; re-executable (mode revoir) - settings.default_provider + providers.* ecrits via persist_setting F2 — Integration aichat : - Etape wizard 'Installer le moteur IA (aichat) ? [Y/n]' -> am install aichat - am ai sans aichat -> 'aichat est manquant. Installer ? [Y/n]' - install.ps1/install.sh enchainent sur am setup si stdin interactif F3 — Roles copilot aichat (src/roles.rs) : - 6 agents generes dans ~/.config/aichat/agents (ou %APPDATA%\aichat\agents) : am-copilot, am-operator, am-dev, am-do, am-analyst, am-orchestrator - Prompts bilingues (FR defaut) privilegiant les contrats --json ; le prompt am-copilot embarque la liste des commandes am - am ai --role <nom> (valide le fichier genere, passe --agent a aichat), completion REPL ; config aichat creee seulement si absente - Câblage complet : cli, dispatch, help, REPL, tip, man (am-setup.1), i18n Tests : 450 verts (roles + setup unitaires, ai_test ajustes locale-agnostic) v1.1.0 ; ROADMAP axe 14 + maintenance note ; README Premier lancement
54 lines
1.3 KiB
TOML
54 lines
1.3 KiB
TOML
[package]
|
|
name = "agent-manager"
|
|
version = "1.1.0"
|
|
edition = "2021"
|
|
description = "Manage local AI coding agents: list, install, start, stop, update — with automatic dependency handling and a YAML-driven catalog."
|
|
license = "MIT"
|
|
default-run = "am"
|
|
|
|
[[bin]]
|
|
name = "am"
|
|
path = "src/main.rs"
|
|
|
|
[lib]
|
|
name = "agent_manager"
|
|
path = "src/lib.rs"
|
|
|
|
[dependencies]
|
|
anyhow = "1"
|
|
chrono = { version = "0.4", features = ["serde"] }
|
|
clap = { version = "4", features = ["derive", "wrap_help"] }
|
|
clap_complete = "4"
|
|
colored = "2"
|
|
flate2 = "1"
|
|
semver = "1"
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
serde_yaml = "0.9"
|
|
reedline = "0.49"
|
|
nu-ansi-term = "0.50"
|
|
sha2 = "0.10"
|
|
shell-words = "1"
|
|
tar = "0.4"
|
|
tempfile = "3"
|
|
tiny_http = "0.12"
|
|
sha1 = "0.10"
|
|
base64 = "0.22"
|
|
toml = "0.8"
|
|
ureq = { version = "2", default-features = false, features = ["tls"] }
|
|
wait-timeout = "0.2"
|
|
keyring = { version = "3", features = ["windows-native", "linux-native"] }
|
|
rpassword = "7"
|
|
which = "7"
|
|
zip = "0.6"
|
|
crossterm = "0.29"
|
|
ratatui = "0.30"
|
|
clap_mangen = "0.3"
|
|
|
|
[target.'cfg(windows)'.dependencies]
|
|
windows-sys = { version = "0.52", features = ["Win32_Foundation", "Win32_System_Threading", "Win32_System_ProcessStatus", "Win32_System_Diagnostics_ToolHelp", "Win32_System_Console"] }
|
|
|
|
[profile.release]
|
|
lto = "thin"
|
|
strip = true
|