Welcome to the Puppet Plugins repository! This is a community-driven collection of plugins for the Puppet Plugin Launcher. Here, developers can share their plugins by adding them to the plugins.json
file, which is automatically validated and reviewed before inclusion.
This repository serves as a central hub for:
- Discovering community-created plugins for the Puppet Plugin Launcher
- Sharing your own plugins with the Puppet community
- Maintaining a curated list of plugins in
plugins.json
To add your plugin to this repository, follow these steps:
- Create a release in your own GitHub repository containing your plugin
- Include the following assets in your release:
readme.md
: Documentation for your pluginplugin.wasm
: The compiled WebAssembly plugin filemanifest.json
: Plugin metadata
- If your plugin requires additional files or executables:
- Add them as release assets
- These files (except
readme.md
,plugin.wasm
,manifest.json
, and source code) will be placed in your plugin'sdata
folder
- Use semantic versioning for your release tag (e.g.,
v1.0.0
)
- Fork this repository (https://github.com/Mr-1311/puppet-plugins)
- Edit
plugins.json
to add your plugin as a JSON object:{ "name": "your-plugin-name", "author": "Your Name", "description": "Brief plugin description", "platforms": ["macos", "windows", "linux"], "repo": "https://github.com/your-username/your-repo" }
- Requirements:
- name: Must be unique (search plugins.json to confirm) and cannot contain "puppet" or "official"
- platforms: Must be a subset of ["macos", "windows", "linux"]
- repo: Must be a valid GitHub URL
- Add a comma after the previous entry's closing brace } if you're not adding the last entry
- Make no other changes to the repository
- Create a pull request (PR) with your changes to plugins.json
- Use the provided PR template (automatically loaded) to document your submission
- Use your plugin name as PR title
- The automated workflow will validate your PR and label for last human check
A GitHub Action workflow automatically processes your PR:
- Validation Checks:
- Only plugins.json is modified
- JSON syntax is valid
- Exactly one new plugin is added
- All required fields are present
- Plugin name is unique and follows naming rules
- Platforms are valid
- Repository URL is a valid GitHub URL
- Outcomes:
- If validation fails: A comment will be added to your PR with the specific error
- If validation succeeds:
- The PR will be labeled "ready to merge"
- Assigned to maintainer for final review
- You’ll receive a comment confirming success
MIT License
Thank you for contributing to the Puppet Plugins community!