Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Plugin System #1

Open
lalalune opened this issue Jun 14, 2022 · 1 comment
Open

Add Plugin System #1

lalalune opened this issue Jun 14, 2022 · 1 comment

Comments

@lalalune
Copy link
Contributor

We've been doing some interesting things with Thoth, including adding some different nodes and additional support containers to make "agents".

A lot of that work is hacky and really belongs in it's own repo. Some of the work on the core is useful fixes and optimizations that came up in development and could be pushed upstream, but it's all mixed in with the other stuff. Generally, we want to add nodes, handlers, routes, etc that might just be adding bloat for many users.

A plugin system that lets us hook in to routes etc would be incredibly helpful.

@parzival418
Copy link
Contributor

Agreed. I have been thinking that a "plugin" (which I think we would need to list as dependencies inside the spells json so we could install them when running if needed) could encapsulate a bunch of stuff:

Core:

  • a set of components
  • new inspector controls

Server:

  • additional routes to the server those components need to run
  • database additions/modifications for those routes

Client:

  • new workspaces with windows, menu bar items, events
  • inspector components to match the inspector elements on the components

First step towards this would be to move all these related things into their own feature specific folders, and start to create loading mechanisms for them. Then we can move to separating them out entirely into their own packages. We could go XRE style and pull in a git repo, or we could go for published packages via NPm (or of course both)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants