feat: intelligent agent suggestion engine (v8.3.0)#7
Merged
dmicheneau merged 5 commits intomainfrom Mar 25, 2026
Merged
Conversation
Adds a recommendation engine that detects the project stack (languages, frameworks, tooling) and ranks agents by relevance using Jaccard scoring. - New recommender.mjs: detectProjectProfile(), analyzeQuery(), scoreAgents() — zero external deps - New data/triggers.json + data/ecosystem-intent-tags.csv for scoring signals - CLI: runSuggestFlow() — triggers on 'install' with no args, non-TTY auto-accepts - TUI: 'suggest' mode on startup when top score ≥ 0.1, updateSuggest reducer - Plugin: suggest_agents tool for in-chat agent recommendations - 69 manifest agents enriched with ecosystem/intent/related_agents fields - Tests: recommender.test.mjs (new), tui-suggest.test.mjs (new), +23 tests in cli/tui suites - Review fixes: score clamp ≤1.0, symlink guard, control-char strip, monorepo threshold, agentStates merge
- Show informative message instead of generic error when no suggestions available (all agents already installed or no stack detected) - Bypass installed-agent filter when --force is used with no positional arg, so force-mode re-suggests everything - Update two CLI tests that expected the old error behavior
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
installsans argument détecte automatiquement la stack du projet (langages, frameworks, outils) et propose les agents les plus pertinents avec un score de correspondancesuggest_agents: nouveau tool MCP pour obtenir des suggestions depuis un LLM avec requête optionnelle en langage naturelChangements
Nouveaux fichiers
src/recommender.mjs— moteur de recommandation (détection stack + scoring Jaccard)data/triggers.json— mapping stack → agentsdata/ecosystem-intent-tags.csv— tags enrichis pour 69 agentstests/recommender.test.mjs— tests unitaires du moteurFichiers modifiés
bin/cli.mjs—runSuggestFlow()+ gestion cas limites (non-TTY, --force, no-suggestions)src/tui/state.mjs— nouveau mode'suggest'+ reducerupdateSuggestsrc/tui/renderer.mjs—renderSuggest()+ migrationagentStatesMap → plain objectsrc/tui/index.mjs— détection stack au démarrage TUIsrc/lock.mjs— migrationagentStatesMap → plain objectmanifest.json— 69 agents enrichis avececosystem,intent,related_agentspackage.json—recommender.test.mjsajouté au script de test.gitignore—.opencode/*ignoréREADME.md/README.en.md— documentation v8.3.0CONTRIBUTING.md— comptage agents corrigé (69)Tests
814 tests, 0 fail (504 JS + 310 Python)
Comportement
Notes
ecosystem,intent,related_agents) optionnels — rétrocompatiblessuggestSelectedpré-rempli dans le TUI (opt-out) : Enter sans rien faire installe tout