Extensions #7675
alexhancock
started this conversation in
General
Extensions
#7675
Replies: 1 comment 2 replies
-
|
I think recipes are too tightly coupled currently to move them out as an extension - it has its own ui, cli flags etc, so unless you'd imagine that would go away if you dissable the extension, I don't know that works. SImilarly, I think skills are so central these days to agentic flows that having them as an extension that you can switch off, seems wrong. I'd rather have a section in the UI for it. |
Beta Was this translation helpful? Give feedback.
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Extensions
We have some things I think we should clean up with extensions in goose.
1. Builtins vs Platform
We maintain two ways of having extensions which are automatically included in goose.
I propose we merge these concepts. @jamadeo has started some work making them look the same in the config file (#7630). We should use the platform extension approach, and migrate all the
goose-mcpextensions to the platform extension architecture. The main reason to have something built into goose should be tight integration to goose and the platform extension concept enables this better. Things that are just MCP servers (useful in other agents as well) can be included in a goose distribution via the "bundling process" referenced below, but need-not be in a crate in goose.2. Apply the unix philosophy
Right now we group certain things into shared extensions (for example the
summonextension does skills, recipes, and subagents). I propose we make extensions follow the unix philosophy of "doing one thing, and doing it well". In the case ofsummon,skillsshould be an extension,recipesshould be an extension,subagentsshould be an extension, etc. This will make them all simpler and more composable. As an example,subagentswould become a very small extension with a tool which enables a recursive goose and that's it.3. Bundling process
We maintain a concept of "bundled" extensions which are normal MCP extensions sourced from a JSON file at build time, and automatically included in a distribution of goose. We should update this flow to make sure it works well with the new approach to "builtin" extensions going away. The end result should be extensions that look exactly the same as normal MCP extensions but perhaps have a field disallowing them from being removed/having their config modified through the UI (for corporate distributions that want to provide stable config for bundled extensions
4. New defaults
After this process we can make a decision on what should be enabled by default from
Beta Was this translation helpful? Give feedback.
All reactions