Skip to content

Add Atlantis-to-Atmos-Native-CI migration skill guide - #2870

Open
Erik Osterman (Cloud Posse) (osterman) wants to merge 5 commits into
mainfrom
osterman/atlantis-migration-skill
Open

Add Atlantis-to-Atmos-Native-CI migration skill guide#2870
Erik Osterman (Cloud Posse) (osterman) wants to merge 5 commits into
mainfrom
osterman/atlantis-migration-skill

Conversation

@osterman

@osterman Erik Osterman (Cloud Posse) (osterman) commented Aug 5, 2026

Copy link
Copy Markdown
Member

what

  • Adds agent-skills/skills/atmos-migration/references/from-atlantis.md, a migration reference
    that maps Atlantis concepts (projects[]/autoplan, workflow_templates, pre/post_workflow_hooks,
    apply_requirements, PR comments, the $PLANFILE handoff, project locking) to their Atmos
    Native CI equivalents (describe affected matrices, hooks/custom commands, GitHub Environment
    protection rules, ci.comments/ci.checks, components.terraform.planfiles, atmos pro lock).
  • Covers both starting points: a project already on Atmos using integrations.atlantis/
    settings.atlantis, and a project on plain Terraform + Atlantis with no Atmos yet.
  • Includes a step-by-step checklist to remove Atlantis, and an honest "Known Gaps" section (no
    OSS-native project locking, plan-only PR comments, deferred Azure/GCS planfile backends, no
    GitLab CI provider yet).
  • Cross-links the new reference from atmos-migration/SKILL.md (routing table, escalation list,
    resources), atmos-ci/SKILL.md (Integrations section), and atmos-modernization/SKILL.md
    (modernization checklist), and updates the skill index in agent-skills/AGENTS.md.

why

  • No existing skill or PRD covered moving a project off Atlantis onto Atmos Native CI, despite
    Atmos having mature, non-deprecated Atlantis integration (atmos atlantis generate repo-config)
    on one side and a fully-built Native CI feature set on the other.
  • Extends the existing atmos-migration skill (mirroring the from-native-terraform.md/
    from-terraform-workspaces.md reference pattern) rather than adding a new top-level skill,
    consistent with this repo's "extend, don't fork" convention for agent skills.

references

  • No linked issue.

Summary by CodeRabbit

  • Documentation
    • Added comprehensive guidance for migrating from Atlantis to Atmos Native CI.
    • Documented staged migration steps, project types, validation procedures, cleanup, and feature mappings.
    • Added guidance on current limitations, including locking, planfile storage, comments, and provider support.
    • Updated CI and modernization guidance for replacing Atlantis configuration with CI configuration and GitHub Actions.
    • Expanded recommendations for hooks, approvals, workflow setup, and migration best practices.

Adds references/from-atlantis.md to the atmos-migration skill, mapping
Atlantis concepts (autoplan, workflow templates, apply gating, locking,
PR comments) to their Atmos Native CI equivalents, with a removal
checklist and known gaps. Cross-links from atmos-ci and
atmos-modernization so agents can find it from either direction.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@atmos-pro

atmos-pro Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Tip

Atmos Pro  

No affected stacks workflow was detected for this pull request.
If this is expected, no action is needed.
Learn More. Ask AI.

@osterman Erik Osterman (Cloud Posse) (osterman) added the no-release Do not create a new release (wait for additional code changes) label Aug 5, 2026
@github-actions github-actions Bot added the size/m Medium size PR label Aug 5, 2026
…ration-skill

# Conflicts:
#	agent-skills/skills/atmos-migration/SKILL.md
@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown

Dependency Review

✅ No vulnerabilities or license issues found.

Scanned Files

None

@coderabbitai

coderabbitai Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

The PR adds Atlantis-to-Atmos Native CI migration guidance. It links the guidance from the migration, CI, modernization, and skill index documentation.

Changes

Atlantis migration documentation

Layer / File(s) Summary
Migration guide
agent-skills/skills/atmos-migration/references/from-atlantis.md
The guide covers project shapes, feature mappings, staged migration, validation, cleanup, known gaps, and practices to avoid.
Migration skill routing
agent-skills/skills/atmos-migration/SKILL.md
The migration skill identifies Atlantis workflows, references the dedicated guide, and adds related escalation and resource guidance.
Skill index and integration links
agent-skills/AGENTS.md, agent-skills/skills/atmos-ci/SKILL.md, agent-skills/skills/atmos-modernization/SKILL.md
The skill index, Atmos CI guidance, and modernization checklist identify or link to the Atlantis-to-Native-CI migration path.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Mergeability Score: 🟡 Moderate · up to 1c145

The guide may cause migrations to run Terraform lifecycle commands twice when Atlantis replacement steps are mapped directly to Atmos hooks, and it does not clearly document project-lock cleanup. Clarifying these behaviors is needed before the guide is merge-ready.

Possibly related PRs

Suggested reviewers: aknysh

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the primary change: adding an Atlantis-to-Atmos Native CI migration guide.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch osterman/atlantis-migration-skill

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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-atlantis.md`:
- Around line 121-124: Update the hook guidance in the migration document to
distinguish scope: prescribe a CI job step for behavior that must run once per
pull request, and reserve Atmos hooks for component- or stack-scoped lifecycle
steps. Preserve the existing custom-command guidance for steps not tied to a
command lifecycle.
- Line 76: Update the `parallel_apply` mapping in the migration guidance to
preserve `dependencies.components` ordering: limit matrix jobs to independent
components, or direct users to a dependency-aware deployment flow such as
`terraform deploy --affected`; do not describe an unrestricted matrix as
sufficient.
- Line 76: Update the migration mapping table entry for automerge,
parallel_plan, and parallel_apply to separate parallel execution from automatic
merging: retain the GitHub Actions matrix job mapping for parallel_plan and
parallel_apply, and document GitHub merge queues or branch protection as
distinct merge-order/protection mechanisms rather than automerge. Explicitly
describe GitHub auto-merge as the automerge equivalent or mark it as a known
gap.
- Line 75: Update the Atlantis lock mapping in the migration documentation to
explicitly state that project-level lock behavior is not preserved by the
open-source CLI or CI workflow; it is preserved only when using Atmos Pro lock
and unlock commands. Ensure the checklist or Known Gaps section also warns that
CI does not automatically acquire or clean up project locks.
- Line 73: Add a conditional item to the “Checklist to Remove Atlantis” covering
workflows that depend on Atlantis planfiles: configure
components.terraform.planfiles storage and enable --verify-plan for deploy,
ensuring the stored plan is compared before apply. Keep it scoped to projects
using the $PLANFILE behavior and align it with the existing checklist style.
🪄 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: 43feeae0-d008-4042-92fc-44b982e87b7e

📥 Commits

Reviewing files that changed from the base of the PR and between c14ce82 and a602d60.

📒 Files selected for processing (5)
  • agent-skills/AGENTS.md
  • agent-skills/skills/atmos-ci/SKILL.md
  • agent-skills/skills/atmos-migration/SKILL.md
  • agent-skills/skills/atmos-migration/references/from-atlantis.md
  • agent-skills/skills/atmos-modernization/SKILL.md

Comment thread agent-skills/skills/atmos-migration/references/from-atlantis.md
Comment thread agent-skills/skills/atmos-migration/references/from-atlantis.md Outdated
Comment thread agent-skills/skills/atmos-migration/references/from-atlantis.md
@coderabbitai

coderabbitai Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Note

GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🤖 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-atlantis.md`:
- Around line 3-5: Update the introduction of the Atlantis migration reference
to clarify that the “CI system only” scope applies to Shape A; explicitly note
that Shape B also requires migrating from plain Terraform to Atmos.
- Around line 33-35: Update the migration guidance around the `ci:` block and
the referenced GitHub Actions workflows to prevent both Atlantis and Native CI
from applying the same pull request. Keep one system in plan-only mode or
disable its apply workflow during comparison, and defer enabling both apply
paths until cutover.
- Line 73: Update the planfile storage guidance in the workflow comparison table
to require durable shared storage across separate plan and deploy runners: use
S3 or GitHub Artifacts with --verify-plan, or explicitly require a persistent
shared location before allowing local paths. Keep the existing $PLANFILE and
components.terraform.planfiles references and split-workflow guidance intact.
- Line 70: Update the linked Native CI deploy job examples for the mappings
around apply_requirements, including the second referenced example, to set the
job-level environment to the corresponding protected GitHub environment. Use the
existing protected-environment name for each example and leave the guidance
about avoiding custom Atmos approval logic unchanged.
🪄 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: df6bc7e8-7078-4b0a-bc5e-399fdf213d93

📥 Commits

Reviewing files that changed from the base of the PR and between c14ce82 and e8451c0.

📒 Files selected for processing (5)
  • agent-skills/AGENTS.md
  • agent-skills/skills/atmos-ci/SKILL.md
  • agent-skills/skills/atmos-migration/SKILL.md
  • agent-skills/skills/atmos-migration/references/from-atlantis.md
  • agent-skills/skills/atmos-modernization/SKILL.md
🚧 Files skipped from review as they are similar to previous changes (4)
  • agent-skills/AGENTS.md
  • agent-skills/skills/atmos-modernization/SKILL.md
  • agent-skills/skills/atmos-migration/SKILL.md
  • agent-skills/skills/atmos-ci/SKILL.md

Comment thread agent-skills/skills/atmos-migration/references/from-atlantis.md Outdated
Comment thread agent-skills/skills/atmos-migration/references/from-atlantis.md
Comment thread agent-skills/skills/atmos-migration/references/from-atlantis.md Outdated
Comment thread agent-skills/skills/atmos-migration/references/from-atlantis.md Outdated
…uide

- Add a conditional checklist step to configure planfile storage and
  --verify-plan for projects relying on Atlantis's $PLANFILE guarantee.
- Split the parallel_plan/parallel_apply/automerge mapping: matrix jobs
  are only safe for independent components, so point dependency-ordered
  applies at `terraform deploy/apply --affected` instead.
- Add automerge as a Known Gap: it assumes apply-before-merge, which
  doesn't match the default plan-before-merge, apply-after-merge Native
  CI flow.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- Scope the "CI system only" intro claim to Shape A; Shape B also needs
  an IaC move to Atmos first.
- Note that GitHub Environment required-reviewer rules only gate a job
  that sets environment: <name> on the deploy job itself.
- Restrict $PLANFILE storage guidance to S3/GitHub Artifacts, since the
  PR plan and deploy workflows run on separate runners and a local path
  store can't carry the planfile between them.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@codecov

codecov Bot commented Aug 5, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 82.98%. Comparing base (6c44717) to head (1c14557).

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #2870      +/-   ##
==========================================
- Coverage   82.98%   82.98%   -0.01%     
==========================================
  Files        1881     1881              
  Lines      183067   183067              
==========================================
- Hits       151925   151924       -1     
  Misses      23317    23317              
- Partials     7825     7826       +1     
Flag Coverage Δ
unittests 82.98% <ø> (-0.01%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.
see 8 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@coderabbitai

coderabbitai Bot commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

Note

GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔇 Additional comments (3)
agent-skills/skills/atmos-migration/references/from-atlantis.md (3)

78-78: Document lock acquisition and cleanup.

The guide lists atmos pro lock and atmos pro unlock, but it does not state whether Native CI runs them or cleans them up after failed or cancelled jobs. State that Native CI does not manage project locks automatically. Document the required workflow calls and cleanup when project locking is required.

Also applies to: 115-117


71-71: 🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

⚠️ Unverified finding
Sandbox verification was unavailable.

Do not map replacement commands directly to Atmos hooks.

Line 71 treats every Atlantis workflow_templates.<name>.plan/apply.steps[].run step as hook-compatible. An Atmos hook runs before or after an Atmos command. It does not replace the built-in init, plan, or apply command. If an Atlantis run step replaces one of those commands, the migration can run both commands.

Limit this mapping to additive steps. Use a custom command or CI job step for replacement behavior. Verify the linked lifecycle guidance before merging.

Verification script

1-70: LGTM!

Also applies to: 72-77, 79-114, 118-147


ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 754271c8-2a62-47f0-85c9-60f2fa04f8ba

📥 Commits

Reviewing files that changed from the base of the PR and between 6c44717 and 1c14557.

📒 Files selected for processing (5)
  • agent-skills/AGENTS.md
  • agent-skills/skills/atmos-ci/SKILL.md
  • agent-skills/skills/atmos-migration/SKILL.md
  • agent-skills/skills/atmos-migration/references/from-atlantis.md
  • agent-skills/skills/atmos-modernization/SKILL.md
🚧 Files skipped from review as they are similar to previous changes (4)
  • agent-skills/skills/atmos-ci/SKILL.md
  • agent-skills/skills/atmos-migration/SKILL.md
  • agent-skills/AGENTS.md
  • agent-skills/skills/atmos-modernization/SKILL.md

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

no-release Do not create a new release (wait for additional code changes) size/m Medium size PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant