https://github.com/danielb2/reef
a plugin manager for fish-shell
https://github.com/danielb2/reef
fish fish-plugin plugin-manager
Last synced: about 1 month ago
JSON representation
a plugin manager for fish-shell
- Host: GitHub
- URL: https://github.com/danielb2/reef
- Owner: danielb2
- Created: 2025-06-11T10:08:49.000Z (9 months ago)
- Default Branch: master
- Last Pushed: 2025-10-03T09:59:07.000Z (5 months ago)
- Last Synced: 2025-10-12T23:41:43.376Z (5 months ago)
- Topics: fish, fish-plugin, plugin-manager
- Language: Shell
- Homepage:
- Size: 29.3 KB
- Stars: 9
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README

```plaintext
__
_ __ ___ ___ / _|
| '__/ _ \/ _ \ |_
| | | __/ __/ _|
|_| \___|\___|_| πͺΈπ
Usage: reef [options]
Subcommands:
add/install add corals
fish_reload reload the fish shell
help this beautiful help
ls/list list installed corals
reload reload reefs files (you probably dont need this)
rm/remove remove corals
splash show the reef splash
theme list or set new theme
up/update update coral(s)
version display reef version
```
# Install
```console
curl -sL https://tinyurl.com/fish-reef | source && reef add danielb2/reef && reef init
```
# reef
To stick with a fish theme, I've chosen to go with the name reef, and to keep
the metaphor going, plugins are called corals.
I made this because while I like the simplicity of fisher, I don't like how
everything is clobbered in the main fish folder. With this design, each plugin
has it's own folder while still keeping things very simple.
## compatability
Fisher, omf plugins, and anything following the standard `functions/`,
`conf.d/` etc directory structre are compatible. reef will not honor any
`init.fish` file however, although functionality can be copied into a file in
functions.
### events
just like fisher, events are emitted when plugins are installed, updated (attempted), or removed
for example: for danielb2/reef, the following events will be emitted:
- install: reef_install
- update: reef_update
- uninstall: reef_uninstall
example:
```fish
function reef_install --on-event reef_install
# handle setup
end
```
## themes
example:
```
reef add git@github.com:oh-my-fish/theme-bobthefish.git
reef theme # to see list of themes
reef theme bob # tab complete to fill it in
reef theme oh-my-fish/theme-bobthefish. # set new theme while backing up existing files
```
# notes
- no dependency tree