Migrating Tasks from Justfiles
Use Atmos as a task runner for the build, test, lint, release, and maintenance tasks your team currently runs with Just. This guide maps recipes, parameters, dependencies, and environment settings to Atmos custom commands and workflows.
Install the atmos-migration skill so Claude Code, Cursor, GitHub Copilot, and other AI coding
assistants can apply this guide directly to your repository:
atmos ai skill install atmos-migration
See AI Agent Skills for details.
Start with Your Existing Tasks
Task-runner adoption starts with an atmos.yaml file in your project. Stacks, components,
Terraform, and cloud credentials are optional; none are required for the tasks in this guide.
The examples use a Go application, but the same mapping works for other languages, documentation
builds, release scripts, and local development tools.
You can migrate one task at a time. To start, expose an existing task through Atmos:
Run atmos build from the project directory. When you are ready, replace just build with
the task's own commands. The examples below show that next step. They assume your existing
application, scripts, and required tools are available.
Key Concepts at a Glance
| Justfile concept | Atmos equivalent |
|---|---|
recipe param='default': | Command flags:/arguments: with a default: |
recipe: dep1 dep2 (recipe dependency) | Steps in order, or a parallel step with needs: |
# comment above a recipe | Command description: (replaces just --list) |
export VAR := value | Command or step env: map |
set dotenv-load | env: !include .env on the command, workflow, or step |
set shell := [...] | Per-step type: script with interpreter: |
[private] recipe | Command internal: true |
{{ }} interpolation | {{ .Flags.<name> }} / {{ .Arguments.<name> }} (a different tool) |