After the first day of diving deeper into building Add-Ons. I've realised my scope is way too large and I need to sort out my thoughts so I can work on the barebone framework first and build up features from there on out.
Below I'll list all the things that went through my head, this list is non exhaustive and will be updated in the future to better shape this project.
0) understanding editor addons auth states onOpen I need to consider how my addon menu interacts with: installed for user, enabled in document and both states. In essence I just need two menu items: Launch Add-on (greyed out for not-installed states) and Toggle Sidebar or whichever naming sense feels more natural when interacting with it. which would be greyed out for non enabled states.
1) Allow users to use their own ChatGPT API Key at first. Store simple key in user script properties
2) Allow users to share their API with collaborators securely using document script properties
3) Set up simple cryptography using uuid
4) Improve security by using third party library
5) Set up my own cryptography library
6) Create simple sidebar (hotkeys and custom top level menus are not allowed unfortunately)
7) Get everything working before building an external chatgpt library.
8) I dont want the sidebar to clone how you would manually use chatgpt, instead I'd like to create simple functions for (paraphrasing, translating, finding sources, drafting copy, editing copy. Priority would be to be able to read document selection, cursor position etc.
9) Future renditions would include a try-for-free option that assigns limited tokens on a service account api key of my own.
10) If the user doesn't have their own chatgpt account I want to offer some form of subscription service later on, but only when everything is robust enough to offer a high quality level of service.