-
Notifications
You must be signed in to change notification settings - Fork 17
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
Plugin support discussion #21
Comments
As a discussion prompt on the levels of integration that are possible, I've written up my understanding of a few existing plugin systems: Git Git takes a very relaxed integration standpoint with regular git commands. If a user wants to add #!/bin/bash
foo=$1
bar=$2
echo "doing something with $foo and $bar" Git also uses this pattern in more constrained ways, like git remote helpers. The git-ssb plugin uses this (I believe), installing a command called Both of these approaches involve git interacting with an executable (language/framework agnostic), and managing/discovering these plugins is done entirely separately. asdf-vm asdf is roughly a "tool version manager" that takes a similar sort of approach to handling plugins. These plugins do not add additional top-level commands, but rather, extend the capabilities of the Like git remote-helpers, asdf communicates with the plugin through executable files. Plugins must provide [a fixed set of executables](https://asdf-vm.com/#/plugins-create, named by convention, that behave in specific ways, as well as optional scripts. However, vim Vim plugins are simply VimL files put into the right places in special config directories, with some best practices that you may adhere to. It's basically the equivalent of *Vim now has a native package loader, but is not widely used. (Oh-my-zsh)[https://github.com/ohmyzsh/ohmyzsh/wiki/Plugins] is another tool with a plugin system that just This post is probably too long at this point, and I know that other plugin management solutions exist within the node ecosystem, but I am less familiar with them. |
I think this is pretty reasonable, especially given that hypercore has such an open potential for custom data structures. I like the git design -- very straightforward. What do yall think, @andrewosh and @mafintosh? |
It might be nice to have a structure for adding plugins to the core
hyp
CLI tool.This could have a couple of benefits:
With a couple of corresponding cons:
Questions to address:
The text was updated successfully, but these errors were encountered: