We need a new feature: the armory. The armory consists of:
Store these as:
data-dir/
...
armory/
skills/
...
plugins/
[provider]/
...
dotfiles/
...
dotfile-map.json
These are stored inside of the data directory of the bridge. The bridge will inform the ship whenever the state of these changes, and the ship will query the files to put them in place.
Do not worry about being able to edit these with the CLI/web client--the user should manually edit them in the bridge's directory (or sync it from git). In the web client add another page under ships called "Armory" that allows browsing and viewing these files (but not editing) as well as a way to do the same under the client cli.
Skills
Each skill should follow the standard skill schema inside of its own directory and be automatically installed to each provider by the ship (using the way we have already developed).
Plugins
Plugins are not cross-provider: each provider has its own directory of plugins. The fleet ship should simply handle downloading the plugin from the bridge and placing it in the correct place, since many providers are complicated.
Dotfiles
This is for stuff like the .tmux.conf, your claude config file, or neovim config. The dotfile-map.json should contain a map of what files should go where. The ship should sync the dotfiles to its own directory, and then symlink them to the proper places based on the dotfile-map.json. Both directories and files are allowed here.
We need a new feature: the armory. The armory consists of:
Store these as:
These are stored inside of the data directory of the bridge. The bridge will inform the ship whenever the state of these changes, and the ship will query the files to put them in place.
Do not worry about being able to edit these with the CLI/web client--the user should manually edit them in the bridge's directory (or sync it from git). In the web client add another page under ships called "Armory" that allows browsing and viewing these files (but not editing) as well as a way to do the same under the client cli.
Skills
Each skill should follow the standard skill schema inside of its own directory and be automatically installed to each provider by the ship (using the way we have already developed).
Plugins
Plugins are not cross-provider: each provider has its own directory of plugins. The fleet ship should simply handle downloading the plugin from the bridge and placing it in the correct place, since many providers are complicated.
Dotfiles
This is for stuff like the
.tmux.conf, your claude config file, or neovim config. The dotfile-map.json should contain a map of what files should go where. The ship should sync the dotfiles to its own directory, and then symlink them to the proper places based on the dotfile-map.json. Both directories and files are allowed here.