Add Make/Just/Task migration guides; fix two Atmos config bugs - #2896
Add Make/Just/Task migration guides; fix two Atmos config bugs#2896Erik Osterman (Cloud Posse) (osterman) wants to merge 19 commits into
Conversation
Extend the atmos-migration skill and docs to cover moving task-runner orchestration (Make, Just, Task) to Atmos custom commands and workflows, alongside the existing native-Terraform/Terraform-Workspaces coverage. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…on-skill # Conflicts: # agent-skills/skills/atmos-migration/SKILL.md
…os.d subcommands A directory's own inline atmos.yaml commands: entry named the same as a command discovered from git-root .atmos.d (e.g. an unrelated outer project's dev tooling) silently inherited that command's subcommand tree and other subcommand-referencing fields such as default:. Treat a leaf command with no commands: key as fully authoritative instead of merging it field-by-field against the discovered default. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…e_pattern createComponentStackMap derived a component's logical stack name via a stricter, older code path that predated zero-config filename-based stack naming (#1934), so atmos validate stacks hard-failed on any repo that terraform plan, list stacks, and describe component already resolved stacks for fine, including this repo's own examples/native-terraform. Reuse resolveStackName's precedence (manifest name > name_template > name_pattern > filename) instead. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…ides Field-testing the new Makefile/Justfile/Taskfile migration references against real fixtures and the real atmos binary surfaced several gaps: from-native-terraform.md's Shape B recipe used a component name that never resolved (component names must match the physical directory); workflows.base_path has no default and needs to be called out; an orphaned [private] Justfile recipe and Just's command-echo behavior weren't addressed; from-taskfile.md overstated the need for `import:` when atmos.d/.atmos.d is auto-discovered; and the migration docs sidebar order contradicted the pages' own sidebar_position values. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
Tip Atmos Pro
No affected stacks workflow was detected for this pull request. |
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
📝 WalkthroughWalkthroughThe change expands task-runner migration guidance, adds hidden-command help, tightens command merging, updates stack-name resolution, improves short-write recovery, and adds related documentation and tests. ChangesMigration guidance
Hidden command help
Runtime validation
Buffered output
Estimated code review effort: 4 (Complex) | ~60 minutes Sequence Diagram(s)sequenceDiagram
participant User
participant HelpTopics
participant HelpRenderer
User->>HelpTopics: request --help=hidden
HelpTopics->>HelpRenderer: render hidden topic
HelpRenderer->>User: display direct hidden subcommands or empty-state message
Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 5
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@agent-skills/skills/atmos-migration/references/from-justfile.md`:
- Around line 42-45: Update the Common Problems link in the migration
instructions to use the fragment
`#interpolation-looks-like-atmos-templates-but-is-not`, matching the heading at
line 139; do not change the surrounding parameter-conversion guidance.
In `@agent-skills/skills/atmos-migration/references/from-makefile.md`:
- Around line 134-135: In every listed single-directory Terraform example,
update the atmos command’s component argument from infra to terraform, matching
the physical terraform/ directory:
agent-skills/skills/atmos-migration/references/from-makefile.md:134-135;
agent-skills/skills/atmos-migration/references/from-justfile.md:101-102;
agent-skills/skills/atmos-migration/references/from-taskfile.md:101-102;
website/docs/migration/makefile.mdx:102-103;
website/docs/migration/justfile.mdx:98-99;
website/docs/migration/taskfile.mdx:71-72.
- Around line 192-195: Update
agent-skills/skills/atmos-migration/references/from-makefile.md lines 192-195 to
remove the required import step for atmos.d/commands.yaml. In
website/docs/migration/taskfile.mdx line 33, remove “+ root import:” from the
mapping table; at lines 176-178, state that files in the listed discovery
directories require no import; and at line 206, revise the checklist to
distinguish auto-discovered files from manually imported files.
In `@agent-skills/skills/atmos-migration/references/from-taskfile.md`:
- Around line 42-44: Update the migration guidance for converting cmds entries
so custom Atmos commands such as atmos build remain type: shell. Reserve type:
atmos only for native Atmos verbs, such as terraform plan, and revise the
condition in the surrounding conversion instructions accordingly.
In `@website/docs/migration/taskfile.mdx`:
- Around line 179-181: Update the migration documentation to state that users
must explicitly configure workflows.base_path, using "stacks/workflows" as the
example value, and remove the claim that this path has a default or requires no
additional setup.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: 96604a31-b260-4ab9-be43-e17fbcd65c03
📒 Files selected for processing (14)
agent-skills/AGENTS.mdagent-skills/skills/atmos-migration/SKILL.mdagent-skills/skills/atmos-migration/references/from-justfile.mdagent-skills/skills/atmos-migration/references/from-makefile.mdagent-skills/skills/atmos-migration/references/from-native-terraform.mdagent-skills/skills/atmos-migration/references/from-taskfile.mdinternal/exec/validate_stacks.gointernal/exec/validate_stacks_test.gopkg/config/command_merge_core_test.gopkg/config/load.gowebsite/docs/migration/justfile.mdxwebsite/docs/migration/makefile.mdxwebsite/docs/migration/taskfile.mdxwebsite/sidebars.js
- Use the terraform component name (matching the physical terraform/ directory) instead of the never-resolving infra in every single-directory Makefile/Justfile/Taskfile example, consistent with the from-native-terraform.md Shape B fix. - Reserve type: atmos for native Atmos verbs only in from-taskfile.md's Shape A guidance; calling another custom command still needs type: shell. - Fix from-justfile.md's Common Problems link fragment (verified against the actual github-slugger algorithm). - Stop telling readers import: is required for auto-discovered atmos.d/.atmos.d files in from-makefile.md and website/docs/migration/taskfile.mdx. - Document that workflows.base_path has no default in website/docs/migration/taskfile.mdx, matching the equivalent fix already applied to the agent-skill references. - Normalize from-native-terraform.md's odd-space (3/5/7) list-continuation and nested-YAML indentation to even, matching the EditorConfig multiple-of-2 rule applied to the other reference files earlier in this branch. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Dependency Review✅ No vulnerabilities or license issues found.Scanned FilesNone |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #2896 +/- ##
==========================================
+ Coverage 82.93% 82.98% +0.04%
==========================================
Files 1879 1879
Lines 182633 182790 +157
==========================================
+ Hits 151474 151680 +206
+ Misses 23343 23294 -49
Partials 7816 7816
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
Custom commands can now set `hidden: true` to stay runnable (directly, as a `default:` target, or from another command's steps) while dropping out of `--help` listings, completions, and the AI `atmos_list_commands` tool. This closes the gap the Just/Task/Make migration guides used to call "no match", where a `[private]`/`internal: true` recipe or task needed to be reusable across callers or invoked directly for debugging rather than folded into a single caller's step. Add a matching `--help=hidden` topic to reveal a command's hidden subcommands on demand; the default-help hint only mentions it when a command actually has one, to avoid cluttering the common case. Refresh the affected migration guides (website + agent-skills mirrors) to point at `hidden: true` instead of the old "no match" guidance, and add previously-missing coverage for Task's `internal: true` flag. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
The Check Markdown Links workflow failed on the SOURCE_DATE_EPOCH citation in docs/prd/archive-step.md with "Connection refused". The domain refuses connections from every network tested (CI, curl, and WebFetch), not just this path or CI specifically — an upstream outage, not a broken/moved link — so exclude it the same way other known-flaky external docs are already handled in this file. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@cmd/cmd_utils_test.go`:
- Around line 2428-2462: Replace the POSIX printf and shell-redirection sentinel
in TestHiddenCommandStillExecutesDirectly with an existing platform-independent
execution seam or Go-native helper process, while preserving verification that
the hidden command runs its steps; apply the same replacement to
cmd/cmd_utils_test.go lines 2503-2540 for the hidden default-child test.
In `@lychee.toml`:
- Around line 192-197: Replace the broad reproducible-builds.org exclusion in
the Lychee configuration with an exact URL or narrowly scoped path pattern
matching only the affected link referenced by docs/prd/archive-step.md. Keep
unrelated links on the domain subject to link checking.
In `@website/docs/migration/justfile.mdx`:
- Line 110: Align the Terraform component argument with the legacy layout shown
in each example: update website/docs/migration/justfile.mdx lines 110-110 and
133-133, website/docs/migration/makefile.mdx lines 114-114, and
website/docs/migration/taskfile.mdx lines 84-84. Either parameterize the
component variable or use a matching example component such as vpc/database, and
include the corresponding components.terraform.base_path or Atmos layout so the
command targets the documented directory.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: 6641f49d-b824-4201-bbe5-3734481c46d0
📒 Files selected for processing (22)
agent-skills/skills/atmos-introspection/SKILL.mdagent-skills/skills/atmos-migration/references/from-justfile.mdagent-skills/skills/atmos-migration/references/from-makefile.mdagent-skills/skills/atmos-migration/references/from-native-terraform.mdagent-skills/skills/atmos-migration/references/from-taskfile.mdcmd/cmd_utils.gocmd/cmd_utils_test.gocmd/help_template.gocmd/help_topics.gocmd/help_topics_render.gocmd/help_topics_test.godocs/prd/topic-specific-cli-help.mdlychee.tomlpkg/datafetcher/schema/atmos/config/1.0.jsonpkg/schema/command.gowebsite/docs/cli/configuration/commands/command/commands.mdxwebsite/docs/cli/configuration/commands/command/index.mdxwebsite/docs/migration/justfile.mdxwebsite/docs/migration/makefile.mdxwebsite/docs/migration/native-terraform.mdxwebsite/docs/migration/taskfile.mdxwebsite/docs/migration/terraform-workspaces.mdx
🚧 Files skipped from review as they are similar to previous changes (1)
- agent-skills/skills/atmos-migration/references/from-makefile.md
- lychee.toml: narrow the reproducible-builds.org exclude to the exact SOURCE_DATE_EPOCH path instead of the whole domain, so other links on that domain stay covered by the link check. - justfile.mdx/makefile.mdx/taskfile.mdx (+ agent-skills mirrors): the "after" Terraform-apply examples ran `terraform apply terraform`, confusing the atmos verb with a component literally named "terraform" that didn't match the shown legacy `terraform/` directory layout. Rename the placeholder component to `infra` and add a one-line note on where it maps to under `components.terraform.base_path`. - cmd_utils_test.go: document why the hidden-command tests' printf/ redirection is cross-platform (Atmos's TaskTypeShell runs through the in-process mvdan/sh interpreter, not the host shell) rather than replacing it — flagged as a platform-specific-binary risk, but it isn't one. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
TestExecuteTerraformConcurrentHooksUseNodeWriters was failing in CI (reproduced locally under `go test -race -count=200`, ~30% failure rate): concurrent nodes' hook output was interleaving mid-record instead of staying grouped per node. writeLine() acquired the shared writeMu once per line, but a single Write() call can flush multiple buffered lines at once (e.g. a \r-terminated segment held back by a prior Write, completed by the next). Between the two per-line lock acquisitions for one node's burst, another node's own burst could interleave into the shared writer. Fixed by collecting a burst's complete lines up front and writing them under one writeMu acquisition (writeLinesLocked), so a whole burst lands as one contiguous block. Preserves the existing partial-write-error retry behavior: a failed line and everything after it, plus any trailing partial content, are restored to the buffer for the next Write/Flush to retry. Verified with `go test ./pkg/scheduler/adapters/... -race -count=500` (0 failures, was reproducibly failing before) and the full pkg/io suite, race detector, 5x. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…on-skill # Conflicts: # lychee.toml
website-deploy-preview failed on pnpm install --frozen-lockfile because a duplicate nanoid@^3.3.16 override (added independently by two commits and merged from main) produced a duplicate YAML key in pnpm-lock.yaml. Also fix 5 new migration docs linking to the nonexistent /ai/agent-skills route instead of /ai/skills, which broke the docusaurus build once the lockfile issue was resolved. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…on-skill Resolves 4 real conflicts from main's task-runner-dependencies PR (#2882), which independently shipped the same "hide from help but stay runnable" custom-command feature this branch built (#), under a different name: - pkg/schema/command.go / cmd/cmd_utils.go: this branch's `Hidden bool` field is dropped in favor of main's already-shipped `Internal bool` + `Aliases []string` fields; all call sites, tests, JSON schema (via `go generate ./pkg/config/schema`), and docs (website + agent-skills migration guides, atmos-introspection SKILL.md, topic-specific-cli-help PRD) are updated from `hidden: true` to `internal: true`. The `--help=hidden` CLI topic name is unchanged since it labels Cobra's own Hidden flag, not this config field. - pkg/io/line_prefix_writer.go: kept this branch's version, a strict superset of main's atomicity fix that additionally makes short/failed writes retry-safe via a `pending` buffer. - website/docs/cli/configuration/commands/command/index.mdx: merged both branches' `<dt>` entries under the `internal` naming. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
There was a problem hiding this comment.
Actionable comments posted: 1
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (2)
agent-skills/skills/atmos-migration/references/from-justfile.md (1)
79-82: 🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick winAlign the custom-command
type: atmosdocumentation with its actual contract.
type: atmossupports custom commands, so the native-only restriction infrom-justfile.mdis incorrect. However, the custom-command execution path does not appendstep.Stackas-s <stack>. Update both documents to reflect these behaviors.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@agent-skills/skills/atmos-migration/references/from-justfile.md` around lines 79 - 82, Update the `from-justfile.md` section at lines 79-82 and the corresponding `website/docs/migration/taskfile.mdx` section at lines 253-256 to state that `type: atmos` supports custom commands as well as native verbs. Document that custom-command execution does not append `step.Stack` as `-s <stack>`, and remove the incorrect native-only restriction while preserving the dependency-chain guidance.website/docs/cli/configuration/commands/command/index.mdx (1)
89-90: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick winUse the canonical top-level alias key.
The schema identifies the separate redirect map as
command_aliases:. This page calls it the top-levelaliasesconfiguration. Usecommand_aliases:in the field description to prevent confusion withcommands[].aliases.The schema comment in
pkg/schema/command.gouses the literal keycommand_aliases:.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@website/docs/cli/configuration/commands/command/index.mdx` around lines 89 - 90, Update the `aliases` field description in the command configuration documentation to refer to the top-level `command_aliases` configuration key, matching the canonical schema terminology and distinguishing it from `commands[].aliases`.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@website/docs/cli/configuration/commands/command/index.mdx`:
- Around line 92-93: Update the `name` field description in the command
configuration documentation to clarify that only visible commands appear in help
listings, or explicitly note that commands with `internal: true` are excluded
from default help. Keep the existing `internal` behavior and description
unchanged.
---
Outside diff comments:
In `@agent-skills/skills/atmos-migration/references/from-justfile.md`:
- Around line 79-82: Update the `from-justfile.md` section at lines 79-82 and
the corresponding `website/docs/migration/taskfile.mdx` section at lines 253-256
to state that `type: atmos` supports custom commands as well as native verbs.
Document that custom-command execution does not append `step.Stack` as `-s
<stack>`, and remove the incorrect native-only restriction while preserving the
dependency-chain guidance.
In `@website/docs/cli/configuration/commands/command/index.mdx`:
- Around line 89-90: Update the `aliases` field description in the command
configuration documentation to refer to the top-level `command_aliases`
configuration key, matching the canonical schema terminology and distinguishing
it from `commands[].aliases`.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: c4fa57bb-e75a-4d14-bf6e-e28bbf696591
📒 Files selected for processing (12)
agent-skills/skills/atmos-introspection/SKILL.mdagent-skills/skills/atmos-migration/references/from-justfile.mdagent-skills/skills/atmos-migration/references/from-makefile.mdagent-skills/skills/atmos-migration/references/from-taskfile.mdcmd/cmd_utils_test.godocs/prd/topic-specific-cli-help.mdpkg/config/load.gopkg/datafetcher/schema/atmos/config/1.0.jsonpkg/schema/command.gowebsite/docs/cli/configuration/commands/command/index.mdxwebsite/docs/migration/justfile.mdxwebsite/docs/migration/taskfile.mdx
🚧 Files skipped from review as they are similar to previous changes (5)
- pkg/datafetcher/schema/atmos/config/1.0.json
- cmd/cmd_utils_test.go
- agent-skills/skills/atmos-migration/references/from-taskfile.md
- pkg/config/load.go
- agent-skills/skills/atmos-migration/references/from-makefile.md
Addresses CodeRabbit review comment: the `name` field description said names unconditionally appear in `atmos help`, contradicting the `internal` field's documented exclusion. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…ipped #2882 (already merged into this branch) added dependencies.commands/ dependencies.workflows and step-level inputs/artifacts, giving Atmos direct parity with Task's deps:/sources:/generates: and Make's dependency ordering and file-timestamp caching. This branch's own migration guides -- the subject of this PR -- still declared those exact features unsupported gaps, written before #2882 landed. - taskfile.mdx / from-taskfile.md: rewrite "parallel-by-default" and "sources/generates gap" sections to document dependencies.commands and inputs/artifacts as the direct matches, including the automatic dedup behavior a hand-built parallel step doesn't provide. - makefile.mdx / from-makefile.md: document dependencies.commands for target chains with a shared prerequisite, and inputs/artifacts (with timestamp.changed for make's exact mtime semantics) for file-timestamp targets. - SKILL.md: fix the same false claims in the top-level "Common Problems" summary agents read before the per-tool reference files. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
There was a problem hiding this comment.
Actionable comments posted: 4
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
website/docs/migration/makefile.mdx (1)
149-153: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick winReserve
type: atmosfor native Atmos verbs.
type: atmosdoes not support invoking a custom command such asbuild. Usetype: shellwithcommand: atmos buildfor that case. The current guidance can generate invalid command definitions.
website/docs/migration/makefile.mdx#L149-L153: remove the claim thattype: atmoscan invoke custom commands.website/docs/migration/makefile.mdx#L299-L303: replace the custom-commandtype: atmosexample with a shell invocation.This repeats the constraint resolved in the prior review of
agent-skills/skills/atmos-migration/references/from-taskfile.md.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@website/docs/migration/makefile.mdx` around lines 149 - 153, Update website/docs/migration/makefile.mdx lines 149-153 to state that type: atmos is reserved for native Atmos verbs and remove the claim that it supports custom commands; update lines 299-303 to replace the custom-command type: atmos example with type: shell invoking atmos build.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@agent-skills/skills/atmos-migration/references/from-makefile.md`:
- Around line 228-230: Update the migration guidance around target chains to
distinguish reusable targets with arguments or flags from fixed orchestration.
Convert reusable, parameterized operations into custom commands, and reserve
workflows for fixed multi-step operations spanning multiple components; do not
prescribe workflows for every target chain.
- Around line 105-112: Correct the guidance around target-list conversion in the
migration reference: do not claim Make provides concurrent prerequisite
execution by default, and explain that dependencies.commands runs concurrently
unless ordering is explicitly required. Update the repeated claim near the later
referenced section consistently, and instruct users to preserve serial behavior
with ordered steps or by declaring the later command’s dependency on the earlier
one.
In `@agent-skills/skills/atmos-migration/SKILL.md`:
- Around line 102-109: Preserve Make’s default serial prerequisite order in the
migration guidance. In agent-skills/skills/atmos-migration/SKILL.md lines
102-109, distinguish Task deps from ordinary Make prerequisites and do not
present concurrent dependencies.commands as their direct mapping; in
website/docs/migration/makefile.mdx lines 41, 155-163, 276, and 299-303,
document ordered execution for normal Make chains, remove claims that concurrent
dependencies preserve Make behavior, update the checklist, and reserve
concurrent dependencies for explicitly parallel source behavior.
In `@website/docs/migration/taskfile.mdx`:
- Around line 101-128: Update the freshness-check guidance at
website/docs/migration/taskfile.mdx lines 101-128, 253-256, and 262-267, and
agent-skills/skills/atmos-migration/references/from-makefile.md lines 184-192
and 217-219, to state that Atmos evaluates inputs.sources and artifacts.paths
per step, so skipping one step does not prevent later steps from running.
Document that a single shell or script step is required when one freshness
decision must gate all actions.
---
Outside diff comments:
In `@website/docs/migration/makefile.mdx`:
- Around line 149-153: Update website/docs/migration/makefile.mdx lines 149-153
to state that type: atmos is reserved for native Atmos verbs and remove the
claim that it supports custom commands; update lines 299-303 to replace the
custom-command type: atmos example with type: shell invoking atmos build.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: 4269868c-0b8d-4e7b-aa8c-bfac6f94e113
📒 Files selected for processing (5)
agent-skills/skills/atmos-migration/SKILL.mdagent-skills/skills/atmos-migration/references/from-makefile.mdagent-skills/skills/atmos-migration/references/from-taskfile.mdwebsite/docs/migration/makefile.mdxwebsite/docs/migration/taskfile.mdx
…ance Local review comments: - Recommend `atmos --help` (scriptable, direct) over the interactive `atmos help` (pages the same listing) for command discovery, across all three migration guides and their skill mirrors. - Reframe makefile.mdx around "Atmos is the front door either way": a custom command can call `make <target>` as its one step, permanently if desired, rather than treating full migration into native `steps:` as the only end state. CodeRabbit findings, verified against actual behavior before fixing: - GNU Make's default is to build a target's prerequisites one at a time, in listed order -- `-j` is required for concurrency. `dependencies.commands` runs concurrently by default, so presenting it as Make's/Just's "direct match" changes behavior and can race prerequisites that were only ever sequential by accident. Ordered steps are now the default-preserving match; `dependencies.commands` is reserved for a shared prerequisite (dedup, independent of concurrency), genuine independence, or an explicit `-j` source. Fixed in SKILL.md, makefile.mdx, and from-makefile.md, including a corrected Shape B example showing how to keep `build` ordered ahead of `test` even under the concurrent scheduler. - Confirmed in cmd/cmd_utils.go/internal/exec/workflow_utils.go that a skipped step just `continue`s the loop: inputs/artifacts freshness is evaluated and recorded per step, unlike Task's/Make's whole-recipe/task scope. Documented this across taskfile.mdx, from-makefile.md, and SKILL.md, with guidance to combine multiple commands into one step when a single freshness decision must gate all of them. - Removed the stale "target chains become workflows" claim, which contradicted the dependencies.commands guidance it now sits next to; workflows are reserved for fixed, multi-step orchestration across more than one component. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
what
atmos-migrationagent skill and website docs with new migration references and tutorials for Makefiles, Justfiles, and Taskfile.yml (go-task), alongside the existing native-Terraform/Terraform-Workspaces/remote-state-bridge coverage.pkg/config: a directory's own inlinecommands:entry no longer silently inherits an unrelated project's same-named.atmos.dcommand's subcommand tree (or fields likedefault:) purely because a git-root.atmos.dhappens to define a command with the same name.internal/exec:atmos validate stacksno longer requiresstacks.name_template/stacks.name_patternto be set — it now resolves stack names the same wayterraform plan,list stacks, anddescribe componentalready do (manifestname:>name_template>name_pattern> filename).atmosbinary: afrom-native-terraform.mdrecipe that referenced a component name that never resolved, a missingworkflows.base_pathcallout, Justfile/Taskfile edge cases (orphaned[private]recipes, command-echo differences,includes:guidance), and a sidebar ordering mismatch.why
examples/native-terraform— the skill's own canonical reference example — failedatmos validate stacksout of the box despite being fully valid config; the requirement was a stale code path that predated zero-config filename-based stack naming (feat: stack name identity with zero-config filename fallback #1934) and was never updated when that landed elsewhere in the CLI.references
atmosbinary.Summary by CodeRabbit
New Features
--help=hiddento display hidden commands, including experimental built-ins..envfile support for command environment configuration.Documentation
Bug Fixes