Running langship pipelines push file.json only surfaces validation
errors after a server round-trip. When iterating on pipelines locally,
it would be much faster to catch structural issues before pushing.
I'd like to add:
langship pipelines validate <file>
This command would perform local validation only (pure Python, no server dependency).
Proposed checks:
- valid JSON/YAML
nodes exists and is a non-empty array
- each node has
id, name, and type as non-empty strings
- no duplicate node ids or names
- exactly one trigger node (matching parser rules in
pkg/engine/parser.go)
- connections reference valid node names
position is a pair of numbers if present
The command would return a non-zero exit code on validation failure,
making it usable in CI/pre-commit workflows.
I already have a working implementation in my fork and can open a PR if this approach sounds reasonable.
Running
langship pipelines push file.jsononly surfaces validationerrors after a server round-trip. When iterating on pipelines locally,
it would be much faster to catch structural issues before pushing.
I'd like to add:
This command would perform local validation only (pure Python, no server dependency).
Proposed checks:
nodesexists and is a non-empty arrayid,name, andtypeas non-empty stringspkg/engine/parser.go)positionis a pair of numbers if presentThe command would return a non-zero exit code on validation failure,
making it usable in CI/pre-commit workflows.
I already have a working implementation in my fork and can open a PR if this approach sounds reasonable.