engine

package
v0.1.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 23, 2026 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ExecuteSteps

func ExecuteSteps(steps []dsl.Step, ctx dsl.Context, outputDir string, dryRun bool) ([]template.StepResult, error)

ExecuteSteps runs post-generation steps in order.

func ExecuteStepsWithObserver

func ExecuteStepsWithObserver(steps []dsl.Step, ctx dsl.Context, outputDir string, dryRun bool, obs StepObserver) ([]template.StepResult, error)

ExecuteStepsWithObserver runs steps and notifies an observer of progress.

func ListAll

func ListAll() ([]*template.Template, error)

ListAll returns all templates (local + built-in), without duplicates by name. Local templates take priority over built-ins when names collide.

func ProcessFiles

func ProcessFiles(req *template.ScaffoldRequest) (created []string, skipped []string, err error)

ProcessFiles copies/renders files from a template into the request OutputDir.

func Resolve

func Resolve(name string) (*template.Template, error)

Resolve finds a template by name, preferring local templates over built-ins.

Types

type Engine

type Engine struct{}

func New

func New() *Engine

func (*Engine) Scaffold

type RollbackManager

type RollbackManager struct {
	// contains filtered or unexported fields
}

RollbackManager tracks created files/dirs so we can roll them back on failure.

func NewRollbackManager

func NewRollbackManager(dryRun bool) *RollbackManager

func (*RollbackManager) Commit

func (r *RollbackManager) Commit()

Commit marks the operation as successful; rollback becomes a no-op.

func (*RollbackManager) Rollback

func (r *RollbackManager) Rollback() error

Rollback removes tracked files and dirs in reverse order. It returns a combined error if any deletion fails.

func (*RollbackManager) Track

func (r *RollbackManager) Track(path string)

Track registers a file to be removed if rollback occurs.

func (*RollbackManager) TrackDir

func (r *RollbackManager) TrackDir(path string)

TrackDir registers a directory to be removed if rollback occurs.

type StepObserver

type StepObserver interface {
	OnStepStart(step dsl.Step, interpolatedCommand string)
	OnStepSkipped(step dsl.Step)
	OnStepSuccess(step dsl.Step, output string)
	OnStepFailure(step dsl.Step, err error, output string)
}

StepObserver is an optional hook used to report step execution progress. All callbacks are best-effort; observers must be fast and must not panic.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL