Coding agent orchestration in TypeScript
Your agents.One TypeScript workflow.
Turn a brief into code, commits and a result you can check. Choose the agent and its sandbox. Connect tasks, tests and decisions in the code of your project.
npm install @elie-laloum/outpostyarn add @elie-laloum/outpostbun add @elie-laloum/outpostpnpm add @elie-laloum/outpostNode.js 24+ · Git · Docker for the example below
Example workflow
From brief to commit, with every step explicit.
- Define the workA repository, a brief and a branch for the task.
- Run your agentCodex, Claude Code or another agent in your chosen sandbox.
- Run your checksYour criteria decide what follows: fix, continue or stop.
- Review the commitsYou decide which changes to integrate.
outpost/fix-testsThe fix and its commits, ready for review.Build this workflow- Less setup around every taskLet Outpost prepare the sandbox and Git workspace. Focus on the change.
- Your checks set the standardPut tests and human approval between an agent's suggestion and your next step.
- Work you can pick up againCheckpoint a workflow and resume it after an interruption.
One task now. A workflow when you need it.
Section titled “One task now. A workflow when you need it.”Start by giving Codex a fix in its own Docker sandbox and Git workspace. Your current checkout stays available while the agent works. The named branch keeps the commits for review; this call does not integrate them.
Save these two files in your repository and run node task.ts. The reporter prints progress and token usage; result keeps the answer and commits available to your code. Use a new branch name for each task. Asking the agent to run tests is an instruction; the verification loop adds the check that decides whether to accept the work.
Run your first task to understand the result, then compose a workflow to connect it to the next step.
Deliver a CSV export, from ticket to branch
Section titled “Deliver a CSV export, from ticket to branch”A ticket asks for a CSV export of the orders list. A planning agent identifies the files and expected behavior; a coding agent implements the change. Tests and a second agent’s review run in parallel, then their results are collected. A failed check sends its findings back to the coding agent, within three attempts. Once both checks accept the work, the maintainer approves delivery.
The dependencies join tests and review before the verdict. The correction loop reuses the workspace; the approval gate stores its pending decision in a checkpoint. Each arrow represents a step your TypeScript code controls.
- Feed failed checks into the next attemptReturn test failures and review findings, with a fixed limit on rounds.
- Run independent checks togetherDeclare dependencies and choose how many tasks can run at once.
- Approve delivery before continuingPersist the pending decision and resume with the maintainer’s answer.
Start with work already on your plate
Section titled “Start with work already on your plate”You don’t need a whole automation platform to get value from an agent. Start with a broken build, a review waiting for attention or maintenance that keeps slipping. These recipes show the agents, checks and results involved.
- Get a failing CI build moving againGive an agent the failure, run the checks and feed back what still needs fixing.
- Get another pair of eyes on a pull requestQueue a review from a label and receive a structured verdict your workflow can use.
- Give recurring maintenance a scheduleRun dependency updates on dated branches and collect a report.
Keep your tools. Choose how they work together.
Section titled “Keep your tools. Choose how they work together.”Use Codex for one task, Claude Code for another, or your own agent loop. Choose the execution environment independently. Your workflow is TypeScript you can read, version and extend alongside your project.
What you can build with Outpost
Choose your agents, coordinate their tasks and keep the results available for the next step. Each capability has its own guide.
Agents and sandboxes
Choose the coding agent independently of its execution environment: containers, cloud sandboxes or explicit local execution.
Git workspaces
Give each task its own worktree, retain named branches and choose when to integrate the commits.
Typed workflows
Connect task outputs with dependencies. Run independent tasks in parallel and pass typed values between steps.
Validated responses
Define the expected JSON schema, validate the answer and request repairs when an agent returns an invalid response.
Human decisions
Pause for approval or let an agent ask questions. Save the answers before continuing the workflow.
Resumable runs
Checkpoint finished tasks and cumulative usage. Resume a workflow with explicit recovery after an interruption.
Your own agent loop
Compose a model provider, sandbox tools, MCP servers and bounded subagents with the built-in harness.
Scheduled automation
Publish jobs from schedules and verified webhooks. Workers execute the queued workflows.
Usage and execution traces
Follow events, read journals and export telemetry. Track reported tokens and set workflow budgets.