This repository is the official collection of plugins for the Delve development environment. It serves as a central hub for both first-party and community-contributed extensions that enhance Delve's functionality.
To use these plugins, you need a running instance of Delve. The plugins in this repository can be discovered and installed directly from the Delve application by adding this repository as a remote registry.
Registry URL: https://raw.githubusercontent.com/PortableSheep/delve-plugins/main/api/plugins.json
- Automated Registry: The plugin registry is automatically updated with every new build, ensuring that the latest versions are always available.
- Standardized Builds: A unified build system (
scripts/build-plugin.sh) handles the compilation, packaging, and publishing of all plugins. - Cross-Platform: Plugins are built for macOS, Linux, and Windows on both
amd64andarm64architectures. - Diverse Plugin Types:
- Themes: Customize the look and feel of Delve (e.g.,
catppuccin-theme,synthwave84-theme). - Development Tools: Add new capabilities and workflows (e.g.,
github-dashboard,json-linter-formatter). - Integrations: Connect Delve to external services and APIs (e.g.,
http-client).
- Themes: Customize the look and feel of Delve (e.g.,
delve-plugins/
├── api/
│ ├── plugins.json # The master plugin registry file
│ └── plugins/ # Hosted plugin binaries and assets
├── scripts/
│ ├── build-plugin.sh # Master script to build, package, and publish a plugin
│ └── update-registry.sh # Script to update the plugins.json registry
├── [plugin-name]/ # Directory for an individual plugin
│ ├── plugin.yaml # The plugin manifest (required)
│ ├── main.go # Go source for the plugin backend
│ ├── frontend/ # Vue/TS source for the plugin frontend
│ ├── releases/ # Packaged builds of the plugin
│ └── README.md # Plugin-specific documentation
...
The build script is the primary tool for development. You can run it from the root of the repository or from within a plugin's directory.
# From the repository root
./scripts/build-plugin.sh [plugin-name]
# From within a plugin's directory
../scripts/build-plugin.shCommon Options:
--clean: Clean previous build artifacts before building.--publish: Build the plugin and automatically update theapi/plugins.jsonregistry.--version <vX.Y.Z>: Override the version specified inplugin.yaml.
For more options, run ./scripts/build-plugin.sh --help.
Refer to the BUILDING-PLUGINS.md guide for a detailed walkthrough on creating, building, and publishing a new plugin from scratch.
Contributions are welcome! Whether you're fixing a bug, adding a new feature, or creating a new theme, please follow the guidelines in CONTRIBUTING.md.
- Fork the repository.
- Create a new branch:
git checkout -b feature/my-new-feature - Make your changes.
- Build and test your plugin:
./scripts/build-plugin.sh [your-plugin] - Commit your changes:
git commit -am 'feat: Add some feature' - Push to the branch:
git push origin feature/my-new-feature - Submit a pull request.
This repository is licensed under the MIT License. See the LICENSE file for more details. Individual plugins may have their own licenses, which can be found in their respective directories.