bruno
d9ffc34156
feat: phase 2 — audit config + update --rollback ( closes #63 #64 )
...
Axe 8 (sécurité) :
- am audit : checksums SHA-256 des configs (embarquée, utilisateur,
locale) stockés dans state.json, croisement avec events.jsonl pour
dater les changements, détection des modifications manuelles hors de
am (statut MANUAL), rapport lisible + --json stable (contrat)
- backup automatique avant chaque am update (agent ou --all) : état +
config utilisateur + répertoires d'installation + shims dans
<state>/backups/<ts>/ avec manifest.json
- am update --rollback [point] : restaure le dernier backup (ou un id
précis, préfixe accepté), arrête les agents concernés d'abord,
événement EventKind::Rollback journalisé
- am update --rollback list : liste les points de restauration
- rétention settings.backups_keep (défaut 5) appliquée après chaque backup
- événements EventKind::Backup / EventKind::Rollback pour l'audit
REPL : commande audit + update --rollback (parse, complétion), help specs,
tip cheat sheet, man pages régénérées (50 pages). Version 0.4.6,
ROADMAP cases cochées, 272 tests verts.
2026-08-18 09:44:16 -04:00
bruno
22bc529818
feat: phase 2 — modèles locaux + catalogue distant + suggest ( closes #70 #71 #73 #60 #67 #61 )
...
Axe 11 (modèles) :
- am models : inventaire des runtimes locaux (ollama list --format json,
llama.cpp .gguf sur disque, LM Studio API locale) avec cache façon
probe.rs (TTL 30s) et absence de runtime signalée sans erreur fatale
- am run <agent> --model <m> : résolution dans l'inventaire, transmission
via model_env/model_arg de l'agent (défaut AM_MODEL), tracé en session
- am models --prune : candidats inutilisés depuis settings.models_prune_days
(défaut 30), :latest toujours protégé, dry-run + confirmation + événement
EventKind::Model journalisé
Axes 7/9 (catalogue) :
- am catalog update : fetch du catalogue officiel, diff (ajoutés/retirés/
modifiés), confirmation, enregistrement en include
- am catalog add <url> : validation du format (parse + validate), cache
catalog-cache.json (TTL 3600s), événement EventKind::Catalog journalisé
- include par URL (http/https/file) dans config.yaml, résolu au chargement
avec cache + TTL ; override local toujours prioritaire (issue #67 )
- am suggest <requête> : réutilise le scoring fuzzy du catalogue, boost par
usage réel (lancements + durée depuis le journal), top 5 justifié, --json
REPL : commandes models/catalog/suggest (parse, complétion, descriptions),
help specs, tip cheat sheet, man pages régénérées (49 pages, dont 3 nouvelles).
Version bump 0.4.5, ROADMAP cases cochées, 266 tests verts.
2026-08-18 09:06:16 -04:00
bruno
890ad953e5
feat: phase 2 quick wins ( #65 #69 #72 )
...
- #65 : update policies + per-agent version pinning
- add settings.update_policy (stable/latest/skip)
- add AgentDef.pin_version
- honor both in update_cmd
- add update_policy tests
- #69 : REPL color theme CLI command
- add am theme [name] (show/switch)
- persist selected theme to config
- #72 : doctor checks local model runtimes
- verify ollama and llama-server on PATH
- for ollama, also check server responds (ollama ls)
Version 0.4.4
2026-08-17 22:24:45 -04:00
bruno
98c0b30f68
feat: am tip cheat sheet + readable man pages + REPL completion refresh
2026-08-17 21:50:48 -04:00
bruno
53893f2967
v0.4.3 : persistance du theme actif choisi
...
release / linux (push) Successful in 13m24s
release / windows (push) Canceled after 0s
release / macos (push) Canceled after 0s
- le REPL 'theme <name>' applique ET sauvegarde le theme (settings.theme dans le fichier de config actif, cree s'il manque) via persist_setting
- correction racine : config::merge ignorait settings.theme - la valeur persistee n etait jamais relue au chargement, le theme par defaut etait toujours reapplique apres un redemarrage
- 'am --theme <name>' reste un one-shot ; config set settings.theme <nom> fonctionne egalement
- aides mises a jour (banniere, help theme)
- tests de persistance + relecture au demarrage, man pages regenerees, version 0.4.3
2026-08-17 15:23:28 -04:00
bruno
2c079b0ccd
v0.4.2 : menu de completion Nushell (reedline) + correction des chemins Windows - remplace rustyline par reedline (menu Tab interactif : 1er choix surbrille, Tab navigue, Entree valide, Esc ferme, filtrage en direct, descriptions, couleurs du theme), tokenizer Windows preservant les backslashes pour cd/ls (shell_words mangeait les \), historique history.txt conserve, repli sans terminal, tests + man pages regeneres
release / linux (push) Failing after 24s
release / windows (push) Canceled after 0s
release / macos (push) Canceled after 0s
2026-08-17 13:08:50 -04:00
bruno
56732d672b
v0.4.1 : Phase 1 complete (17/17) - dashboard TUI ( #33 ), favoris/notes/tags ( #39 ), profils d'environnement ( #40 ), completions dynamiques + man pages ( #41 ), packaging officiel + CI ( #42 ), self-update Gitea, state v3, 212 tests
release / linux (push) Failing after 23s
release / windows (push) Canceled after 0s
release / macos (push) Canceled after 0s
2026-08-17 10:50:13 -04:00
bruno
354c914c43
secret : trousseau OS (keyring) + injection @secret au start/run (issue #36 ) - valeurs jamais affichees ni journalisees, mock testable, fallback clair sans trousseau
2026-08-17 09:09:04 -04:00
bruno
16926ffb00
top + report + log --follow (issues #37 #38 ) - top 10 par lancements, digest markdown hebdo/mensuel, suivi du journal en direct
2026-08-17 09:03:44 -04:00
bruno
8d93eece1e
watch : supervision d'un agent avec redemarrage automatique et backoff (issue #35 ) - check_once testable, notification desktop, Ctrl-C n'affecte pas l'agent detache
2026-08-17 08:58:19 -04:00
bruno
18784ba9f7
hooks : on_install/on_start/on_stop/on_update globaux (settings.hooks) et par projet (issue #34 ) - echec non bloquant, dry-run respecte, ordre global puis projet
2026-08-17 08:55:35 -04:00
bruno
30cc49de3c
sessions : am sessions --resume <id> (issue #32 ) - relance en arriere-plan avec les arguments et le cwd d'origine, cwd optionnel dans spawn_background, gardes running/repl/erreurs claires
2026-08-17 08:48:30 -04:00
bruno
ed795c522f
timeline : vue chronologique unifiee journal + historique REPL (issue #31 ) - filtres agent/projet/date, limite, parse_since partage
2026-08-17 08:45:03 -04:00
bruno
5f8b973789
start contextuel : am start sans argument lance l'agent par defaut du projet (issue #30 ) - resolution pure resolve_start_target, restart identique, REPL sans agent obligatoire
2026-08-17 08:13:19 -04:00
bruno
dc7372f277
projects : am projects (agregats par depot depuis le journal) + profils de projet dans la config (issue #29 ) - agent dominant, sessions, durees, cache projects.json rafraichi par doctor --fix
2026-08-17 08:10:42 -04:00
bruno
81c69db17b
history : reexecution (issues #27 #28 ) - expansion !! !N !prefix ^old^new dans le REPL + am history --rerun N avec confirmation (shell ou commande am)
2026-08-17 08:05:58 -04:00
bruno
4ef89cde72
search : recherche fuzzy avec scoring + suggestions vouliez-vous-dire (issue #26 ) - sous-chaine, subsequence, tolerance de frappe (Levenshtein), tri par pertinence
2026-08-17 08:01:39 -04:00
bruno
2eaafe6e2a
v0.3.0 : picoclaw en binaire 64-bit officiel (sipeed/picoclaw releases) + shims git en .cmd sur Windows (fini le batch renomme en .exe qui donnait Unsupported 16-Bit Application) avec routage via cmd.exe
2026-08-17 07:52:17 -04:00
bruno
deeb489b4e
v0.3.0 : menu d autocompletion - les barres verticales des menus en colonne unique (ex. completion de theme) prennent la couleur du cadre du theme
2026-08-17 06:55:07 -04:00
bruno
6ecfa0d21c
v0.3.0 : Phase 0 du ROADMAP livree - journal d'evenements, sessions, stats, log, historique structure, am init, quick wins; README et ROADMAP a jour
2026-08-16 22:48:53 -04:00
bruno
d4a6aeae1d
quick wins (issues #9 #10 #11 #12 #13 #16 ) : am logs (tail+follow), am list --running/--sort, am config set, am alias add/remove/list, dedup historique, am open
2026-08-16 22:45:11 -04:00
bruno
85d44f9e56
init+contexte : am init genere un agent-manager.yaml selon la stack detectee + contexte projet (git root, branche, stack) attache aux evenements et sessions (issue #8 )
2026-08-16 22:40:00 -04:00
bruno
c9e2543f50
history : historique structure par session + am history (issue #7 ) - migration one-shot de history.txt, filtres kind/cwd/search/failed/session, enregistrement REPL avec duree et exit
2026-08-16 22:34:48 -04:00
bruno
33748bea36
stats+log : am stats (agregats par agent, periodes 7d/30d/90d, barres ASCII) et am log (filtres agent/kind/date, limite) (issue #6 )
2026-08-16 22:30:41 -04:00
bruno
38b7a3a915
sessions : registre des sessions + commande am sessions (issue #5 ) - lifecycle agent/repl, reconciliation des sessions interrompues, compteur sessions_count, filtres agent/projet/statut, show avec extrait de log
2026-08-16 22:22:09 -04:00
bruno
c6518bcfd5
state : v2 avec sessions_count et last_used (issue #4 ) - migration additive persistee au premier contact, touch() sur start/run, fixture v1 testee
2026-08-16 22:16:44 -04:00
bruno
310da96a63
events : instrumentation start/stop/run/install/update/uninstall/doctor/repl/shell (issue #3 ) - un evenement JSONL par action reelle, dry-run sans evenement, session id sur start, duree et exit code sur stop/run
2026-08-16 22:13:49 -04:00
bruno
ba901df953
v0.2.14 : fallback web GitHub pour les releases - quand l API est rate-limitee, le tag vient de la redirection /releases/latest et les assets de expanded_assets (aucune limite) - jcode et zeroclaw installables sans GITHUB_TOKEN
2026-08-16 21:53:25 -04:00
bruno
e50e8d3e41
v0.2.14 : kimi-cli via uv (paquet PyPI kimi-cli, fini le npm inexistant) + uv venv autonome (python 3.13 gere par uv, plus besoin de python systeme pour les installs uv)
2026-08-16 21:41:21 -04:00
bruno
498af684c9
v0.2.14 : support GITHUB_TOKEN/GH_TOKEN pour l API GitHub (limite 60 -> 5000 requetes/h) et message clair sur le rate limit 403
2026-08-16 21:30:31 -04:00
bruno
2282f71829
v0.2.14 : correction install binaire - detection des archives par magic bytes (un zip renomme n est plus copie tel quel), preference des archives sur les setup/installers, validation de l executable (MZ/ELF/Mach-O) avec erreur claire avant le premier start
2026-08-16 21:23:08 -04:00
bruno
f968d7d0b0
v0.2.14 : 9 nouveaux themes - nord, solarized, gruvbox, catppuccin, tokyo-night, monokai, matrix, rose-pine, amber (15 au total), liste des themes sur deux lignes dans la banniere
2026-08-16 21:01:15 -04:00
bruno
b3437b0601
v0.2.14 : correction bordure haute du splash - les tirets a droite du titre gardent la couleur du theme (reset du titre ne casse plus le cadre)
2026-08-16 20:45:21 -04:00
bruno
4db567eebe
events : journal d'evenements JSONL (issue #2 ) - append-only, rotation mensuelle, lecture tolerante aux lignes corrompues, env_keys sans valeurs secretes, 8 tests
2026-08-16 13:49:11 -04:00
bruno
2bbe45e508
v0.2.14 : barres verticales des cadres aux couleurs du theme + commande theme dans le shell (theme liste les themes, theme <name> change a chaud, completion et menu synchronises)
2026-08-16 13:40:51 -04:00
bruno
4b0f02a7c4
v0.2.14 : cadres aux couleurs du theme - bordures des tableaux (list, search, status, doctor, ls, dir, ps, help), version, menu d autocompletion et banniere colorees par theme (border)
2026-08-16 13:17:07 -04:00
bruno
79143e197d
v0.2.14 : splash screen theme - art ASCII et bordures aux couleurs du theme, section Theme (theme actif + liste des themes disponibles), ligne de statut theme
2026-08-16 13:10:07 -04:00
bruno
14f873bfdd
v0.2.14 : aide Nushell, themes de couleurs et cadres blancs
...
- Aide facon Nushell : help <cmd>, <cmd> -h/--help, help, help commands,
help --find <texte>, help <agent> (fiche info) - sections Usage/Flags/
Command Type/Parameters/Input-output/Examples avec couleurs
- Commande version : tableau Nushell (commit, build, rustc, theme...) + --json ;
build.rs pour commit/branche git ; -V reste la version courte
- Themes : --theme <nom> (default, ocean, sunset, forest, dracula, mono)
+ settings.theme dans la config ; activation VT Windows pour les couleurs
- Cadres blancs Nushell partages : list, search, status, doctor, ls/ps/
where/get et menu d autocompletion Tab encadre (colonnes name/description)
2026-08-16 12:52:12 -04:00
bruno
979875fa63
v0.2.13 : prompt avec emojis colores — 🗂️ repertoire, 🤖 catalogue, 🌐 externes, 📊 geres, ⚡ duree de la derniere commande, ⏲ session
2026-08-16 10:43:26 -04:00
bruno
93c32b60ba
v0.2.12 : ligne de statut — temps dexecution de la derniere commande ( ⚡ ms/s) + ls parallele (tailles de dossiers reparties sur les coeurs, un seul appel de metadonnees par entree) — 130 entrees instantanees
2026-08-16 10:29:38 -04:00
bruno
0f4ba71219
v0.2.11 : ligne de statut et banniere — compteurs distincts agents externes (PATH) et agents geres (am install) pour lever l ambiguite du 0 installed
2026-08-16 10:08:54 -04:00
bruno
e7cb136c38
v0.2.10 : affichage ls/dir adapte a la largeur du terminal — detection de la largeur de la console (AM_TABLE_WIDTH pour tests), troncature de la colonne nom avec …, suppression des colonnes de fin si necessaire, une ligne par entree
2026-08-16 09:38:54 -04:00
bruno
57234b7a38
v0.2.9 : ps/where/get facon Nushell avec mini-pipeline (ls | where size > 1mb | get name), dir = ls sur Windows, ls beaucoup plus rapide (taille des dossiers bornee a 500 entrees), autocomplet : prefixe commun + menu avec descriptions + fallback chemins
2026-08-16 09:11:09 -04:00
bruno
3e1b66809a
v0.2.8 : navigation facon Nushell — commande ls en tableau encadre (type, taille, date), completion Tab des dossiers pour cd (niveau par niveau) et des chemins pour ls, descriptions dans le menu Tab
2026-08-15 23:42:32 -04:00
bruno
d886de322c
v0.2.7 : self-uninstall supprime maintenant le binaire — renommage immediat de l executable en cours dexecution (am.exe.deleteme) + script .bat temporaire avec reessais, balayage des dossiers vides et auto-suppression
2026-08-15 23:19:28 -04:00
bruno
bc38cd59e5
v0.2.6 : colonne AGENT (slug) dans am list + desinstallation des agents externes (npm/pip/uv/cargo/bun ou suppression des fichiers, shims .cmd gerees)
2026-08-15 22:20:51 -04:00
bruno
61f4909bc6
v0.2.5 : info enrichi (statut, versions, dependances verifiees) + self-uninstall tolerant (fichiers verrouilles / lecture seule, balayage des dossiers vides) + agent deepseek-harness au catalogue
2026-08-15 21:10:14 -04:00
bruno
ba07f42d09
v0.2.4 : prompt interactif style Hermes + passerelle shell systeme (shell <nom>, detection du shell par defaut) + desinstallation propre (self-uninstall)
2026-08-15 19:59:24 -04:00
bruno
2be5f8e8b2
v0.2.3 : execution shell des commandes avec pipe (rustup, bun, uv) + rafraichissement du PATH + python3 satisfait python
2026-08-15 16:42:47 -04:00
bruno
e513dd485d
v0.2.2 : suggestions d'installation selon l'OS (scoop/winget/apt/dnf/pacman/apk/brew) + README remanie
2026-08-15 12:56:33 -04:00