[Pipedv1] Plugin scaffold generator
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 1.4k
- Forks
- 364
- Avg merge
- 1d 4h
- Merged PRs (30d)
- 84
Description
What would you like to be added:
A CLI tool that generates the full scaffolding structure for a new PipeCD deployment plugin. The tool accepts flags for plugin name, stage definitions, and optional features (livestate, planpreview, rollback), then generates a ready-to-compile plugin with the correct directory layout, typed config structs, stage constants, pipeline builders, and per-stage executor stubs
Why is this needed:
Creating a new plugin currently requires manually replicating boilerplate across multiple files (main.go, config/, deployment/pipeline.go, deployment/plugin.go, stage files, etc) while ensuring the correct interface is satisfied and naming conventions are followed
This is time consuming for developers. We need a way to reduces friction and a scaffold generator reduces
The inspiration is from how kubebuilder help developers build K8s API by generating boilerplate code, let them focus on the main logic. And I believe in our case a scaffold generator lets developers focus on implementing stage logic
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by inspecting the existing plugin layout, including main.go, config/, deployment/pipeline.go, deployment/plugin.go, and the stage files, to identify the interfaces and naming conventions the generator must reproduce. Define the CLI flags for plugin name, stages, and optional features, then verify that generated output has the requested structure, typed config, stage constants, pipeline builders, executor stubs, and compiles.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- cli, developer-experience, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 40/100