Skip to content

PortableSheep/delve-plugins

Repository files navigation

Delve Plugins

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.

🚀 Quick Start

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

✨ Features

  • 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 amd64 and arm64 architectures.
  • 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).

📦 Repository Structure

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
...

🛠️ Developing and Building Plugins

Prerequisites

  • Go (1.21+)
  • Node.js (20.x+) and npm
  • yq for parsing YAML manifests
  • jq for parsing JSON

Building a Single Plugin

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.sh

Common Options:

  • --clean: Clean previous build artifacts before building.
  • --publish: Build the plugin and automatically update the api/plugins.json registry.
  • --version <vX.Y.Z>: Override the version specified in plugin.yaml.

For more options, run ./scripts/build-plugin.sh --help.

Creating a New Plugin

Refer to the BUILDING-PLUGINS.md guide for a detailed walkthrough on creating, building, and publishing a new plugin from scratch.

🤝 Contributing

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.

  1. Fork the repository.
  2. Create a new branch: git checkout -b feature/my-new-feature
  3. Make your changes.
  4. Build and test your plugin: ./scripts/build-plugin.sh [your-plugin]
  5. Commit your changes: git commit -am 'feat: Add some feature'
  6. Push to the branch: git push origin feature/my-new-feature
  7. Submit a pull request.

📄 License

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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors