Description
🎯 Aim of the feature
The aim is to clarify list of LLM Tools SPFx Toolkit could provide as part of the extension.
The idea is to allow to manage SharePoint Online from within VS Code when chatting with GitHub Copilot in agent mode.
Currently how it works (already part of current pre-release) is that each LLM Tool wraps one (but may wrap more) CLI for Microsoft 365 command. We could just provide everything that is possible to manage using CLI for SPO but first of all some commands don't make sense to run from LLM and second of all we need to respect limits. Although there is no confirmed number what is the max number of tools we may have in agent mode it is clear that the more tools we have the worse as GitHub Copilot Agent may just get lost and may not know what tool should be used so in order to avoid that we should create tools only for the things we consider that might be helpful for SPFx development (since it's SPFx Toolkit) and each tool should have very good description (short and clear) for the LLM so Copilot will know what to use.
What I was initially thinking was providing a totally new way of provisioning the needed resources for SPFx development. So usually we need to create some sites, lists or libraries, some list items, pages, maybe change some settings, create some content types or maybe manage term store values, add and install apps (webparts) etc. Currently I added a few tools that allow to do basic operations on site, lists, apps and add a page but lets explore if those are actually needed and what tools would be best to have.
Some things to consider
- Lets use CLI for Microsoft 365 SPO commands to check what is possible as most probably each tool will use one or more of those commands.
- Lets set a hard number limit to max 60 tools (for now, maybe we could think of 70-80 tools but no more for sure)
- Lets also think of other tools that might be helpful that are not connected to managing SharePoint, for example to search the PnP SPFx webpart samples repo for a sample most similar to our prompt and show or download it for the user.
- After we confirm the tools lets group them into smaller sub issues and get it shipped
📷 Images (if possible) with expected result
The aim is to extend GitHub Copilot Agent with tools that it may use to resolve user prompt to take action
demo how it works -> https://1drv.ms/v/c/e82bbd5e6a08f219/EXYLrH3aOUlDkKBQbrYibpwBIWsVp_qCRLZULAginYZxFw?e=gJ2R1v
🤔 Additional remarks or comments
follow up for initial work done in issue #441
Initial commit that added this feature 665355d
It is quite straight forward and easy.
docs: https://code.visualstudio.com/api/extension-guides/tools