ubgo is in early alpha: libraries and APIs may still change.

Skip to content
ubgo Alpha

lath cli

A task runner where tasks are typed Go functions and a deploy runs the same on a laptop, over ssh and in CI.

go install github.com/ubgo/lath/cmd/lath@latest
Language
Go
Go version
–
Core deps
–
Latest tag
4 streams
License
Apache-2.0
Go modules
6

How it fits together

lathGo · Apache-2.0PACKAGESkitkitpipelinepipelinestepssteps

Code from the README

func Name()
func Name() error
func Name(ctx context.Context) error
func Name(args ...string) error
func Name(ctx context.Context, args ...string) error

From the lath README.

At a glance (from the README)

ModuleDepends onWhy it is separate
github.com/ubgo/lath/pipelinenothing of oursthe engine is domain-free: no Docker, no SSH, no notion of a deploy. Reusable for any staged process.
github.com/ubgo/lath/stepsgithub.com/ubgo/lath/pipelinethe deploy primitives. A project can swap these wholesale without touching execution semantics.
github.com/ubgo/lath/cmd/lathkit, pipeline, for the debugger onlythe runner compiles a definition; it never imports one, and links no deploy library. The two exceptions are the step debugger’s transport, which both ends must agree on.
deploydefpipeline, steps, never the runnerthe definition. A nested module outside go.work, so its dependencies never enter the application’s module graph.