The Full Pipeline
telesis run is the complete orchestration command. It takes a work item and drives it through the entire lifecycle — planning, execution, validation, committing, pushing, PR creation, and issue closure — with human gates where they matter.
Basic Usage
| |
This starts the pipeline. Telesis will:
- Create a plan from the work item
- Show you the plan and ask for approval (interactive prompt)
- Execute tasks sequentially with validation
- Stage all changes and create a single commit
- Push the branch to the remote
- Create a PR (if configured)
- Close the source GitHub issue (if configured)
Pipeline Stages
The pipeline moves through a defined sequence of stages:
| |
Each stage transition emits a pipeline:stage_changed event through the daemon event backbone, so you can monitor progress in real time with telesis daemon tui.
Planning
Telesis calls the planner agent to decompose the work item into a task graph. This is identical to telesis plan create — the plan includes tasks with dependencies, acceptance criteria, and a topological ordering.
Approval Gate
By default, Telesis shows you the generated plan and waits for confirmation before executing. This is the most important human gate in the pipeline — it’s your chance to review what the agent is about to do.
Skip the approval prompt:
| |
Or configure it globally:
| |
Execution
Tasks are dispatched sequentially, respecting dependencies. After each task, the validation agent checks the output against acceptance criteria. Failed validations trigger retries (up to the configured limit). Exhausted retries escalate the task.
Skip validation:
| |
Review Gate (Optional)
If pipeline.reviewBeforePush is enabled in your config, Telesis runs a code review after execution and before committing. If findings exceed the configured severity threshold, the pipeline pauses.
| |
Skip review for a single run:
| |
Quality Gates (Optional)
If pipeline.qualityGates is configured, Telesis runs automated checks after execution and before committing. Each gate is a named slot with a configurable shell command:
| |
Gates run in order: format, lint, test, build, drift. If any gate fails, the pipeline stops. Set a gate to null to skip it.
Skip all quality gates for a single run:
| |
Commit Squashing
During execution, agents may create multiple intermediate commits. The pipeline squashes all agent commits into a single pipeline commit, keeping the git history clean. The final commit contains all changes from the plan as one atomic unit.
Commit
All changes from the plan are committed together — one commit per plan. The commit message is generated from the plan and work item, including task summaries and the work item ID for traceability.
LLM-Generated Commit Messages
When git.llmCommitMessages is enabled, the commit message is generated by an LLM from the diff and plan context rather than assembled from templates. This produces more natural, descriptive messages.
| |
Push
The branch is pushed to the remote. You can skip this:
| |
PR Creation
If git.createPR is enabled, Telesis creates a GitHub pull request. This requires GITHUB_TOKEN to be set.
When git.llmPRBody is enabled, the PR description is generated by an LLM from the plan and diff context, producing a structured summary with sections and test plans.
| |
Issue Closure
If pipeline.closeIssue is enabled and the work item originated from a GitHub issue, Telesis closes the source issue with a comment linking to the PR.
Options
| Flag | Purpose |
|---|---|
--agent <name> | Select which agent to use (default from config) |
--auto-approve | Skip the plan approval prompt |
--no-push | Skip pushing to remote |
--no-validate | Skip post-task validation |
--no-review | Skip review even if configured |
--no-quality-check | Skip quality gates |
--resume | Auto-resume from partial state without prompting |
--restart | Discard partial state and start fresh |
--branch <name> | Override the auto-generated branch name |
Branching Behavior
By default, Telesis creates a new branch for each pipeline run, prefixed with the configured branch prefix:
| |
Override the branch name:
| |
Or commit directly to the current branch (useful for small fixes):
| |
Resumability
The pipeline persists its state to .telesis/pipeline-state/ after each stage transition. If the pipeline is interrupted — by a crash, a Ctrl-C, or a failed quality gate — you can pick up where you left off:
| |
This skips already-completed stages and resumes from the last successful checkpoint. Without --resume, Telesis detects the partial state and prompts you to choose: resume or restart.
To discard partial state and start the pipeline from scratch:
| |
Configuration
The full set of pipeline-relevant configuration:
| |
Failure Handling
If any stage fails, the pipeline stops and reports the failure. Pipeline state is persisted, so you can resume after fixing the issue:
| |
To investigate what went wrong, check the dispatch session logs:
| |
Or start fresh:
| |
Example Workflow
| |