pipe-cd / pipe-cd/pipecd

[Pipedv1] Plugin scaffold generator

Open
#6,693 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area/hack area/pipedv1 epic help wanted
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.