Skip to content

Conversation

@osterman
Copy link
Member

@osterman osterman commented Oct 3, 2025

what

  • Restructured documentation with progressive learning path:

    • Renamed /core-concepts/learn (clearer learning intent)
    • Renamed /introduction/intro (shorter, cleaner URLs)
    • Created explicit 9-page learning sequence in sidebar
    • Moved 28 advanced pages to dedicated top-level sections
  • Simplified URL structure:

    • /learn/* for all learning content
    • /learn/yaml (was /learn/yaml-guide)
    • /intro/*, /install, /faq, /features, /use-cases (top-level)
    • /migration/* (promoted and visible)
    • /components/*, /projects/*, /connections/*, /custom-commands/*, /deploy/*, /describe/*
  • Previous work in this PR:

    • Created 9 progressive learning pages (Why Atmos → Next Steps)
    • Added comprehensive YAML reference (844 lines)
    • Created 3 migration guides (Native Terraform, Terragrunt, Workspaces)
    • Improved tone/voice (removed defensive language, added humor)
    • Added dot notation documentation
    • Fixed 100+ broken links from previous reorganization
  • New restructure work:

    • Moved 28 files out of learn/ to proper sections
    • Updated 218 link references throughout documentation
    • Restructured sidebar with 6 new top-level sections
    • Added 10 redirects for backwards compatibility
    • Removed obsolete landing pages
    • Made Migration Guides visible by default

why

  • "Core Concepts" was ambiguous - unclear if it's for learning or reference
  • "Learn" is explicit - immediately communicates purpose to newcomers
  • Shorter URLs are better - /intro vs /introduction, /learn/yaml vs /learn/yaml-guide
  • Flat structure reduces nesting - easier to find content
  • Advanced content mixed with learning - Components, Projects, etc. belong in reference, not learning path
  • Migration Guides hidden - users coming from other tools couldn't find them
  • Install buried - most important first step was nested too deep

changes

Directory Structure

  • docs/core-concepts/docs/learn/ (9 learning pages remain)
  • docs/introduction/docs/intro/ (4 intro pages + why-atmos/)
  • docs/core-concepts/components/docs/components/ (6 files)
  • docs/core-concepts/projects/docs/projects/ (6 files)
  • docs/core-concepts/share-data/docs/connections/ (2 files, renamed)
  • docs/core-concepts/custom-commands/docs/custom-commands/ (1 file)
  • docs/core-concepts/deploy/docs/deploy/ (1 file)
  • docs/core-concepts/describe/docs/describe/ (3 files)

Sidebar Configuration

Before: Mixed autogenerated and explicit, advanced content in learn

After: Clean separation with explicit learning path

// Learn Atmos - 9 explicit pages
'learn/why-atmos',
'learn/concepts-overview',
'learn/first-stack',
'learn/yaml-guide',  // → /learn/yaml
'learn/imports-basics',
'learn/inheritance-basics',
'learn/organizing-stacks',
'learn/connecting-components',
'learn/next-steps'

// 6 new top-level sections
- Components (autogenerated from /components/)
- Projects (autogenerated from /projects/)
- Connections (autogenerated from /connections/)
- Custom Commands (autogenerated from /custom-commands/)
- Deploy (autogenerated from /deploy/)
- Describe (autogenerated from /describe/)

Link Updates (218 references)

  • /core-concepts/*/learn/* (bulk replace)
  • /introduction/*/intro/* (bulk replace)
  • /learn/components/*/components/*
  • /learn/projects/*/projects/*
  • /learn/custom-commands/*/custom-commands/*
  • etc.

URL Changes

Old New Reason
/core-concepts/why-atmos /learn/why-atmos Clearer intent
/core-concepts/yaml-guide /learn/yaml Shorter, cleaner
/introduction/index /intro/index Shorter
/core-concepts/components /components Top-level reference
/core-concepts/share-data /connections Better terminology

stats

  • 120 files changed: Complete restructure with git history preserved
  • 28 files moved: Using git mv to dedicated sections
  • 218 link references updated: Throughout documentation
  • 10 redirects added: For backwards compatibility
  • 6 new sidebar sections: Better organization

migration notes

  • All old URLs redirect automatically via docusaurus.config.js
  • /core-concepts/*/learn/* redirects preserve bookmarks
  • Git history preserved for all moved files

references

  • Follows React/Next.js pattern of "Learn" vs "Reference" separation
  • Implements flat URL structure for discoverability
  • Progressive learning path: beginner → intermediate → advanced

🤖 Generated with Claude Code

Co-Authored-By: Claude [email protected]

Summary by CodeRabbit

Release Notes

  • Documentation

    • Reorganized documentation structure for improved navigation and clarity
    • Added comprehensive learning guides for Atmos concepts, workflows, and component management
    • Added migration guides for transitioning from Terraform, Terragrunt, and Terraform Workspaces
    • Added detailed CLI command and configuration reference documentation
    • Added design pattern guides and best practices
  • New Features

    • Added support for profiles configuration in CLI
    • Added terminal theme configuration and syntax highlighting options
    • Added comprehensive authentication and identity management documentation

✏️ Tip: You can customize this high-level summary in your review settings.

osterman and others added 2 commits October 3, 2025 02:34
…nsive YAML reference

## what
- Created 9 new progressive learning pages in Learn Atmos section
- Added comprehensive YAML reference guide with anchors, type coercion, and best practices
- Created migration guides for Terragrunt and Terraform Workspaces users
- Reorganized advanced topics (Stacks, Workflows, Vendoring, Validation, Templates) under CLI/Reference
- Refreshed Terraform Maturity Journey with empathetic, helpful tone
- Fixed 100+ broken internal links throughout documentation
- Added 25+ redirects for moved pages to maintain backwards compatibility
- Updated sidebars with new structure (Learn vs Reference separation)

## why
- Newcomers were overwhelmed by documentation lacking clear progression from basics to advanced
- Missing fundamental concepts (YAML scope, deep merge, imports/inheritance basics)
- Examples were too complex too early without simpler "Hello World" starting point
- Advanced topics mixed with learning content, making it hard to find reference material
- No migration guides for users coming from other tools (Terragrunt, Workspaces)
- Documentation tone felt defensive rather than empathetic to learner journey
- YAML gotchas (NO → false, type coercion, Go template braces) caused confusion without comprehensive reference

## references
- Inspired by React, Next.js, and Terragrunt documentation patterns
- Implements progressive complexity with clear separation of learning vs reference content

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
@osterman osterman requested a review from a team as a code owner October 3, 2025 08:06
@github-actions github-actions bot added the size/xl Extra large size PR label Oct 3, 2025
@mergify
Copy link

mergify bot commented Oct 3, 2025

Warning

This PR exceeds the recommended limit of 1,000 lines.

Large PRs are difficult to review and may be rejected due to their size.

Please verify that this PR does not address multiple issues.
Consider refactoring it into smaller, more focused PRs to facilitate a smoother review process.

@osterman osterman added the no-release Do not create a new release (wait for additional code changes) label Oct 3, 2025
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Oct 3, 2025

Warning

Rate limit exceeded

@osterman has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 14 minutes and 18 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

📥 Commits

Reviewing files that changed from the base of the PR and between 0b26815 and 6ce2d7f.

📒 Files selected for processing (4)
  • website/docs/cli/commands/describe/describe-dependents.mdx (1 hunks)
  • website/docs/cli/configuration/integrations/atlantis.mdx (1 hunks)
  • website/docs/cli/configuration/integrations/spacelift.mdx (3 hunks)
  • website/docs/components/terraform/terraform.mdx (1 hunks)
📝 Walkthrough

Walkthrough

Comprehensive documentation reorganization restructuring the Atmos website with path migrations from /core-concepts/* to more granular namespaces (/components/, /stacks/, /learn/, /cli/configuration/, /intro/, /howto/, /validation/, /connections/, /vendoring/). Adds 100+ new documentation pages covering features like profiles, authentication, configuration sections, and integrations. Deletes several legacy design pattern pages. Updates CI/CD workflows to use pnpm instead of npm.

Changes

Cohort / File(s) Summary
Documentation Link Migrations
website/docs/best-practices/*, website/docs/quick-start/**/*.mdx, website/docs/functions/**/*.mdx, website/docs/integrations/**/*.mdx, website/docs/stacks/*, website/docs/components/**/*.mdx, website/docs/learn/*, website/docs/intro/**/*.mdx, website/docs/cli/commands/**/*.mdx, website/blog/*.md{x}
Updated internal documentation links from /core-concepts/* paths to new destination paths. Includes migrations like /core-concepts/stacks/stacks or /learn/stacks, /core-concepts/components/components, /core-concepts/vendor/vendoring, etc. across 200+ files.
New Configuration Documentation Pages
website/docs/cli/configuration/settings/*.mdx, website/docs/cli/configuration/auth/*.mdx, website/docs/cli/configuration/*.mdx
Added comprehensive new documentation pages for CLI configuration sections: settings (terminal, mask, markdown-styling, pro, syntax-highlighting), auth (providers, identities, keyring, logs), plus stores, templates, profiles, imports, aliases, errors, logs, profiler, version, validate, and integrations.
New Component & Stack Documentation
website/docs/components/*.mdx, website/docs/components/terraform/*.mdx, website/docs/learn/*.mdx, website/docs/stacks/*.mdx
Added documentation for component overview, Helmfile, Packer, Terraform stack config, root modules, and new learn pages (concepts-overview, connecting-components, first-stack, imports-basics, inheritance-basics, organizing-stacks, yaml-guide, mindset, why-atmos, next-steps).
New Design Patterns & Reorganization
website/docs/design-patterns/component-catalog/*.mdx, website/docs/design-patterns/configuration-composition/*.mdx, website/docs/design-patterns/version-management/*.mdx
Reorganized design patterns with renamed/refactored pages: Component Catalog → Configuration Catalog, new Component Archetypes pattern, partial-component-configuration, component-overrides under configuration-composition, and expanded version-management guidance.
Deleted Design Pattern Pages
website/docs/design-patterns/abstract-component.mdx, website/docs/design-patterns/component-inheritance.mdx, website/docs/design-patterns/component-overrides.mdx, website/docs/design-patterns/inline-component-customization.mdx, website/docs/design-patterns/summary.mdx
Removed entire legacy design pattern documentation files; content consolidated or relocated to new organizational structure.
Restructured Feature Documentation
website/docs/cli/configuration/configuration.mdx, website/docs/cli/configuration/stacks.mdx, website/docs/cli/commands/workflow.mdx, website/docs/cli/commands/validation/validate-stacks.mdx
Significantly restructured existing pages with expanded reference sections, new UI components (ActionCard, PrimaryCTA), consolidated guidance, reorganized sections, and added examples for CLI configuration, stack behavior, and command usage.
New CLI Commands Documentation
website/docs/cli/commands/about.mdx, website/docs/cli/commands/auth/user/*.mdx, website/docs/cli/commands/profile/*.mdx, website/docs/cli/commands/support.mdx
Added documentation for new/reorganized CLI commands: about, auth user subcommands (configure, index), profile subcommands (list, show, usage), and support command.
New Blog Posts & Migration Guides
website/blog/2025-12-02-*.mdx, website/docs/migration/*.mdx, website/docs/intro/*.mdx
Added new blog posts (documentation reorganization, migration guides), comprehensive migration guides (native-terraform, terraform-workspaces, terragrunt), and intro pages (features, faq, use-cases, why-atmos).
CLI Command UI Enhancements
website/docs/cli/commands/terraform/usage.mdx, website/docs/cli/commands/validate/*.mdx, website/docs/cli/commands/vendor/usage.mdx, website/docs/cli/commands/helmfile/usage.mdx, website/docs/cli/commands/packer/usage.mdx, website/docs/cli/commands/pro/usage.mdx, website/docs/cli/commands/atlantis/usage.mdx, website/docs/cli/commands/aws/usage.mdx, website/docs/cli/commands/theme/usage.mdx, website/docs/cli/commands/docs/usage.mdx, website/docs/cli/commands/list/usage.mdx
Added ActionCard and PrimaryCTA components to command usage pages, creating configuration guidance callout blocks with links to relevant setup documentation.
CLI Command Reordering
website/docs/cli/commands/**/_category_.json, website/docs/cli/commands/help.mdx
Updated sidebar position values across command category files (aws, describe, docs, helmfile, list, packer, pro, profile, terraform, theme, validate, vendor, version) to reorganize command display order in sidebar navigation.
Workflow & Build System Updates
.github/workflows/website-*.yml, conductor.json
Replaced npm with pnpm for dependency management and builds in GitHub Actions workflows; added BROWSER=open to conductor.json start command.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60–90 minutes

Areas requiring extra attention:

  • Link path correctness: With 200+ link target changes across documentation, verify that path migrations are accurate and consistently applied. Spot-check a sample of updated links to ensure the destination paths exist and are correctly mapped.
  • Deleted vs. relocated content: Confirm that deleted design pattern pages (abstract-component, component-inheritance, component-overrides, inline-component-customization) have been properly consolidated or redirected in the new structure, and that no orphaned cross-references remain.
  • New documentation pages completeness: Review new configuration documentation pages (auth, settings, profiles, integrations) for coverage, clarity, and consistency in examples and frontmatter metadata.
  • CLI command reorganization: Verify sidebar position values in _category_.json files are correct and produce intended navigation order; check that command discovery via demo/screengrabs/demo-stacks.txt reflects new structure.
  • Build system changes: Confirm pnpm migration in workflows is compatible with the project and that the BROWSER=open change doesn't introduce unintended behavior in CI/CD environments.

Possibly related PRs

Pre-merge checks and finishing touches

✅ Passed checks (3 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 main change: restructuring documentation with a progressive learning path and simplified URLs, which aligns with the comprehensive documentation reorganization across 120+ files.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

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 and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 6

🧹 Nitpick comments (1)
website/docs/stacks/catalogs.mdx (1)

11-11: Align Stack link with new slug.

The surrounding edits pivot these docs to /stacks/..., but this sentence still links the child Stack reference through the old /core-concepts path. Please swap it to /stacks so the copy stays consistent with the new IA.

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 7a726b2 and f361fd0.

📒 Files selected for processing (99)
  • website/docs/best-practices/stacks.mdx (2 hunks)
  • website/docs/best-practices/terraform.mdx (1 hunks)
  • website/docs/cli/commands/describe/describe-component.mdx (5 hunks)
  • website/docs/cli/commands/terraform/usage.mdx (3 hunks)
  • website/docs/cli/commands/validate/validate-stacks.mdx (1 hunks)
  • website/docs/cli/commands/vendor/vendor-pull.mdx (4 hunks)
  • website/docs/cli/commands/workflow.mdx (1 hunks)
  • website/docs/cli/configuration/configuration.mdx (3 hunks)
  • website/docs/cli/configuration/stacks.mdx (1 hunks)
  • website/docs/core-concepts/components/terraform/backends.mdx (2 hunks)
  • website/docs/core-concepts/components/terraform/providers.mdx (2 hunks)
  • website/docs/core-concepts/components/terraform/state-backend.mdx (1 hunks)
  • website/docs/core-concepts/components/terraform/workspaces.mdx (1 hunks)
  • website/docs/core-concepts/concepts-overview.mdx (1 hunks)
  • website/docs/core-concepts/connecting-components.mdx (1 hunks)
  • website/docs/core-concepts/deploy/deploy.mdx (2 hunks)
  • website/docs/core-concepts/describe/components.mdx (2 hunks)
  • website/docs/core-concepts/first-stack.mdx (1 hunks)
  • website/docs/core-concepts/imports-basics.mdx (1 hunks)
  • website/docs/core-concepts/inheritance-basics.mdx (1 hunks)
  • website/docs/core-concepts/next-steps.mdx (1 hunks)
  • website/docs/core-concepts/organizing-stacks.mdx (1 hunks)
  • website/docs/core-concepts/projects/configuration/configuration.mdx (4 hunks)
  • website/docs/core-concepts/projects/configuration/packer.mdx (1 hunks)
  • website/docs/core-concepts/projects/configuration/stores.mdx (1 hunks)
  • website/docs/core-concepts/projects/layout.mdx (1 hunks)
  • website/docs/core-concepts/share-data/remote-state.mdx (1 hunks)
  • website/docs/core-concepts/share-data/share-data.mdx (2 hunks)
  • website/docs/core-concepts/stacks/define-components.mdx (3 hunks)
  • website/docs/core-concepts/stacks/stacks.mdx (3 hunks)
  • website/docs/core-concepts/why-atmos.mdx (1 hunks)
  • website/docs/core-concepts/yaml-guide.mdx (1 hunks)
  • website/docs/design-patterns/abstract-component.mdx (1 hunks)
  • website/docs/design-patterns/component-catalog-template.mdx (3 hunks)
  • website/docs/design-patterns/component-catalog-with-mixins.mdx (2 hunks)
  • website/docs/design-patterns/component-catalog.mdx (2 hunks)
  • website/docs/design-patterns/component-inheritance.mdx (2 hunks)
  • website/docs/design-patterns/component-overrides.mdx (2 hunks)
  • website/docs/design-patterns/inline-component-configuration.mdx (1 hunks)
  • website/docs/design-patterns/inline-component-customization.mdx (1 hunks)
  • website/docs/design-patterns/layered-stack-configuration.mdx (1 hunks)
  • website/docs/design-patterns/organizational-structure-configuration.mdx (2 hunks)
  • website/docs/design-patterns/partial-component-configuration.mdx (3 hunks)
  • website/docs/design-patterns/partial-stack-configuration.mdx (1 hunks)
  • website/docs/functions/template/index.mdx (1 hunks)
  • website/docs/functions/yaml/env.mdx (1 hunks)
  • website/docs/functions/yaml/exec.mdx (1 hunks)
  • website/docs/functions/yaml/include.mdx (2 hunks)
  • website/docs/functions/yaml/index.mdx (1 hunks)
  • website/docs/functions/yaml/store.get.mdx (1 hunks)
  • website/docs/functions/yaml/store.mdx (1 hunks)
  • website/docs/functions/yaml/template.mdx (1 hunks)
  • website/docs/functions/yaml/terraform.output.mdx (1 hunks)
  • website/docs/functions/yaml/terraform.state.mdx (1 hunks)
  • website/docs/integrations/github-actions/atmos-terraform-plan.mdx (1 hunks)
  • website/docs/integrations/github-actions/component-updater.mdx (1 hunks)
  • website/docs/integrations/github-actions/github-actions.mdx (1 hunks)
  • website/docs/introduction/faq.mdx (2 hunks)
  • website/docs/introduction/index.mdx (1 hunks)
  • website/docs/introduction/use-cases.mdx (1 hunks)
  • website/docs/introduction/why-atmos/why-atmos.mdx (1 hunks)
  • website/docs/migration/native-terraform.mdx (1 hunks)
  • website/docs/migration/terraform-workspaces.mdx (1 hunks)
  • website/docs/migration/terragrunt.mdx (1 hunks)
  • website/docs/quick-start/advanced/advanced.mdx (1 hunks)
  • website/docs/quick-start/advanced/configure-cli.mdx (2 hunks)
  • website/docs/quick-start/advanced/configure-terraform-backend.mdx (2 hunks)
  • website/docs/quick-start/advanced/configure-validation.mdx (2 hunks)
  • website/docs/quick-start/advanced/create-atmos-stacks.mdx (4 hunks)
  • website/docs/quick-start/advanced/create-workflows.mdx (1 hunks)
  • website/docs/quick-start/advanced/next-steps.md (1 hunks)
  • website/docs/quick-start/advanced/vendor-components.mdx (1 hunks)
  • website/docs/quick-start/introduction.mdx (1 hunks)
  • website/docs/quick-start/mindset.mdx (1 hunks)
  • website/docs/quick-start/simple/configure-cli.mdx (2 hunks)
  • website/docs/quick-start/simple/configure-stacks.mdx (1 hunks)
  • website/docs/quick-start/simple/extra-credit/create-workflows.mdx (2 hunks)
  • website/docs/quick-start/simple/extra-credit/vendor-components.mdx (2 hunks)
  • website/docs/reference/alternatives.mdx (3 hunks)
  • website/docs/reference/yaml-reference.mdx (1 hunks)
  • website/docs/stacks/catalogs.mdx (2 hunks)
  • website/docs/stacks/dependencies.mdx (2 hunks)
  • website/docs/stacks/imports.mdx (4 hunks)
  • website/docs/stacks/inheritance.mdx (3 hunks)
  • website/docs/stacks/mixins.mdx (1 hunks)
  • website/docs/stacks/overrides.mdx (2 hunks)
  • website/docs/stacks/stacks.mdx (1 hunks)
  • website/docs/templates/templates.mdx (9 hunks)
  • website/docs/tutorials/atmos-example-infra.mdx (1 hunks)
  • website/docs/validation/opa.mdx (1 hunks)
  • website/docs/validation/validate.mdx (1 hunks)
  • website/docs/vendoring/components-manifest.mdx (1 hunks)
  • website/docs/vendoring/url-syntax.mdx (1 hunks)
  • website/docs/vendoring/vendor-manifest.mdx (2 hunks)
  • website/docs/vendoring/vendor.mdx (1 hunks)
  • website/docs/workflows/workflows.mdx (1 hunks)
  • website/docusaurus.config.js (1 hunks)
  • website/sidebars.js (3 hunks)
  • website/src/pages/index.js (1 hunks)
🧰 Additional context used
📓 Path-based instructions (5)
website/**

📄 CodeRabbit inference engine (.cursor/rules/atmos-rules.mdc)

website/**: Update website documentation in website/ when adding features
Ensure consistency between CLI help text and website documentation
Follow the website's documentation structure and style
Keep website code in website/ and follow its architecture/style; test changes locally
Keep CLI and website documentation in sync; document new features with examples and use cases

Files:

  • website/docs/cli/commands/validate/validate-stacks.mdx
  • website/docs/quick-start/advanced/vendor-components.mdx
  • website/docs/design-patterns/abstract-component.mdx
  • website/docs/core-concepts/components/terraform/workspaces.mdx
  • website/docs/design-patterns/layered-stack-configuration.mdx
  • website/docs/core-concepts/stacks/define-components.mdx
  • website/docs/core-concepts/projects/configuration/packer.mdx
  • website/docs/integrations/github-actions/component-updater.mdx
  • website/docs/design-patterns/partial-stack-configuration.mdx
  • website/docs/quick-start/simple/extra-credit/create-workflows.mdx
  • website/docs/design-patterns/component-catalog-template.mdx
  • website/docs/quick-start/advanced/next-steps.md
  • website/docs/templates/templates.mdx
  • website/docs/cli/configuration/stacks.mdx
  • website/docs/vendoring/vendor.mdx
  • website/docs/core-concepts/inheritance-basics.mdx
  • website/docs/integrations/github-actions/atmos-terraform-plan.mdx
  • website/docs/stacks/mixins.mdx
  • website/docs/vendoring/components-manifest.mdx
  • website/docs/cli/commands/vendor/vendor-pull.mdx
  • website/docs/quick-start/advanced/create-workflows.mdx
  • website/docs/migration/terraform-workspaces.mdx
  • website/docs/best-practices/terraform.mdx
  • website/docs/quick-start/advanced/create-atmos-stacks.mdx
  • website/docs/validation/validate.mdx
  • website/docs/functions/yaml/store.mdx
  • website/docs/design-patterns/inline-component-configuration.mdx
  • website/docs/core-concepts/imports-basics.mdx
  • website/docusaurus.config.js
  • website/docs/introduction/use-cases.mdx
  • website/docs/core-concepts/connecting-components.mdx
  • website/docs/reference/alternatives.mdx
  • website/docs/quick-start/simple/configure-stacks.mdx
  • website/docs/cli/commands/terraform/usage.mdx
  • website/docs/functions/yaml/env.mdx
  • website/docs/functions/yaml/index.mdx
  • website/docs/core-concepts/organizing-stacks.mdx
  • website/docs/best-practices/stacks.mdx
  • website/docs/core-concepts/first-stack.mdx
  • website/docs/design-patterns/organizational-structure-configuration.mdx
  • website/docs/quick-start/simple/configure-cli.mdx
  • website/src/pages/index.js
  • website/docs/validation/opa.mdx
  • website/docs/design-patterns/component-overrides.mdx
  • website/docs/core-concepts/share-data/remote-state.mdx
  • website/docs/vendoring/url-syntax.mdx
  • website/docs/migration/terragrunt.mdx
  • website/docs/core-concepts/share-data/share-data.mdx
  • website/docs/tutorials/atmos-example-infra.mdx
  • website/docs/design-patterns/component-catalog.mdx
  • website/docs/design-patterns/inline-component-customization.mdx
  • website/docs/stacks/dependencies.mdx
  • website/docs/introduction/faq.mdx
  • website/docs/core-concepts/describe/components.mdx
  • website/docs/quick-start/advanced/configure-terraform-backend.mdx
  • website/docs/design-patterns/component-catalog-with-mixins.mdx
  • website/docs/vendoring/vendor-manifest.mdx
  • website/docs/reference/yaml-reference.mdx
  • website/docs/design-patterns/partial-component-configuration.mdx
  • website/docs/quick-start/mindset.mdx
  • website/docs/core-concepts/next-steps.mdx
  • website/docs/workflows/workflows.mdx
  • website/docs/core-concepts/components/terraform/backends.mdx
  • website/docs/introduction/index.mdx
  • website/docs/functions/yaml/exec.mdx
  • website/docs/cli/configuration/configuration.mdx
  • website/docs/core-concepts/projects/configuration/stores.mdx
  • website/docs/quick-start/advanced/configure-validation.mdx
  • website/docs/core-concepts/stacks/stacks.mdx
  • website/docs/core-concepts/components/terraform/providers.mdx
  • website/docs/functions/yaml/store.get.mdx
  • website/docs/core-concepts/yaml-guide.mdx
  • website/docs/functions/yaml/terraform.output.mdx
  • website/docs/stacks/catalogs.mdx
  • website/docs/functions/yaml/terraform.state.mdx
  • website/docs/functions/yaml/template.mdx
  • website/docs/core-concepts/concepts-overview.mdx
  • website/docs/core-concepts/why-atmos.mdx
  • website/docs/quick-start/advanced/advanced.mdx
  • website/docs/stacks/overrides.mdx
  • website/docs/cli/commands/workflow.mdx
  • website/docs/stacks/stacks.mdx
  • website/docs/cli/commands/describe/describe-component.mdx
  • website/docs/core-concepts/projects/configuration/configuration.mdx
  • website/docs/quick-start/advanced/configure-cli.mdx
  • website/docs/functions/yaml/include.mdx
  • website/docs/quick-start/simple/extra-credit/vendor-components.mdx
  • website/docs/design-patterns/component-inheritance.mdx
  • website/docs/migration/native-terraform.mdx
  • website/docs/quick-start/introduction.mdx
  • website/docs/introduction/why-atmos/why-atmos.mdx
  • website/docs/core-concepts/deploy/deploy.mdx
  • website/docs/integrations/github-actions/github-actions.mdx
  • website/docs/functions/template/index.mdx
  • website/docs/core-concepts/projects/layout.mdx
  • website/docs/core-concepts/components/terraform/state-backend.mdx
  • website/sidebars.js
  • website/docs/stacks/inheritance.mdx
  • website/docs/stacks/imports.mdx
website/docs/cli/commands/**/*.mdx

📄 CodeRabbit inference engine (CLAUDE.md)

website/docs/cli/commands/**/*.mdx: All new commands/flags/parameters must have Docusaurus documentation under website/docs/cli/commands//.mdx using definition lists for arguments and flags.
Follow Docusaurus conventions (front matter, Purpose note, usage, examples; consistent section ordering: Usage → Examples → Arguments → Flags).

Files:

  • website/docs/cli/commands/validate/validate-stacks.mdx
  • website/docs/cli/commands/vendor/vendor-pull.mdx
  • website/docs/cli/commands/terraform/usage.mdx
  • website/docs/cli/commands/workflow.mdx
  • website/docs/cli/commands/describe/describe-component.mdx
website/docs/**/*.{md,mdx}

📄 CodeRabbit inference engine (CLAUDE.md)

website/docs/**/*.{md,mdx}: Build the website after modifying any docs under website/docs/ to verify no broken links or formatting issues.
Document user-facing template functions in the website documentation.

Files:

  • website/docs/cli/commands/validate/validate-stacks.mdx
  • website/docs/quick-start/advanced/vendor-components.mdx
  • website/docs/design-patterns/abstract-component.mdx
  • website/docs/core-concepts/components/terraform/workspaces.mdx
  • website/docs/design-patterns/layered-stack-configuration.mdx
  • website/docs/core-concepts/stacks/define-components.mdx
  • website/docs/core-concepts/projects/configuration/packer.mdx
  • website/docs/integrations/github-actions/component-updater.mdx
  • website/docs/design-patterns/partial-stack-configuration.mdx
  • website/docs/quick-start/simple/extra-credit/create-workflows.mdx
  • website/docs/design-patterns/component-catalog-template.mdx
  • website/docs/quick-start/advanced/next-steps.md
  • website/docs/templates/templates.mdx
  • website/docs/cli/configuration/stacks.mdx
  • website/docs/vendoring/vendor.mdx
  • website/docs/core-concepts/inheritance-basics.mdx
  • website/docs/integrations/github-actions/atmos-terraform-plan.mdx
  • website/docs/stacks/mixins.mdx
  • website/docs/vendoring/components-manifest.mdx
  • website/docs/cli/commands/vendor/vendor-pull.mdx
  • website/docs/quick-start/advanced/create-workflows.mdx
  • website/docs/migration/terraform-workspaces.mdx
  • website/docs/best-practices/terraform.mdx
  • website/docs/quick-start/advanced/create-atmos-stacks.mdx
  • website/docs/validation/validate.mdx
  • website/docs/functions/yaml/store.mdx
  • website/docs/design-patterns/inline-component-configuration.mdx
  • website/docs/core-concepts/imports-basics.mdx
  • website/docs/introduction/use-cases.mdx
  • website/docs/core-concepts/connecting-components.mdx
  • website/docs/reference/alternatives.mdx
  • website/docs/quick-start/simple/configure-stacks.mdx
  • website/docs/cli/commands/terraform/usage.mdx
  • website/docs/functions/yaml/env.mdx
  • website/docs/functions/yaml/index.mdx
  • website/docs/core-concepts/organizing-stacks.mdx
  • website/docs/best-practices/stacks.mdx
  • website/docs/core-concepts/first-stack.mdx
  • website/docs/design-patterns/organizational-structure-configuration.mdx
  • website/docs/quick-start/simple/configure-cli.mdx
  • website/docs/validation/opa.mdx
  • website/docs/design-patterns/component-overrides.mdx
  • website/docs/core-concepts/share-data/remote-state.mdx
  • website/docs/vendoring/url-syntax.mdx
  • website/docs/migration/terragrunt.mdx
  • website/docs/core-concepts/share-data/share-data.mdx
  • website/docs/tutorials/atmos-example-infra.mdx
  • website/docs/design-patterns/component-catalog.mdx
  • website/docs/design-patterns/inline-component-customization.mdx
  • website/docs/stacks/dependencies.mdx
  • website/docs/introduction/faq.mdx
  • website/docs/core-concepts/describe/components.mdx
  • website/docs/quick-start/advanced/configure-terraform-backend.mdx
  • website/docs/design-patterns/component-catalog-with-mixins.mdx
  • website/docs/vendoring/vendor-manifest.mdx
  • website/docs/reference/yaml-reference.mdx
  • website/docs/design-patterns/partial-component-configuration.mdx
  • website/docs/quick-start/mindset.mdx
  • website/docs/core-concepts/next-steps.mdx
  • website/docs/workflows/workflows.mdx
  • website/docs/core-concepts/components/terraform/backends.mdx
  • website/docs/introduction/index.mdx
  • website/docs/functions/yaml/exec.mdx
  • website/docs/cli/configuration/configuration.mdx
  • website/docs/core-concepts/projects/configuration/stores.mdx
  • website/docs/quick-start/advanced/configure-validation.mdx
  • website/docs/core-concepts/stacks/stacks.mdx
  • website/docs/core-concepts/components/terraform/providers.mdx
  • website/docs/functions/yaml/store.get.mdx
  • website/docs/core-concepts/yaml-guide.mdx
  • website/docs/functions/yaml/terraform.output.mdx
  • website/docs/stacks/catalogs.mdx
  • website/docs/functions/yaml/terraform.state.mdx
  • website/docs/functions/yaml/template.mdx
  • website/docs/core-concepts/concepts-overview.mdx
  • website/docs/core-concepts/why-atmos.mdx
  • website/docs/quick-start/advanced/advanced.mdx
  • website/docs/stacks/overrides.mdx
  • website/docs/cli/commands/workflow.mdx
  • website/docs/stacks/stacks.mdx
  • website/docs/cli/commands/describe/describe-component.mdx
  • website/docs/core-concepts/projects/configuration/configuration.mdx
  • website/docs/quick-start/advanced/configure-cli.mdx
  • website/docs/functions/yaml/include.mdx
  • website/docs/quick-start/simple/extra-credit/vendor-components.mdx
  • website/docs/design-patterns/component-inheritance.mdx
  • website/docs/migration/native-terraform.mdx
  • website/docs/quick-start/introduction.mdx
  • website/docs/introduction/why-atmos/why-atmos.mdx
  • website/docs/core-concepts/deploy/deploy.mdx
  • website/docs/integrations/github-actions/github-actions.mdx
  • website/docs/functions/template/index.mdx
  • website/docs/core-concepts/projects/layout.mdx
  • website/docs/core-concepts/components/terraform/state-backend.mdx
  • website/docs/stacks/inheritance.mdx
  • website/docs/stacks/imports.mdx
website/src/**

📄 CodeRabbit inference engine (CLAUDE.md)

Build the website after modifying any component under website/src/.

Files:

  • website/src/pages/index.js
website/sidebars.js

📄 CodeRabbit inference engine (CLAUDE.md)

Build the website after changing navigation in website/sidebars.js.

Files:

  • website/sidebars.js
🧠 Learnings (11)
📚 Learning: 2025-07-05T20:59:02.914Z
Learnt from: aknysh
PR: cloudposse/atmos#1363
File: internal/exec/template_utils.go:18-18
Timestamp: 2025-07-05T20:59:02.914Z
Learning: In the Atmos project, gomplate v4 is imported with a blank import (`_ "github.com/hairyhenderson/gomplate/v4"`) alongside v3 imports to resolve AWS SDK version conflicts. V3 uses older AWS SDK versions that conflict with newer AWS modules used by Atmos. A full migration to v4 requires extensive refactoring due to API changes and should be handled in a separate PR.

Applied to files:

  • website/docs/templates/templates.mdx
📚 Learning: 2025-10-02T20:13:55.539Z
Learnt from: CR
PR: cloudposse/atmos#0
File: CLAUDE.md:0-0
Timestamp: 2025-10-02T20:13:55.539Z
Learning: Applies to **/*.go : Organize imports into three groups (stdlib, third-party, Atmos) separated by blank lines; sort alphabetically within each group; maintain existing aliases.

Applied to files:

  • website/docs/templates/templates.mdx
📚 Learning: 2025-09-24T20:45:40.401Z
Learnt from: Benbentwo
PR: cloudposse/atmos#1475
File: tests/fixtures/scenarios/atmos-auth/stacks/deploy/nonprod.yaml:3-4
Timestamp: 2025-09-24T20:45:40.401Z
Learning: In Atmos stack files, the correct syntax for importing other stack files is `import:` (singular), not `imports:` (plural). All stack files in the Atmos codebase consistently use `import:` followed by a list of paths to import.

Applied to files:

  • website/docs/cli/configuration/stacks.mdx
  • website/docs/quick-start/advanced/create-atmos-stacks.mdx
  • website/docs/tutorials/atmos-example-infra.mdx
  • website/docs/stacks/overrides.mdx
📚 Learning: 2025-01-19T22:30:27.600Z
Learnt from: aknysh
PR: cloudposse/atmos#0
File: :0-0
Timestamp: 2025-01-19T22:30:27.600Z
Learning: The Atmos YAML function `!env` is used to retrieve environment variables and assign them to sections in stack manifests. It supports both simple types (string, number, boolean) and complex types (JSON-encoded lists, maps, objects).

Applied to files:

  • website/docs/functions/yaml/store.mdx
  • website/docs/functions/yaml/env.mdx
  • website/docs/functions/yaml/exec.mdx
  • website/docs/functions/yaml/store.get.mdx
  • website/docs/functions/yaml/terraform.output.mdx
  • website/docs/functions/yaml/terraform.state.mdx
📚 Learning: 2025-01-19T22:30:27.600Z
Learnt from: aknysh
PR: cloudposse/atmos#0
File: :0-0
Timestamp: 2025-01-19T22:30:27.600Z
Learning: The Atmos YAML function `!include` allows downloading local or remote files from different sources and assigning their contents to sections in stack manifests. It supports various protocols (file, http, git, s3, etc.) and can filter content using YQ expressions.

Applied to files:

  • website/docs/functions/yaml/store.mdx
  • website/docs/functions/yaml/env.mdx
  • website/docs/functions/yaml/index.mdx
  • website/docs/functions/yaml/exec.mdx
  • website/docs/functions/yaml/store.get.mdx
  • website/docs/functions/yaml/terraform.output.mdx
  • website/docs/functions/yaml/terraform.state.mdx
  • website/docs/functions/yaml/include.mdx
📚 Learning: 2024-12-01T00:33:20.298Z
Learnt from: aknysh
PR: cloudposse/atmos#810
File: examples/tests/stacks/catalog/terraform/template-functions-test2/defaults.yaml:28-32
Timestamp: 2024-12-01T00:33:20.298Z
Learning: In `examples/tests/stacks/catalog/terraform/template-functions-test2/defaults.yaml`, `!exec atmos terraform output` is used in examples to demonstrate its usage, even though `!terraform.output` is the recommended approach according to the documentation.

Applied to files:

  • website/docs/functions/yaml/store.mdx
  • website/docs/functions/yaml/env.mdx
  • website/docs/introduction/faq.mdx
  • website/docs/functions/yaml/exec.mdx
  • website/docs/functions/yaml/store.get.mdx
  • website/docs/functions/yaml/terraform.output.mdx
  • website/docs/functions/yaml/terraform.state.mdx
📚 Learning: 2025-09-10T21:17:55.273Z
Learnt from: samtholiya
PR: cloudposse/atmos#1466
File: toolchain/http_client_test.go:3-10
Timestamp: 2025-09-10T21:17:55.273Z
Learning: In the cloudposse/atmos repository, imports should never be changed as per samtholiya's coding guidelines.

Applied to files:

  • website/docs/tutorials/atmos-example-infra.mdx
📚 Learning: 2025-01-09T22:27:25.538Z
Learnt from: samtholiya
PR: cloudposse/atmos#914
File: cmd/validate_stacks.go:20-23
Timestamp: 2025-01-09T22:27:25.538Z
Learning: The validate commands in Atmos can have different help handling implementations. Specifically, validate_component.go and validate_stacks.go are designed to handle help requests differently, with validate_stacks.go including positional argument checks while validate_component.go does not.

Applied to files:

  • website/docs/quick-start/advanced/configure-validation.mdx
📚 Learning: 2025-10-02T20:13:55.539Z
Learnt from: CR
PR: cloudposse/atmos#0
File: CLAUDE.md:0-0
Timestamp: 2025-10-02T20:13:55.539Z
Learning: Applies to /pkg/datafetcher/schema/stacks/stack-config/1.0.json : Update the stack config schema when adding configuration options.

Applied to files:

  • website/docs/core-concepts/stacks/stacks.mdx
📚 Learning: 2024-12-03T04:01:16.446Z
Learnt from: aknysh
PR: cloudposse/atmos#810
File: website/docs/core-concepts/stacks/yaml-functions/terraform.output.mdx:0-0
Timestamp: 2024-12-03T04:01:16.446Z
Learning: In the `terraform.output.mdx` documentation file (`website/docs/core-concepts/stacks/yaml-functions/terraform.output.mdx`), the cache invalidation and cache scope behavior for the `!terraform.output` function are already described.

Applied to files:

  • website/docs/functions/yaml/terraform.output.mdx
  • website/docs/functions/yaml/terraform.state.mdx
📚 Learning: 2024-11-12T13:06:56.194Z
Learnt from: osterman
PR: cloudposse/atmos#768
File: website/docs/cheatsheets/vendoring.mdx:70-70
Timestamp: 2024-11-12T13:06:56.194Z
Learning: In `atmos vendor pull --everything`, the `--everything` flag uses the TTY for TUI but is not interactive.

Applied to files:

  • website/docs/quick-start/simple/extra-credit/vendor-components.mdx
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (5)
  • GitHub Check: Build (windows-latest, windows)
  • GitHub Check: Lint (golangci)
  • GitHub Check: Analyze (go)
  • GitHub Check: website-deploy-preview
  • GitHub Check: Summary
🔇 Additional comments (32)
website/docs/design-patterns/inline-component-customization.mdx (1)

14-14: Link tweak looks right.

Glad to see the import reference pointing at /stacks/imports now—it tracks with the refreshed docs layout.

website/docs/functions/yaml/template.mdx (1)

185-185: Please confirm docs build.
Nice catch on the new /stacks/inheritance path—mind running the docs build (yarn --cwd website build or equivalent) to be sure everything renders and the link resolves as expected?

website/docs/cli/configuration/stacks.mdx (1)

77-77: Good link update

The new /stacks/imports target aligns with the stacks docs reorg. All good.

website/docs/design-patterns/abstract-component.mdx (1)

235-236: Link swap looks good.

Nice cleanup on the references; the new /stacks/inheritance target matches the current structure.

website/docs/cli/commands/terraform/usage.mdx (1)

356-357: Link update aligns with stacks docs. Thanks for pointing this flag at /stacks/dependencies/; matches the new doc layout cleanly.

website/docs/functions/yaml/index.mdx (1)

79-79: Link update looks good.

The path change from /core-concepts/stacks/templates to /templates aligns with the docs reorganization. Just ensure the redirect is configured in Docusaurus to prevent 404s.

website/docs/integrations/github-actions/component-updater.mdx (1)

16-16: Vendoring link updated correctly.

The path shift from /core-concepts/vendor to /vendoring/vendor is consistent with the broader reorganization.

website/docs/functions/yaml/store.get.mdx (1)

62-62: Template link updated properly.

The change from /core-concepts/stacks/templates to /templates matches the documentation restructuring pattern.

website/docs/functions/yaml/terraform.output.mdx (1)

52-52: Template reference updated.

Link change from /core-concepts/stacks/templates to /templates follows the established pattern.

website/src/pages/index.js (1)

34-34: Homepage link updated.

The change from /core-concepts/stacks/catalogs to /stacks/catalogs aligns with the stacks documentation relocation.

website/docs/design-patterns/inline-component-configuration.mdx (1)

14-14: Imports link updated correctly.

Path change from /core-concepts/stacks/imports to /stacks/imports is consistent with the stacks reorganization.

website/docs/functions/yaml/exec.mdx (1)

66-66: Template link updated.

The path from /core-concepts/stacks/templates to /templates follows the same pattern as the other YAML function docs.

website/docs/quick-start/advanced/vendor-components.mdx (2)

37-37: Vendoring reference updated.

Path change from /core-concepts/vendor to /vendoring/vendor matches the vendoring documentation migration.


1-266: Build the website and verify no broken links

Per docs guidelines, manually run the site build (e.g., cd website && npm run build) and confirm there are no broken links or formatting issues after these changes.

website/docs/core-concepts/deploy/deploy.mdx (1)

20-20: LGTM—links updated to new navigation structure.

The workflow and dependency links now point to the new top-level paths (/workflows and /stacks/dependencies), consistent with the broader documentation reorganization in this PR.

Also applies to: 28-28, 44-44

website/docs/migration/terragrunt.mdx (1)

1-574: Strong migration guide—clear structure and practical examples.

This comprehensive guide effectively maps Terragrunt concepts to Atmos equivalents with side-by-side comparisons, real-world examples, and actionable migration steps. The tone is welcoming and the content is well-organized.

A few observations:

  • The checklist at line 528-540 provides a clear migration path
  • Code examples are consistently formatted and easy to follow
  • The "Why Migrate?" section (542-558) balances benefits with honest tradeoffs
website/docs/core-concepts/imports-basics.mdx (1)

1-301: LGTM—clear and well-structured import basics guide.

The guide effectively explains import mechanics with practical examples. The deep merge explanation (lines 64-127) is particularly clear, showing both the input files and the merged result.

Strong points:

  • Progressive complexity (simple examples first)
  • Clear distinction between imports and inheritance (lines 272-284)
  • Useful organizational patterns (lines 129-164)
website/docs/migration/native-terraform.mdx (1)

1-636: Excellent migration guide—pragmatic and encouraging.

This guide nails the balance between quick wins and long-term value. The "Crawl, Walk, Run" structure (lines 27-33) sets clear expectations, and the "20-minute migration" examples make adoption feel achievable.

Particularly strong:

  • Honest about existing tool fatigue (lines 18-26)
  • Clear about what stays the same (lines 169-175)
  • Transparent about limitations (lines 495-509)
  • The tone is motivating without overselling
website/docs/core-concepts/yaml-guide.mdx (1)

1-303: LGTM—clear explanation of YAML mechanics in Atmos.

The guide effectively clarifies the "no file-level scope" concept (lines 17-22), which is crucial for understanding Atmos configuration merging. The deep merge explanation (lines 64-126) with before/after examples is particularly helpful.

Strong sections:

  • YAML tags vs Go templates comparison (lines 161-202)
  • Gotchas with practical fixes (lines 224-286)
  • Clear examples throughout
website/sidebars.js (2)

80-91: LGTM—Migration Guides category added appropriately.

The new category is properly configured with collapsible: true and collapsed: true, which makes sense for optional migration content that won't clutter the main navigation.


183-289: LGTM—new top-level categories align with documentation restructuring.

The addition of Stack Configuration, Templates, Workflows, Validation, and Vendoring categories properly reflects the new top-level documentation structure. Each category uses autogenerated items, which keeps the sidebar config maintainable.

website/docs/quick-start/simple/extra-credit/vendor-components.mdx (1)

24-24: LGTM—vendoring links updated to new path.

Both references now correctly point to /vendoring/vendor, consistent with the documentation restructuring.

Also applies to: 156-156

website/docs/vendoring/url-syntax.mdx (2)

473-473: LGTM—vendor manifest link updated to new path.

The reference now correctly points to /vendoring/vendor-manifest, consistent with the documentation restructuring.


473-473: Install dependencies and build the website to verify no broken links.

Run in the website directory:

npm install
npm run build

Confirm the build completes without errors or “broken”/warning messages.

website/docs/design-patterns/component-catalog-template.mdx (1)

17-18: Link updates look consistent.

All internal documentation links correctly updated from /core-concepts/stacks/* to /stacks/* paths, matching the broader documentation restructuring.

Also applies to: 49-49, 52-52, 203-203

website/docs/design-patterns/organizational-structure-configuration.mdx (1)

47-47: Link updates are consistent.

Documentation references correctly updated to the new top-level paths: /stacks/imports, /stacks/catalogs, and /stacks/mixins.

Also applies to: 570-571

website/docs/core-concepts/concepts-overview.mdx (1)

1-133: Well-structured introduction to core concepts.

The new concepts overview page provides clear explanations with practical examples. Navigation links are properly structured for the new documentation layout.

website/docs/core-concepts/components/terraform/providers.mdx (1)

96-96: Link updates are correct.

Both references to inheritance documentation correctly updated to /stacks/inheritance.

Also applies to: 177-177

website/docs/core-concepts/stacks/define-components.mdx (1)

10-10: Link updates are symmetric and correct.

All references updated consistently across both Terraform and Helmfile sections: /stacks/* paths and /validation/validating.

Also applies to: 69-69, 176-176

website/docs/templates/templates.mdx (1)

18-18: Comprehensive link updates are consistent.

All internal references correctly updated across multiple sections: /stacks/inheritance, /stacks/imports, /vendoring/*, and /templates/datasources.

Also applies to: 40-40, 151-151, 200-200, 390-392, 407-407, 411-411, 427-427, 583-583, 738-738

website/docs/stacks/stacks.mdx (1)

1-237: Well-organized landing page for Stack Configuration.

The new overview page provides clear navigation to advanced stack features with consistent link structure using the new top-level paths.

website/docusaurus.config.js (1)

122-214: No broken-link issues; redirects cover all path changes—confirm the commented-out workflows/templates redirects are intentional.

## what
- Add comprehensive dot notation section to YAML guide
- Add detailed dot notation section to YAML reference
- Include examples of when to use vs when not to use dot notation
- Show dot notation works everywhere (vars, settings, env, etc.)
- Add to key takeaways in YAML guide

## why
- Users need to know they can use dot notation for cleaner, more readable configuration
- When setting single values in deeply nested structures, dot notation is more concise
- Reduces unnecessary nesting while maintaining clarity
- Example: `settings.spacelift.workspace_enabled: true` vs full nested structure

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
@codecov
Copy link

codecov bot commented Oct 3, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 72.15%. Comparing base (6386657) to head (6ce2d7f).

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #1588      +/-   ##
==========================================
- Coverage   72.15%   72.15%   -0.01%     
==========================================
  Files         475      475              
  Lines       45713    45713              
==========================================
- Hits        32986    32984       -2     
- Misses      10105    10106       +1     
- Partials     2622     2623       +1     
Flag Coverage Δ
unittests 72.15% <ø> (-0.01%) ⬇️

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

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

## what
- Remove defensive language ("Let's be honest", "This isn't a failure")
- Convert passive voice to active voice throughout
- Add humor and friendly metaphors to YAML guide
- Fix yaml-reference slug from /reference/yaml-reference to /reference/yaml

## why
- Defensive language sounds apologetic rather than confident
- Active voice is clearer and more direct
- Humor makes technical content more approachable
- Clean URLs without redundant terms

## changes
### Remove Defensive Language
- "Let's be honest: nobody uses pure Terraform" → "Most teams don't use Terraform in isolation"
- "This isn't a failure—it's natural evolution" → "This is the natural evolution"
- "Let's be honest:" before limitations → "Here's what to expect:"

### Convert Passive to Active Voice
- "Files are processed sequentially" → "Atmos processes files sequentially"
- "YAML tags are evaluated during parsing" → "Atmos evaluates YAML tags during parsing"
- "Go templates are processed after" → "Atmos processes Go templates after"
- "after all imports are processed" → "Atmos processes all imports"

### Add Humor & Friendliness
- YAML opening: "has a few party tricks up its sleeve... features, not bugs (OK, definitely features)"
- Type coercion: "The NO Problem (Or: How Norway Broke YAML)"
- Deep merge metaphor: "like layering transparencies... infrastructure inheritance, YAML style"

### Fix Technical Issues
- yaml-reference.mdx slug: /reference/yaml-reference → /reference/yaml (remove redundancy)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between f361fd0 and 680c805.

📒 Files selected for processing (4)
  • website/docs/core-concepts/yaml-guide.mdx (1 hunks)
  • website/docs/introduction/why-atmos/why-atmos.mdx (1 hunks)
  • website/docs/migration/native-terraform.mdx (1 hunks)
  • website/docs/reference/yaml-reference.mdx (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • website/docs/core-concepts/yaml-guide.mdx
🧰 Additional context used
📓 Path-based instructions (2)
website/**

📄 CodeRabbit inference engine (.cursor/rules/atmos-rules.mdc)

website/**: Update website documentation in website/ when adding features
Ensure consistency between CLI help text and website documentation
Follow the website's documentation structure and style
Keep website code in website/ and follow its architecture/style; test changes locally
Keep CLI and website documentation in sync; document new features with examples and use cases

Files:

  • website/docs/reference/yaml-reference.mdx
  • website/docs/introduction/why-atmos/why-atmos.mdx
  • website/docs/migration/native-terraform.mdx
website/docs/**/*.{md,mdx}

📄 CodeRabbit inference engine (CLAUDE.md)

website/docs/**/*.{md,mdx}: Build the website after modifying any docs under website/docs/ to verify no broken links or formatting issues.
Document user-facing template functions in the website documentation.

Files:

  • website/docs/reference/yaml-reference.mdx
  • website/docs/introduction/why-atmos/why-atmos.mdx
  • website/docs/migration/native-terraform.mdx
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (5)
  • GitHub Check: Build (windows-latest, windows)
  • GitHub Check: website-deploy-preview
  • GitHub Check: Lint (golangci)
  • GitHub Check: Analyze (go)
  • GitHub Check: Summary
🔇 Additional comments (1)
website/docs/introduction/why-atmos/why-atmos.mdx (1)

1-75: Reads clean—nice work.

Narrative flows well and the component usage matches the rest of the docs.

@osterman osterman changed the title Add native Terraform to Atmos migration guide Restructure documentation with progressive learning path and simplified URLs Oct 3, 2025
osterman and others added 2 commits October 3, 2025 08:58
## what
- Add explicit slugs to problem files (components.mdx, custom-commands.mdx, share-data.mdx)
- Fix all /learn/yaml-guide → /learn/yaml references (5 files)
- Fix all /core-concepts button links → /learn (5 files)
- Fix intro index /core-concepts → /learn button

## why
- Files without explicit slugs caused Docusaurus to generate unexpected URLs
- Bulk find/replace missed some button links with specific syntax
- Need explicit slugs for predictable URLs

## stats
- Fixed ~40 additional broken links
- Down from 66 broken links to ~15 remaining
- Remaining issues are mostly category page links (/learn, /components)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
- Fix homepage links: /introduction → /intro, /core-concepts/components → /components/components, /core-concepts/stacks → /learn/stacks
- Fix integration page links: /components/ → /components/components (3 instances)
- Build now succeeds with 0 broken links

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 21

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (22)
website/docs/quick-start/simple/extra-credit/create-workflows.mdx (1)

85-90: Fix workflow name mismatch in example comments

The comments reference plan-all-vpc-flow-logs and apply-all-components, but the defined workflows are plan-all and apply-all. Update the comments to match.

-# Execute the workflow `plan-all-vpc-flow-logs` from the workflow manifest `weather.yaml`
+# Execute the workflow `plan-all` from the workflow manifest `weather.yaml`
 atmos workflow plan-all -f weather

-# Execute the workflow `apply-all-components` from the workflow manifest `weather.yaml`
+# Execute the workflow `apply-all` from the workflow manifest `weather.yaml`
 atmos workflow apply-all -f weather
website/docs/quick-start/install-atmos.mdx (6)

42-47: Brewfile guidance: fix command and version pinning approach.

  • Use brew bundle, not brew install, to consume a Brewfile.
  • Homebrew Brewfile does not support explicit version strings like "1.2.3". Pin via Brewfile.lock.json (commit it) and use brew bundle --no-upgrade for reproducibility.

Apply:

-    <File title="Brewfile">
-    <pre><code>brew "atmos", "<LatestRelease />"</code></pre>
-    </File>
-
-    Then just run `brew install` in the same directory as the `Brewfile`.
+    <File title="Brewfile">
+    <pre><code>brew "atmos"</code></pre>
+    </File>
+
+    Then run `brew bundle` in the same directory. Commit the generated `Brewfile.lock.json` to pin versions, and use `brew bundle --no-upgrade` in CI/dev for consistency.

56-62: Copy/paste breaks: Unicode pipe in Debian snippet.

The pipe is U+2502 (│). Replace with ASCII '|' so the command works.

-    curl -1sLf 'https://dl.cloudsmith.io/public/cloudposse/packages/cfg/setup/bash.deb.sh' │ bash
+    curl -1sLf 'https://dl.cloudsmith.io/public/cloudposse/packages/cfg/setup/bash.deb.sh' | bash

Also consider sudo -E bash if not running as root.


70-75: Copy/paste breaks: Unicode pipe in RPM snippet.

Same issue; use ASCII pipe.

-    curl -1sLf 'https://dl.cloudsmith.io/public/cloudposse/packages/setup.rpm.sh' │ sudo -E bash
+    curl -1sLf 'https://dl.cloudsmith.io/public/cloudposse/packages/setup.rpm.sh' | sudo -E bash

84-89: Copy/paste breaks: Unicode pipe in Alpine snippet (+ shell choice).

  • Replace Unicode pipe with ASCII.
  • Alpine may not have bash; pipe to sh.
-    curl -fsSL 'https://dl.cloudsmith.io/public/cloudposse/packages/setup.alpine.sh' │ bash
+    curl -fsSL 'https://dl.cloudsmith.io/public/cloudposse/packages/setup.alpine.sh' | sh

141-143: Go install needs version suffix.

With modern Go, go install of remote modules requires @Version (e.g., @latest).

-    go install github.com/cloudposse/atmos
+    go install github.com/cloudposse/atmos@latest

You already show pinned and latest variants below—keep this consistent.


296-296: Typo.

“troule” → “trouble”.

-If you're having any troule, try [iTerm2](https://iterm2.com/) or any other modern day terminal that supports
+If you're having any trouble, try [iTerm2](https://iterm2.com/) or any other modern day terminal that supports
website/docs/cli/commands/terraform/terraform-generate-varfiles.mdx (2)

65-73: Fix copy/paste in Flags: "backend" wording and wrong formats.

This command generates varfiles, not backends; supported formats include yaml (examples show it), not backend-config.

Apply:

@@
     <dt>`--components` <em>(optional)</em></dt>
     <dd>
-        Only generate backend files for the specified Atmos components (comma-separated values).
+        Only generate varfiles for the specified Atmos components (comma-separated values).
     </dd>
@@
     <dt>`--format` <em>(optional)</em></dt>
     <dd>
-        Backend file format: `json`, `hcl`, `backend-config` (`json` is default) .
+        Varfile format: `json`, `hcl`, `yaml` (`json` is default).
     </dd>

6-6: Correct varfile extension.

Terraform varfiles use .tfvars (and variants), not .tfvar.

-description: Use this command to generate the Terraform varfiles (`.tfvar`) for all Atmos terraform components in all stacks.
+description: Use this command to generate Terraform varfiles (`.tfvars`, `.tfvars.json`, or `.tfvars.hcl`) for all Atmos Terraform components in all stacks.
website/docs/components/terraform/terraform.mdx (1)

6-6: Duplicate Docusaurus doc id 'terraform' (will fail build).

This id duplicates another page’s id. Make ids unique.

Apply:

-id: terraform
+id: terraform-root-modules
website/docs/projects/configuration/terraform.mdx (1)

5-5: Unique Docusaurus doc id required

Duplicate id "terraform" collides with other pages. In website/docs/projects/configuration/terraform.mdx frontmatter, update:

-id: terraform
+id: configure-terraform
website/docs/cli/configuration/components.mdx (2)

206-213: Backtick/spacing issues in cluster_name_pattern section.

  • Missing opening backtick around ENV var and extra spaces (Line 208).
  • Stray trailing backtick in example (Line 211).
    These can break formatting.
-    Can also be set using   ATMOS_COMPONENTS_HELMFILE_CLUSTER_NAME_PATTERN` ENV var.
+    Can also be set using `ATMOS_COMPONENTS_HELMFILE_CLUSTER_NAME_PATTERN` ENV var.
@@
-    {namespace}-{tenant}-{environment}-{stage}-eks-cluster`
+    {namespace}-{tenant}-{environment}-{stage}-eks-cluster

1-214: Components configuration docs: add missing slug page and ENV var docs

  • No /core-concepts/ links remain.
  • The /components/terraform slug page is missing (add website/docs/components/terraform/index.mdx with appropriate frontmatter).
  • Terraform CLI docs omit the append_user_agent setting and its ATMOS_COMPONENTS_TERRAFORM_APPEND_USER_AGENT ENV var—please document both under the Terraform component section.
website/docs/functions/yaml/store.mdx (1)

120-123: Incorrect function name referenced (“!terraform.output”).

This page documents !store; update the sentence to reference !store, not !terraform.output.

Apply:

-There are multiple ways you can specify the Atmos stack parameter in the `!terraform.output` function.
+There are multiple ways you can specify the Atmos stack parameter in the `!store` function.
website/docs/components/terraform/backends.mdx (5)

12-14: Fix Terraform link and grammar

  • Link "Terraform" should point to HashiCorp docs, not OpenTofu.
  • Use plural pronoun (“their state”).

Apply:

-Backends define where [Terraform](https://opentofu.org/docs/language/state/) and
-[OpenTofu](https://opentofu.org/docs/language/state/) store its state.
+Backends define where [Terraform](https://developer.hashicorp.com/terraform/language/state) and
+[OpenTofu](https://opentofu.org/docs/language/state/) store their state.

53-55: Clarify local backend locking

Local backend has only local file locking; it lacks distributed/remote locking and is unsafe for multi-user concurrency.

Suggested copy:

-- **No Concurrency and Locking**: Local backend lacks locking, leading to race conditions when multiple users modify the state.
+- **Limited Concurrency/Locking**: Local backend uses local file locks only; it doesn't provide distributed locking, making it unsafe for multi-user access.

301-305: Typo: backend key should be gcs (not gcp)

This will break backend generation if copied verbatim.

-      backend:
-        gcp:
-          prefix: "my-component"
+      backend:
+        gcs:
+          prefix: "my-component"

320-323: Typo: JSON backend key should be gcs (not gcp)

-      "gcp": {
+      "gcs": {
         "bucket": "tf-state",
         "prefix": "my-component"
       }

206-210: Missing documentation pages for new routes
The following linked routes in website/docs/components/terraform/backends.mdx (as well as at lines 408–410, 418–420) have no corresponding source files under website/docs, resulting in broken links after build:

  • /workflows
  • /learn/stacks
  • /cli/commands/terraform/generate-backend
  • /cli/commands/terraform/generate-backends

Add the appropriate .md/.mdx (or index.md(x)) files for these routes or adjust the links.

website/docs/design-patterns/abstract-component.mdx (1)

173-181: Invalid YAML: nested import key

Use a single import with a sequence.

-```yaml title="stacks/orgs/acme/plat/prod/us-east-2.yaml"
-import:
-  import:
-    - orgs/acme/plat/prod/_defaults
-    - mixins/region/us-east-2
-    # Import the `vpc/defaults` component from the `catalog/vpc/defaults.yaml` manifest
-    - catalog/vpc/defaults
+```yaml title="stacks/orgs/acme/plat/prod/us-east-2.yaml"
+import:
+  - orgs/acme/plat/prod/_defaults
+  - mixins/region/us-east-2
+  # Import the `vpc/defaults` component from the `catalog/vpc/defaults.yaml` manifest
+  - catalog/vpc/defaults
website/docs/learn/stacks/define-components.mdx (1)

53-57: Move settings out of metadata in the example

settings is a top-level block (sibling of metadata, vars), not nested under metadata.

       metadata:
         # Components can be of type "real" (default) or "abstract"
         type: real
         # This is the directory path of the component.
         # In this example, we're referencing a component in the `components/terraform/stable/example` folder.
         component: stable/example
-
-        # We can leverage multiple inheritance to sequentially deep merge multiple configurations
-        inherits:
-          - example-defaults
-
-        # Settings are where we store configuration related to integrations.
-        # It's a freeform map; anything can be placed here.
-        settings:
-          spacelift: {}
+        # We can leverage multiple inheritance to sequentially deep merge multiple configurations
+        inherits:
+          - example-defaults
+
+      # Settings are where we store configuration related to integrations.
+      # It's a freeform map; anything can be placed here.
+      settings:
+        spacelift: {}
website/docs/functions/yaml/include.mdx (1)

141-152: Fix broken documentation links
In website/docs/functions/yaml/include.mdx (lines 141-152), these links point to non-existent pages:

  • /learn/stacks
  • /cli/commands/list/stacks
  • /cli/commands/list/components

Update them to valid paths or add the missing docs.

♻️ Duplicate comments (5)
website/docs/components/terraform/brownfield.mdx (1)

59-59: Consistent link update; same verification applies

Matches the new connections path. Covered by the prior check.

website/docs/quick-start/simple/extra-credit/add-custom-commands.mdx (1)

22-23: Links updated to new custom-commands path look right.

Change aligns with the new docs structure.

Build check from prior comment covers this too.

Also applies to: 65-66

website/docs/migration/native-terraform.mdx (1)

529-530: Fix the generated tfvars filename.

Atmos writes terraform.tfvars.json, not .auto.tfvars.json.

-Atmos auto-generates `.auto.tfvars.json` from your `vars:` section.
+Atmos auto-generates `terraform.tfvars.json` from your `vars:` section.
-**Yes.** Atmos can generate `.auto.tfvars.json` from your stack YAML, but you can also keep using existing `.tfvars` files during migration.
+**Yes.** Atmos can generate `terraform.tfvars.json` from your stack YAML, but you can also keep using existing `.tfvars` files during migration.

Also applies to: 619-620

website/docs/reference/yaml-reference.mdx (1)

271-306: Cross-file anchor dereference will fail; use same-file anchor or Atmos inheritance

Anchors are file-scoped; <<: *vpc_defaults won’t resolve across import. Replace with same-file anchor reuse or Atmos component inheritance.

Proposed fix (switch to inheritance):

-<File title="stacks/catalog/vpc-defaults.yaml">
+<File title="stacks/catalog/vpc-defaults.yaml">
 ```yaml
 components:
   terraform:
     vpc-base:
       metadata:
         type: abstract
-      vars: &vpc_defaults
+      vars:
         enable_dns_hostnames: true
         enable_dns_support: true
         enable_nat_gateway: true
         single_nat_gateway: false
         create_igw: true
         map_public_ip_on_launch: false

-
+

import:
  - catalog/vpc-defaults

components:
  terraform:
    vpc-prod:
      metadata:
        component: vpc
+        inherits:
+          - vpc-base
      vars:
-        <<: *vpc_defaults  # Inherit all VPC defaults
        cidr_block: "10.0.0.0/16"
        availability_zones: ["us-east-1a", "us-east-1b", "us-east-1c"]
        single_nat_gateway: true  # Override for prod
```

Alternatively, keep the anchor example but keep both &vpc_defaults and its <<: *vpc_defaults usage in the same file.

website/docs/integrations/github-actions/atmos-terraform-plan.mdx (1)

97-98: Confirm target: /learn/stacks/ vs /stacks/.

Is the “Atmos stack configuration” link intentionally pointing to the Learn page? If this should reference the stacks reference section, consider /stacks/ instead.

🧹 Nitpick comments (36)
website/docs/intro/why-atmos/stage-8.mdx (1)

35-38: Approve link update: ‘/intro/why-atmos/nirvana’ page exists and routing is correct. Optional: use <Link> for the stage-9 button or switch to a relative ./nirvana path for consistency.

website/docs/deploy/deploy.mdx (1)

20-20: Flatten the Custom Commands URL.

Given the simplified URLs, prefer /custom-commands over /custom-commands/custom-commands.

Apply this diff:

-... including [custom commands](/custom-commands/custom-commands).
+... including [custom commands](/custom-commands).
website/docs/intro/why-atmos/stage-2.mdx (1)

34-39: Internal links verified; targets exist. Both /intro/why-atmos/stage-5 (id: stage-5) and /intro/why-atmos/stage-3 (id: stage-3) pages are present. Optional: switch to Docusaurus <Link> for internal links to match the CTA and enable prefetch.

-... [to realize the inefficiencies of this approach (stage 5)](/intro/why-atmos/stage-5).
+... <Link to="/intro/why-atmos/stage-5">to realize the inefficiencies of this approach (stage 5)</Link>.
-... [everything new as a module](/intro/why-atmos/stage-3).
+... <Link to="/intro/why-atmos/stage-3">everything new as a module</Link>.
website/docs/projects/layout.mdx (1)

94-94: Link looks right; consider precise wording.

Confirm /validation/validating exists post‑move. Optional: tighten phrasing to standard terms.

-This folder contains the [JSON or OPA schemas used to validate the stack configurations](/validation/validating).
+This folder contains the [JSON Schema or OPA (Rego) policies used to validate stack configurations](/validation/validating).
website/docs/intro/faq.mdx (1)

60-60: Diversify duplicate link targets: Both “component architecture” and “advanced features” currently point to /stacks/inheritance; consider linking “component architecture” to a more specific page or anchor that better reflects its content.

website/docs/cli/commands/terraform/terraform-generate-varfile.mdx (1)

67-71: Capitalize “Terraform” for consistency.

Match product name casing.

-        Enable/disable Go template processing in Atmos stack manifests when executing terraform commands.
+        Enable/disable Go template processing in Atmos stack manifests when executing Terraform commands.
@@
-        Enable/disable YAML functions processing in Atmos stack manifests<br/>when executing terraform commands.
+        Enable/disable YAML functions processing in Atmos stack manifests<br/>when executing Terraform commands.

Also applies to: 77-81

website/docs/cli/commands/completion.mdx (4)

52-54: Code fence language mismatch in Bash section.

Use bash fence for sourcing ~/.bashrc.

-```zsh
+```bash
 source ~/.bashrc

59-59: Tab label prop likely wrong.

TabItem should use label, not name.

-<TabItem value="zsh" name="Zsh">
+<TabItem value="zsh" label="Zsh">

26-26: Capitalize PowerShell in prose.

Keep narrative capitalization consistent.

-This command generates completion scripts for `Bash`, `Zsh`, `Fish` and `powershell`.
+This command generates completion scripts for `Bash`, `Zsh`, `Fish` and `PowerShell`.

18-34: Optional: reorder sections to match CLI docs convention.

Per guidelines, prefer: Usage → Examples → Arguments → Flags. Consider moving “Examples” above “Configuring Your Shell.”

As per coding guidelines

Also applies to: 100-131

website/docs/quick-start/simple/configure-cli.mdx (2)

133-134: Unify validation links.

If validation content moved under /validation/validating, consider pointing “Manifests Validation” (Line 132) there too for consistency, unless /cli/schemas is intentionally separate.


143-149: Links updated correctly; small grammar nit.

Nice switch to /connections/remote-state and /learn/stacks. Suggest “which tries” (singular “code”) in Line 148.

-which try to locate the [CLI config](/cli/configuration) `atmos.yaml` file before parsing and processing [Atmos stacks](/learn/stacks).
+which tries to locate the [CLI config](/cli/configuration) `atmos.yaml` file before parsing and processing [Atmos stacks](/learn/stacks).
website/docs/cli/commands/terraform/terraform-generate-varfiles.mdx (1)

47-49: Add “Arguments” section for consistency (none).

Guideline order is Usage → Examples → Arguments → Flags. Add a stub.

@@
-## Flags
+## Arguments
+
+This command has no positional arguments.
+
+## Flags

As per coding guidelines

website/docs/quick-start/simple/provision.mdx (1)

61-61: Minor copy tweak to match new structure.

Consider replacing “core concepts” with “Learn Atmos” or linking “Learn” to keep terminology consistent with the new section.

website/docs/components/terraform/providers.mdx (1)

96-96: Update link text and fix grammar

  • Change link text in website/docs/components/terraform/providers.mdx:96 from “Atmos Component Inheritance” to “Inherit Configurations”
  • Fix typo at line 177: “list are” → “lists are”
@@ website/docs/components/terraform/providers.mdx
-Refer to [Atmos Component Inheritance](/stacks/inheritance) for more information on all types of component inheritance
+Refer to [Inherit Configurations](/stacks/inheritance) for more information on all types of component inheritance

-[inheritance](/stacks/inheritance) chain since list are not deep-merged, they are replaced.
+[inheritance](/stacks/inheritance) chain since lists are not deep-merged, they are replaced.
website/docs/migration/terragrunt.mdx (2)

57-72: Link to the Remote State docs for discoverability.

Add a reference to the Remote State guide so readers can go deeper right away.

-### Terragrunt `dependency` → Atmos Remote State
+### Terragrunt `dependency` → Atmos Remote State
+
+See: [/connections/remote-state](/connections/remote-state)

491-497: Note: exec usage may require enabling it.

If gomplate exec is gated by config in your setup, add a one-liner note or link on enabling it to avoid surprises.

website/docs/migration/native-terraform.mdx (2)

52-56: Homebrew install: use the Cloud Posse tap.

Recommend the explicit tap to avoid install failures on macOS.

-# macOS
-brew install atmos
+# macOS
+brew install cloudposse/tap/atmos

518-526: Verify command key placement.

Typically the Terraform binary override lives under settings.terraform.command. If that’s the case here, update the example.

 components:
   terraform:
     vpc:
-      command: "/usr/bin/terraform"
+      settings:
+        terraform:
+          command: "/usr/bin/terraform"
       vars:
         # Variables defined here
website/docs/reference/yaml-reference.mdx (2)

347-351: Add a note on YAML schema/version used by Atmos

Boolean and octal behavior differ between YAML 1.1 and 1.2. Add a brief callout (e.g., “Atmos parses YAML using go-yaml’s YAML 1.1 schema semantics; booleans like YES/NO and octal 0644 apply”) to ground the guidance in this section.


389-401: Extend boolean table with y/n for completeness

YAML 1.1 also treats y → true and n → false. Add rows for y/n to avoid surprises.

website/docs/projects/configuration/terraform.mdx (1)

18-18: Verify target path for Custom Commands.

Is the canonical URL /custom-commands or /custom-commands/custom-commands? Adjust if needed.

website/docs/connections/share-data.mdx (1)

7-7: Use a more specific slug
The frontmatter slug is currently /connections but this page is about “Share Data.” Change it to /connections/share-data (or drop the custom slug to let the default /connections/share-data take effect) to better match its content and avoid confusion with the section root.

website/docs/learn/first-stack.mdx (1)

20-23: Add AWS credentials to prerequisites.

Readers need creds or the plan/apply will fail.

Apply this diff:

 - Basic Terraform knowledge
 - A Terraform component (or create a simple one)
+ - AWS credentials configured (e.g., AWS_PROFILE or AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY)
website/docs/cli/configuration/components.mdx (3)

17-19: Good link update; fix minor typo on the next line.

Path looks correct. Also fix “and and” on Line 18.

- To instruct Atmos how to interact with that component, we must specify the command to run and and where the code
+ To instruct Atmos how to interact with that component, we must specify the command to run and where the code

23-24: Typo: duplicate “the”.

Single “the” reads better.

- Think of it as the bootstrapping configuration.  This is where we can define the the `command` to run,
+ Think of it as the bootstrapping configuration.  This is where we can define the `command` to run,

197-205: Inconsistent example for helm AWS profile pattern.

Earlier default uses “-gbl-” literal (Line 159). Example here shows {gbl} token. Align to literal for consistency.

-    ```
-    {namespace}-{tenant}-{gbl}-{stage}-helm
-    ```
+    ```
+    {namespace}-{tenant}-gbl-{stage}-helm
+    ```
website/docs/learn/inheritance-basics.mdx (2)

118-129: Keep metadata consistent across examples.

This base snippet omits metadata.component, while others include it. Add it for clarity.

 components:
   terraform:
     vpc-base:
       metadata:
-        type: abstract
+        component: vpc
+        type: abstract
       vars:
         enable_nat_gateway: true
         single_nat_gateway: true

159-167: Use consistent variable names in VPC examples.

Earlier sections use enable_dns_hostnames and enable_dns_support, but here it’s enable_dns. Align to avoid confusion.

       vars:
-        enable_dns: true
+        enable_dns_hostnames: true
+        enable_dns_support: true
website/docs/learn/next-steps.mdx (3)

66-71: Duplicate links to the same /workflows page

Two bullets both point to /workflows. Either split into distinct pages or dedupe to a single bullet.

- - **[Workflow Basics](/workflows)** - Multi-step automation
- - **[Workflow Orchestration](/workflows)** - Conditional logic and error handling
+ - **[Workflows](/workflows)** - Multi-step automation, conditional logic, and error handling

If separate pages exist, update targets accordingly (e.g., /workflows/basics and /workflows/orchestration). Please verify.


68-69: Suspicious slug: /custom-commands/custom-commands

Likely should be the section root.

- - **[Custom Commands](/custom-commands/custom-commands)** - Extend Atmos with your own commands
+ - **[Custom Commands](/custom-commands/)** - Extend Atmos with your own commands

109-113: Link text/URL mismatch

“Terraform Maturity Journey” links to /intro/why-atmos/. Either adjust the text to “Why Atmos” or update the URL to the maturity-journey page if that exists.

- - **[Terraform Maturity Journey](/intro/why-atmos/)** - Understanding where you are and where you're going
+ - **[Why Atmos](/intro/why-atmos/)** - Understanding where you are and where you're going
website/docs/learn/stacks/define-components.mdx (1)

203-206: Optional: dedupe sentence

Sentence repeats info already stated above about metadata.type. Consider removing one occurrence.

website/docs/cli/configuration/configuration.mdx (2)

32-41: Tighten “Configuration File” copy and headings.

Minor grammar/formatting nits for clarity.

-The --config-path flag designates a directory containing Atmos configuration files. files name should be (atmos.yaml, .atmos.yaml,atmos.yml, .atmos.yml). Only files from the specified directory will be loaded.
+The --config-path flag designates a directory containing Atmos configuration files. File names should be one of: atmos.yaml, .atmos.yaml, atmos.yml, or .atmos.yml. Only files from the specified directory will be loaded.
@@
-Configuration Load Order
-If --config and --config-path not specified in command
+### Configuration Load Order
+If --config and --config-path are not specified
 The CLI config is loaded from the following locations (from lowest to highest priority):

23-26: Optional: unify trailing-slash usage.

Consider using /learn/stacks (no trailing slash) for consistency with other links.

website/docs/intro/use-cases.mdx (1)

17-18: No legacy paths or double slashes detected
No occurrences of /core-concepts/ or /introduction/, and no // in link targets. Trailing-slash usage appears consistent; standardize them site-wide if desired.

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 680c805 and f5d1e6b.

📒 Files selected for processing (107)
  • website/docs/best-practices/components.mdx (2 hunks)
  • website/docs/best-practices/terraform.mdx (2 hunks)
  • website/docs/cli/commands/completion.mdx (1 hunks)
  • website/docs/cli/commands/describe/describe-affected.mdx (2 hunks)
  • website/docs/cli/commands/describe/describe-component.mdx (7 hunks)
  • website/docs/cli/commands/terraform/terraform-generate-backends.mdx (1 hunks)
  • website/docs/cli/commands/terraform/terraform-generate-planfile.mdx (1 hunks)
  • website/docs/cli/commands/terraform/terraform-generate-varfile.mdx (1 hunks)
  • website/docs/cli/commands/terraform/terraform-generate-varfiles.mdx (1 hunks)
  • website/docs/cli/commands/terraform/usage.mdx (4 hunks)
  • website/docs/cli/commands/workflow.mdx (1 hunks)
  • website/docs/cli/configuration/commands.mdx (1 hunks)
  • website/docs/cli/configuration/components.mdx (2 hunks)
  • website/docs/cli/configuration/configuration.mdx (5 hunks)
  • website/docs/cli/configuration/stacks.mdx (2 hunks)
  • website/docs/components/component-library.mdx (1 hunks)
  • website/docs/components/components.mdx (2 hunks)
  • website/docs/components/terraform/backends.mdx (3 hunks)
  • website/docs/components/terraform/brownfield.mdx (2 hunks)
  • website/docs/components/terraform/providers.mdx (2 hunks)
  • website/docs/components/terraform/state-backend.mdx (3 hunks)
  • website/docs/components/terraform/terraform.mdx (2 hunks)
  • website/docs/components/terraform/workspaces.mdx (1 hunks)
  • website/docs/connections/remote-state.mdx (3 hunks)
  • website/docs/connections/share-data.mdx (6 hunks)
  • website/docs/core-concepts/core-concepts.mdx (0 hunks)
  • website/docs/custom-commands/custom-commands.mdx (1 hunks)
  • website/docs/deploy/deploy.mdx (2 hunks)
  • website/docs/describe/components.mdx (1 hunks)
  • website/docs/design-patterns/abstract-component.mdx (2 hunks)
  • website/docs/design-patterns/inline-component-configuration.mdx (1 hunks)
  • website/docs/design-patterns/inline-component-customization.mdx (1 hunks)
  • website/docs/functions/template/atmos.Component.mdx (2 hunks)
  • website/docs/functions/template/atmos.Store.mdx (1 hunks)
  • website/docs/functions/yaml/include.mdx (3 hunks)
  • website/docs/functions/yaml/index.mdx (2 hunks)
  • website/docs/functions/yaml/store.get.mdx (2 hunks)
  • website/docs/functions/yaml/store.mdx (2 hunks)
  • website/docs/functions/yaml/terraform.output.mdx (3 hunks)
  • website/docs/functions/yaml/terraform.state.mdx (4 hunks)
  • website/docs/glossary/terralith.mdx (1 hunks)
  • website/docs/integrations/github-actions/affected-stacks.mdx (1 hunks)
  • website/docs/integrations/github-actions/atmos-terraform-plan.mdx (1 hunks)
  • website/docs/integrations/github-actions/component-updater.mdx (1 hunks)
  • website/docs/integrations/github-actions/github-actions.mdx (1 hunks)
  • website/docs/integrations/spacelift.mdx (2 hunks)
  • website/docs/intro/faq.mdx (2 hunks)
  • website/docs/intro/index.mdx (5 hunks)
  • website/docs/intro/use-cases.mdx (1 hunks)
  • website/docs/intro/why-atmos/nirvana.mdx (1 hunks)
  • website/docs/intro/why-atmos/stage-0.mdx (1 hunks)
  • website/docs/intro/why-atmos/stage-1.mdx (1 hunks)
  • website/docs/intro/why-atmos/stage-10.mdx (1 hunks)
  • website/docs/intro/why-atmos/stage-2.mdx (1 hunks)
  • website/docs/intro/why-atmos/stage-3.mdx (2 hunks)
  • website/docs/intro/why-atmos/stage-4.mdx (1 hunks)
  • website/docs/intro/why-atmos/stage-5.mdx (1 hunks)
  • website/docs/intro/why-atmos/stage-6.mdx (1 hunks)
  • website/docs/intro/why-atmos/stage-7.mdx (2 hunks)
  • website/docs/intro/why-atmos/stage-8.mdx (1 hunks)
  • website/docs/intro/why-atmos/stage-9.mdx (1 hunks)
  • website/docs/intro/why-atmos/why-atmos.mdx (1 hunks)
  • website/docs/learn/concepts-overview.mdx (1 hunks)
  • website/docs/learn/connecting-components.mdx (1 hunks)
  • website/docs/learn/first-stack.mdx (1 hunks)
  • website/docs/learn/imports-basics.mdx (1 hunks)
  • website/docs/learn/inheritance-basics.mdx (1 hunks)
  • website/docs/learn/next-steps.mdx (1 hunks)
  • website/docs/learn/organizing-stacks.mdx (1 hunks)
  • website/docs/learn/stacks/define-components.mdx (4 hunks)
  • website/docs/learn/stacks/stacks.mdx (4 hunks)
  • website/docs/learn/why-atmos.mdx (1 hunks)
  • website/docs/learn/yaml-guide.mdx (1 hunks)
  • website/docs/migration/native-terraform.mdx (1 hunks)
  • website/docs/migration/terraform-workspaces.mdx (1 hunks)
  • website/docs/migration/terragrunt.mdx (1 hunks)
  • website/docs/projects/configuration/configuration.mdx (6 hunks)
  • website/docs/projects/configuration/helmfile.mdx (2 hunks)
  • website/docs/projects/configuration/opentofu.mdx (3 hunks)
  • website/docs/projects/configuration/packer.mdx (1 hunks)
  • website/docs/projects/configuration/stores.mdx (1 hunks)
  • website/docs/projects/configuration/terraform.mdx (1 hunks)
  • website/docs/projects/layout.mdx (2 hunks)
  • website/docs/quick-start/advanced/add-custom-commands.mdx (1 hunks)
  • website/docs/quick-start/advanced/advanced.mdx (1 hunks)
  • website/docs/quick-start/advanced/configure-cli.mdx (3 hunks)
  • website/docs/quick-start/advanced/configure-repository.md (1 hunks)
  • website/docs/quick-start/advanced/create-atmos-stacks.mdx (4 hunks)
  • website/docs/quick-start/advanced/create-workflows.mdx (1 hunks)
  • website/docs/quick-start/advanced/next-steps.md (1 hunks)
  • website/docs/quick-start/advanced/vendor-components.mdx (3 hunks)
  • website/docs/quick-start/install-atmos.mdx (1 hunks)
  • website/docs/quick-start/mindset.mdx (9 hunks)
  • website/docs/quick-start/simple/configure-cli.mdx (4 hunks)
  • website/docs/quick-start/simple/configure-project.mdx (1 hunks)
  • website/docs/quick-start/simple/configure-stacks.mdx (3 hunks)
  • website/docs/quick-start/simple/extra-credit/add-custom-commands.mdx (2 hunks)
  • website/docs/quick-start/simple/extra-credit/create-workflows.mdx (2 hunks)
  • website/docs/quick-start/simple/provision.mdx (1 hunks)
  • website/docs/quick-start/simple/simple.mdx (1 hunks)
  • website/docs/quick-start/simple/summary.mdx (1 hunks)
  • website/docs/quick-start/simple/write-components.mdx (3 hunks)
  • website/docs/reference/alternatives.mdx (4 hunks)
  • website/docs/reference/yaml-reference.mdx (1 hunks)
  • website/docs/stacks/catalogs.mdx (3 hunks)
  • website/docs/stacks/dependencies.mdx (2 hunks)
  • website/docs/stacks/imports.mdx (4 hunks)
⛔ Files not processed due to max files limit (10)
  • website/docs/stacks/inheritance.mdx
  • website/docs/stacks/stacks.mdx
  • website/docs/templates/datasources.mdx
  • website/docs/templates/templates.mdx
  • website/docs/tutorials/atmos-getting-started.mdx
  • website/docs/tutorials/first-aws-environment.mdx
  • website/docs/workflows/workflows.mdx
  • website/docusaurus.config.js
  • website/sidebars.js
  • website/src/pages/index.js
💤 Files with no reviewable changes (1)
  • website/docs/core-concepts/core-concepts.mdx
✅ Files skipped from review due to trivial changes (19)
  • website/docs/custom-commands/custom-commands.mdx
  • website/docs/cli/commands/terraform/terraform-generate-planfile.mdx
  • website/docs/components/component-library.mdx
  • website/docs/intro/why-atmos/stage-9.mdx
  • website/docs/cli/commands/describe/describe-affected.mdx
  • website/docs/quick-start/simple/simple.mdx
  • website/docs/cli/commands/terraform/terraform-generate-backends.mdx
  • website/docs/components/terraform/state-backend.mdx
  • website/docs/projects/configuration/configuration.mdx
  • website/docs/best-practices/components.mdx
  • website/docs/cli/configuration/commands.mdx
  • website/docs/learn/yaml-guide.mdx
  • website/docs/projects/configuration/stores.mdx
  • website/docs/functions/template/atmos.Component.mdx
  • website/docs/components/terraform/workspaces.mdx
  • website/docs/quick-start/advanced/configure-repository.md
  • website/docs/quick-start/advanced/add-custom-commands.mdx
  • website/docs/projects/configuration/packer.mdx
  • website/docs/connections/remote-state.mdx
🚧 Files skipped from review as they are similar to previous changes (19)
  • website/docs/design-patterns/inline-component-configuration.mdx
  • website/docs/quick-start/advanced/vendor-components.mdx
  • website/docs/functions/yaml/store.get.mdx
  • website/docs/quick-start/advanced/configure-cli.mdx
  • website/docs/quick-start/advanced/advanced.mdx
  • website/docs/stacks/dependencies.mdx
  • website/docs/quick-start/mindset.mdx
  • website/docs/integrations/github-actions/component-updater.mdx
  • website/docs/stacks/imports.mdx
  • website/docs/quick-start/simple/configure-stacks.mdx
  • website/docs/best-practices/terraform.mdx
  • website/docs/migration/terraform-workspaces.mdx
  • website/docs/quick-start/advanced/create-atmos-stacks.mdx
  • website/docs/cli/commands/terraform/usage.mdx
  • website/docs/functions/yaml/terraform.output.mdx
  • website/docs/reference/alternatives.mdx
  • website/docs/design-patterns/inline-component-customization.mdx
  • website/docs/integrations/github-actions/github-actions.mdx
  • website/docs/cli/configuration/stacks.mdx
🧰 Additional context used
📓 Path-based instructions (3)
website/**

📄 CodeRabbit inference engine (.cursor/rules/atmos-rules.mdc)

website/**: Update website documentation in website/ when adding features
Ensure consistency between CLI help text and website documentation
Follow the website's documentation structure and style
Keep website code in website/ and follow its architecture/style; test changes locally
Keep CLI and website documentation in sync; document new features with examples and use cases

Files:

  • website/docs/integrations/spacelift.mdx
  • website/docs/projects/layout.mdx
  • website/docs/intro/why-atmos/stage-1.mdx
  • website/docs/design-patterns/abstract-component.mdx
  • website/docs/quick-start/simple/extra-credit/create-workflows.mdx
  • website/docs/intro/why-atmos/stage-0.mdx
  • website/docs/learn/imports-basics.mdx
  • website/docs/learn/stacks/stacks.mdx
  • website/docs/cli/commands/completion.mdx
  • website/docs/intro/why-atmos/stage-4.mdx
  • website/docs/describe/components.mdx
  • website/docs/intro/why-atmos/stage-10.mdx
  • website/docs/intro/why-atmos/stage-2.mdx
  • website/docs/intro/why-atmos/stage-7.mdx
  • website/docs/reference/yaml-reference.mdx
  • website/docs/projects/configuration/helmfile.mdx
  • website/docs/intro/why-atmos/stage-5.mdx
  • website/docs/learn/concepts-overview.mdx
  • website/docs/quick-start/simple/provision.mdx
  • website/docs/quick-start/advanced/next-steps.md
  • website/docs/cli/commands/terraform/terraform-generate-varfiles.mdx
  • website/docs/intro/why-atmos/nirvana.mdx
  • website/docs/components/terraform/providers.mdx
  • website/docs/intro/index.mdx
  • website/docs/components/terraform/terraform.mdx
  • website/docs/quick-start/install-atmos.mdx
  • website/docs/intro/faq.mdx
  • website/docs/cli/commands/describe/describe-component.mdx
  • website/docs/glossary/terralith.mdx
  • website/docs/cli/configuration/configuration.mdx
  • website/docs/functions/template/atmos.Store.mdx
  • website/docs/deploy/deploy.mdx
  • website/docs/functions/yaml/include.mdx
  • website/docs/functions/yaml/index.mdx
  • website/docs/functions/yaml/store.mdx
  • website/docs/learn/next-steps.mdx
  • website/docs/learn/inheritance-basics.mdx
  • website/docs/cli/configuration/components.mdx
  • website/docs/learn/connecting-components.mdx
  • website/docs/quick-start/simple/configure-project.mdx
  • website/docs/functions/yaml/terraform.state.mdx
  • website/docs/learn/stacks/define-components.mdx
  • website/docs/intro/why-atmos/stage-8.mdx
  • website/docs/components/terraform/brownfield.mdx
  • website/docs/projects/configuration/terraform.mdx
  • website/docs/learn/organizing-stacks.mdx
  • website/docs/components/components.mdx
  • website/docs/stacks/catalogs.mdx
  • website/docs/integrations/github-actions/affected-stacks.mdx
  • website/docs/quick-start/simple/summary.mdx
  • website/docs/intro/why-atmos/stage-3.mdx
  • website/docs/intro/use-cases.mdx
  • website/docs/cli/commands/workflow.mdx
  • website/docs/quick-start/simple/configure-cli.mdx
  • website/docs/intro/why-atmos/stage-6.mdx
  • website/docs/quick-start/simple/write-components.mdx
  • website/docs/components/terraform/backends.mdx
  • website/docs/connections/share-data.mdx
  • website/docs/integrations/github-actions/atmos-terraform-plan.mdx
  • website/docs/learn/first-stack.mdx
  • website/docs/quick-start/simple/extra-credit/add-custom-commands.mdx
  • website/docs/migration/native-terraform.mdx
  • website/docs/learn/why-atmos.mdx
  • website/docs/quick-start/advanced/create-workflows.mdx
  • website/docs/migration/terragrunt.mdx
  • website/docs/cli/commands/terraform/terraform-generate-varfile.mdx
  • website/docs/projects/configuration/opentofu.mdx
  • website/docs/intro/why-atmos/why-atmos.mdx
website/docs/**/*.{md,mdx}

📄 CodeRabbit inference engine (CLAUDE.md)

website/docs/**/*.{md,mdx}: Build the website after modifying any docs under website/docs/ to verify no broken links or formatting issues.
Document user-facing template functions in the website documentation.

Files:

  • website/docs/integrations/spacelift.mdx
  • website/docs/projects/layout.mdx
  • website/docs/intro/why-atmos/stage-1.mdx
  • website/docs/design-patterns/abstract-component.mdx
  • website/docs/quick-start/simple/extra-credit/create-workflows.mdx
  • website/docs/intro/why-atmos/stage-0.mdx
  • website/docs/learn/imports-basics.mdx
  • website/docs/learn/stacks/stacks.mdx
  • website/docs/cli/commands/completion.mdx
  • website/docs/intro/why-atmos/stage-4.mdx
  • website/docs/describe/components.mdx
  • website/docs/intro/why-atmos/stage-10.mdx
  • website/docs/intro/why-atmos/stage-2.mdx
  • website/docs/intro/why-atmos/stage-7.mdx
  • website/docs/reference/yaml-reference.mdx
  • website/docs/projects/configuration/helmfile.mdx
  • website/docs/intro/why-atmos/stage-5.mdx
  • website/docs/learn/concepts-overview.mdx
  • website/docs/quick-start/simple/provision.mdx
  • website/docs/quick-start/advanced/next-steps.md
  • website/docs/cli/commands/terraform/terraform-generate-varfiles.mdx
  • website/docs/intro/why-atmos/nirvana.mdx
  • website/docs/components/terraform/providers.mdx
  • website/docs/intro/index.mdx
  • website/docs/components/terraform/terraform.mdx
  • website/docs/quick-start/install-atmos.mdx
  • website/docs/intro/faq.mdx
  • website/docs/cli/commands/describe/describe-component.mdx
  • website/docs/glossary/terralith.mdx
  • website/docs/cli/configuration/configuration.mdx
  • website/docs/functions/template/atmos.Store.mdx
  • website/docs/deploy/deploy.mdx
  • website/docs/functions/yaml/include.mdx
  • website/docs/functions/yaml/index.mdx
  • website/docs/functions/yaml/store.mdx
  • website/docs/learn/next-steps.mdx
  • website/docs/learn/inheritance-basics.mdx
  • website/docs/cli/configuration/components.mdx
  • website/docs/learn/connecting-components.mdx
  • website/docs/quick-start/simple/configure-project.mdx
  • website/docs/functions/yaml/terraform.state.mdx
  • website/docs/learn/stacks/define-components.mdx
  • website/docs/intro/why-atmos/stage-8.mdx
  • website/docs/components/terraform/brownfield.mdx
  • website/docs/projects/configuration/terraform.mdx
  • website/docs/learn/organizing-stacks.mdx
  • website/docs/components/components.mdx
  • website/docs/stacks/catalogs.mdx
  • website/docs/integrations/github-actions/affected-stacks.mdx
  • website/docs/quick-start/simple/summary.mdx
  • website/docs/intro/why-atmos/stage-3.mdx
  • website/docs/intro/use-cases.mdx
  • website/docs/cli/commands/workflow.mdx
  • website/docs/quick-start/simple/configure-cli.mdx
  • website/docs/intro/why-atmos/stage-6.mdx
  • website/docs/quick-start/simple/write-components.mdx
  • website/docs/components/terraform/backends.mdx
  • website/docs/connections/share-data.mdx
  • website/docs/integrations/github-actions/atmos-terraform-plan.mdx
  • website/docs/learn/first-stack.mdx
  • website/docs/quick-start/simple/extra-credit/add-custom-commands.mdx
  • website/docs/migration/native-terraform.mdx
  • website/docs/learn/why-atmos.mdx
  • website/docs/quick-start/advanced/create-workflows.mdx
  • website/docs/migration/terragrunt.mdx
  • website/docs/cli/commands/terraform/terraform-generate-varfile.mdx
  • website/docs/projects/configuration/opentofu.mdx
  • website/docs/intro/why-atmos/why-atmos.mdx
website/docs/cli/commands/**/*.mdx

📄 CodeRabbit inference engine (CLAUDE.md)

website/docs/cli/commands/**/*.mdx: All new commands/flags/parameters must have Docusaurus documentation under website/docs/cli/commands//.mdx using definition lists for arguments and flags.
Follow Docusaurus conventions (front matter, Purpose note, usage, examples; consistent section ordering: Usage → Examples → Arguments → Flags).

Files:

  • website/docs/cli/commands/completion.mdx
  • website/docs/cli/commands/terraform/terraform-generate-varfiles.mdx
  • website/docs/cli/commands/describe/describe-component.mdx
  • website/docs/cli/commands/workflow.mdx
  • website/docs/cli/commands/terraform/terraform-generate-varfile.mdx
🧠 Learnings (12)
📚 Learning: 2025-10-02T20:13:55.579Z
Learnt from: CR
PR: cloudposse/atmos#0
File: CLAUDE.md:0-0
Timestamp: 2025-10-02T20:13:55.579Z
Learning: Applies to /pkg/datafetcher/schema/stacks/stack-config/1.0.json : Update the stack config schema when adding configuration options.

Applied to files:

  • website/docs/learn/stacks/stacks.mdx
📚 Learning: 2025-03-18T12:26:25.329Z
Learnt from: Listener430
PR: cloudposse/atmos#1149
File: tests/snapshots/TestCLICommands_atmos_vendor_pull_ssh.stderr.golden:7-7
Timestamp: 2025-03-18T12:26:25.329Z
Learning: In the Atmos project, typos or inconsistencies in test snapshot files (such as "terrafrom" instead of "terraform") may be intentional as they capture the exact output of commands and should not be flagged as issues requiring correction.

Applied to files:

  • website/docs/components/terraform/terraform.mdx
  • website/docs/migration/native-terraform.mdx
📚 Learning: 2024-12-01T00:33:20.298Z
Learnt from: aknysh
PR: cloudposse/atmos#810
File: examples/tests/stacks/catalog/terraform/template-functions-test2/defaults.yaml:28-32
Timestamp: 2024-12-01T00:33:20.298Z
Learning: In `examples/tests/stacks/catalog/terraform/template-functions-test2/defaults.yaml`, `!exec atmos terraform output` is used in examples to demonstrate its usage, even though `!terraform.output` is the recommended approach according to the documentation.

Applied to files:

  • website/docs/intro/faq.mdx
  • website/docs/functions/yaml/index.mdx
  • website/docs/functions/yaml/store.mdx
  • website/docs/functions/yaml/terraform.state.mdx
  • website/docs/quick-start/simple/write-components.mdx
  • website/docs/connections/share-data.mdx
📚 Learning: 2024-12-03T05:18:49.169Z
Learnt from: aknysh
PR: cloudposse/atmos#810
File: internal/exec/terraform_utils.go:40-213
Timestamp: 2024-12-03T05:18:49.169Z
Learning: In the context of the Atmos project, it's acceptable for functions like `execTerraformOutput` to remain as single functions if they perform a single purpose, such as retrieving Terraform outputs for a component in a stack, even if the function is lengthy.

Applied to files:

  • website/docs/glossary/terralith.mdx
📚 Learning: 2024-12-11T18:40:12.808Z
Learnt from: Listener430
PR: cloudposse/atmos#844
File: cmd/helmfile.go:37-37
Timestamp: 2024-12-11T18:40:12.808Z
Learning: In the atmos project, `cliConfig` is initialized within the `cmd` package in `root.go` and can be used in other command files.

Applied to files:

  • website/docs/cli/configuration/configuration.mdx
  • website/docs/quick-start/simple/configure-cli.mdx
📚 Learning: 2024-11-25T17:17:15.703Z
Learnt from: RoseSecurity
PR: cloudposse/atmos#797
File: pkg/list/atmos.yaml:213-214
Timestamp: 2024-11-25T17:17:15.703Z
Learning: The file `pkg/list/atmos.yaml` is primarily intended for testing purposes.

Applied to files:

  • website/docs/cli/configuration/configuration.mdx
  • website/docs/quick-start/simple/configure-cli.mdx
📚 Learning: 2025-01-19T22:30:27.600Z
Learnt from: aknysh
PR: cloudposse/atmos#0
File: :0-0
Timestamp: 2025-01-19T22:30:27.600Z
Learning: The Atmos YAML function `!include` allows downloading local or remote files from different sources and assigning their contents to sections in stack manifests. It supports various protocols (file, http, git, s3, etc.) and can filter content using YQ expressions.

Applied to files:

  • website/docs/functions/yaml/include.mdx
  • website/docs/functions/yaml/index.mdx
  • website/docs/functions/yaml/store.mdx
  • website/docs/functions/yaml/terraform.state.mdx
📚 Learning: 2025-01-19T22:30:27.600Z
Learnt from: aknysh
PR: cloudposse/atmos#0
File: :0-0
Timestamp: 2025-01-19T22:30:27.600Z
Learning: The Atmos YAML function `!env` is used to retrieve environment variables and assign them to sections in stack manifests. It supports both simple types (string, number, boolean) and complex types (JSON-encoded lists, maps, objects).

Applied to files:

  • website/docs/functions/yaml/include.mdx
  • website/docs/functions/yaml/index.mdx
  • website/docs/functions/yaml/store.mdx
  • website/docs/functions/yaml/terraform.state.mdx
  • website/docs/connections/share-data.mdx
📚 Learning: 2024-12-03T04:01:16.446Z
Learnt from: aknysh
PR: cloudposse/atmos#810
File: website/docs/core-concepts/stacks/yaml-functions/terraform.output.mdx:0-0
Timestamp: 2024-12-03T04:01:16.446Z
Learning: In the `terraform.output.mdx` documentation file (`website/docs/core-concepts/stacks/yaml-functions/terraform.output.mdx`), the cache invalidation and cache scope behavior for the `!terraform.output` function are already described.

Applied to files:

  • website/docs/functions/yaml/index.mdx
  • website/docs/connections/share-data.mdx
📚 Learning: 2025-10-02T20:13:55.579Z
Learnt from: CR
PR: cloudposse/atmos#0
File: CLAUDE.md:0-0
Timestamp: 2025-10-02T20:13:55.579Z
Learning: Applies to website/docs/cli/commands/**/*.mdx : Follow Docusaurus conventions (front matter, Purpose note, usage, examples; consistent section ordering: Usage → Examples → Arguments → Flags).

Applied to files:

  • website/docs/learn/next-steps.mdx
📚 Learning: 2025-01-19T15:49:15.593Z
Learnt from: samtholiya
PR: cloudposse/atmos#955
File: tests/snapshots/TestCLICommands_atmos_validate_editorconfig_--help.stdout.golden:0-0
Timestamp: 2025-01-19T15:49:15.593Z
Learning: In future commits, the help text for Atmos CLI commands should be limited to only show component and stack parameters for commands that actually use them. This applies to the example usage section in command help text.

Applied to files:

  • website/docs/quick-start/simple/extra-credit/add-custom-commands.mdx
📚 Learning: 2025-09-13T16:39:20.007Z
Learnt from: samtholiya
PR: cloudposse/atmos#1466
File: cmd/markdown/atmos_toolchain_aliases.md:2-4
Timestamp: 2025-09-13T16:39:20.007Z
Learning: In the cloudposse/atmos repository, CLI documentation files in cmd/markdown/ follow a specific format that uses " $ atmos command" (with leading space and dollar sign prompt) in code blocks. This is the established project convention and should not be changed to comply with standard markdownlint rules MD040 and MD014.

Applied to files:

  • website/docs/quick-start/simple/extra-credit/add-custom-commands.mdx
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (6)
  • GitHub Check: Build (windows-latest, windows)
  • GitHub Check: Lint (golangci)
  • GitHub Check: Analyze (go)
  • GitHub Check: Run pre-commit hooks
  • GitHub Check: website-deploy-preview
  • GitHub Check: Summary

osterman and others added 4 commits October 3, 2025 15:48
Address CodeRabbit review feedback with the following fixes:

**Grammar & Typo Fixes:**
- Fix double "there" in best-practices/stacks.mdx
- Fix "using implementing" → "implementing" in components/components.mdx
- Fix "list are" → "lists are" in providers.mdx
- Fix "even of" → "even thousands of" in terraform.mdx
- Fix "makes it easy identify" → "makes it easy to identify" in affected-stacks.mdx

**Link Fixes:**
- Fix vendor manifest link: /vendoring/vendor-manifest → /vendoring/component-manifest
- Capitalize "PowerShell" consistently in completion.mdx
- Fix TabItem prop: name → label in completion.mdx

**Code Example Fixes:**
- Add missing S3 backend `key` attribute in terraform-workspaces.mdx (both prod and dev examples)
- Fix cross-file YAML anchor example in yaml-reference.mdx (anchors are file-scoped)
- Fix incorrect tfvars filename: .auto.tfvars.json → terraform.tfvars.json in native-terraform.mdx

**Documentation Updates:**
- Update supported backends list in share-data.mdx (now shows all backends: local, S3, azurerm, gcs, remote, consul, cos, http, kubernetes, oss, pg, cloud)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
Fix 5 duplicate word typos found during grammar audit:

- stacks/catalogs.mdx: "at at time" → "at any time"
- integrations/github-actions/atmos-terraform-plan.mdx: "from from the" → "from the"
- stacks/dependencies.mdx: "from the the" → "from the"
- cli/configuration/components.mdx: "and and where" → "and where"
- cli/configuration/components.mdx: "define the the" → "define the"

These were copy-paste artifacts that slipped through review.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
Critical Fixes:
- intro/index.mdx: Fix "Atmos is you" → "Atmos is for you" (critical typo on landing page)

Inclusive Language Updates:
- Replace "master/mastering" → "learn/learning" terminology for modern standards:
  - learn/next-steps.mdx: "Master Atmos templating" → "Learn Atmos templating"
  - quick-start/simple/simple.mdx: "finish mastering" → "finish learning"
  - quick-start/simple/extra-credit/vendor-components.mdx: "to master" → "to learn"

This aligns with modern technical writing guidelines used at Google, Facebook, and
other leading tech companies by avoiding potentially exclusionary terminology.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
Reduced the size and visual prominence of large admonitions that made the
page feel overwhelming and suggested the function shouldn't be used.

Changes:
- Converted large WARNING admonition about backend support to a small 2-line
  NOTE with key information, moved detailed backend list to regular documentation
- Converted large PERFORMANCE ADVANTAGE tip (15 lines) to a new "Performance
  Comparison" section with regular prose and a small 2-line tip for the key takeaway
- All important information retained, just reorganized for better readability
- Both admonitions now < 3 lines each instead of 10-15 lines

The page now feels more balanced and approachable while maintaining all
technical details.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
website/docs/cli/configuration/components.mdx (1)

206-212: Fix the broken inline code formatting.

cluster_name_pattern paragraph dropped the opening backtick before ATMOS_COMPONENTS_HELMFILE_CLUSTER_NAME_PATTERN, which causes malformed Markdown, and the sample value line ends with an extra backtick. Clean both spots so the env var renders correctly and the code block stays intact.

-    Can also be set using   ATMOS_COMPONENTS_HELMFILE_CLUSTER_NAME_PATTERN` ENV var.
+    Can also be set using `ATMOS_COMPONENTS_HELMFILE_CLUSTER_NAME_PATTERN` ENV var.
@@
-    {namespace}-{tenant}-{environment}-{stage}-eks-cluster`
+    {namespace}-{tenant}-{environment}-{stage}-eks-cluster
♻️ Duplicate comments (6)
website/docs/cli/commands/completion.mdx (1)

52-54: Swap the fence language back to bash.

The “apply the changes” snippet in the Bash tab is tagged as zsh. Retag it as bash so the highlighting matches the shell you’re documenting.

website/docs/intro/index.mdx (5)

20-24: Update components link to the new slug.

Still pointing at /components/components; the move flattened that path, so this will 404. Please swap it to /components/.


36-38: CTA should target the intro path.

The “Learn Atmos” button needs to="/intro/why-atmos" now that the learn sequence relocated.


82-83: Same components slug issue here.

Stacks paragraph still links to /components/components; please change it to /components/ to match the new structure.


153-153: Fix the custom commands link.

/custom-commands/custom-commands/ is obsolete; the right target is /custom-commands/.


178-178: Core concepts bullet should use the new page.

This should read /learn/concepts-overview per the updated learn path.

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between f5d1e6b and 7c8e8fe.

📒 Files selected for processing (20)
  • website/docs/best-practices/stacks.mdx (2 hunks)
  • website/docs/cli/commands/completion.mdx (3 hunks)
  • website/docs/cli/configuration/components.mdx (1 hunks)
  • website/docs/components/components.mdx (2 hunks)
  • website/docs/components/terraform/providers.mdx (2 hunks)
  • website/docs/components/terraform/terraform.mdx (2 hunks)
  • website/docs/connections/share-data.mdx (6 hunks)
  • website/docs/functions/yaml/terraform.state.mdx (4 hunks)
  • website/docs/integrations/github-actions/affected-stacks.mdx (1 hunks)
  • website/docs/integrations/github-actions/atmos-terraform-plan.mdx (2 hunks)
  • website/docs/intro/index.mdx (5 hunks)
  • website/docs/learn/next-steps.mdx (1 hunks)
  • website/docs/migration/native-terraform.mdx (1 hunks)
  • website/docs/migration/terraform-workspaces.mdx (1 hunks)
  • website/docs/quick-start/simple/extra-credit/vendor-components.mdx (2 hunks)
  • website/docs/quick-start/simple/simple.mdx (2 hunks)
  • website/docs/reference/yaml-reference.mdx (1 hunks)
  • website/docs/stacks/catalogs.mdx (3 hunks)
  • website/docs/stacks/dependencies.mdx (3 hunks)
  • website/docs/vendoring/vendor.mdx (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (11)
  • website/docs/stacks/dependencies.mdx
  • website/docs/learn/next-steps.mdx
  • website/docs/best-practices/stacks.mdx
  • website/docs/components/components.mdx
  • website/docs/functions/yaml/terraform.state.mdx
  • website/docs/quick-start/simple/extra-credit/vendor-components.mdx
  • website/docs/stacks/catalogs.mdx
  • website/docs/components/terraform/providers.mdx
  • website/docs/quick-start/simple/simple.mdx
  • website/docs/migration/terraform-workspaces.mdx
  • website/docs/integrations/github-actions/atmos-terraform-plan.mdx
🧰 Additional context used
📓 Path-based instructions (3)
website/**

📄 CodeRabbit inference engine (.cursor/rules/atmos-rules.mdc)

website/**: Update website documentation in website/ when adding features
Ensure consistency between CLI help text and website documentation
Follow the website's documentation structure and style
Keep website code in website/ and follow its architecture/style; test changes locally
Keep CLI and website documentation in sync; document new features with examples and use cases

Files:

  • website/docs/migration/native-terraform.mdx
  • website/docs/intro/index.mdx
  • website/docs/connections/share-data.mdx
  • website/docs/integrations/github-actions/affected-stacks.mdx
  • website/docs/components/terraform/terraform.mdx
  • website/docs/vendoring/vendor.mdx
  • website/docs/cli/commands/completion.mdx
  • website/docs/cli/configuration/components.mdx
  • website/docs/reference/yaml-reference.mdx
website/docs/**/*.{md,mdx}

📄 CodeRabbit inference engine (CLAUDE.md)

website/docs/**/*.{md,mdx}: Build the website after modifying any docs under website/docs/ to verify no broken links or formatting issues.
Document user-facing template functions in the website documentation.

Files:

  • website/docs/migration/native-terraform.mdx
  • website/docs/intro/index.mdx
  • website/docs/connections/share-data.mdx
  • website/docs/integrations/github-actions/affected-stacks.mdx
  • website/docs/components/terraform/terraform.mdx
  • website/docs/vendoring/vendor.mdx
  • website/docs/cli/commands/completion.mdx
  • website/docs/cli/configuration/components.mdx
  • website/docs/reference/yaml-reference.mdx
website/docs/cli/commands/**/*.mdx

📄 CodeRabbit inference engine (CLAUDE.md)

website/docs/cli/commands/**/*.mdx: All new commands/flags/parameters must have Docusaurus documentation under website/docs/cli/commands//.mdx using definition lists for arguments and flags.
Follow Docusaurus conventions (front matter, Purpose note, usage, examples; consistent section ordering: Usage → Examples → Arguments → Flags).

Files:

  • website/docs/cli/commands/completion.mdx
🧠 Learnings (4)
📚 Learning: 2025-03-18T12:26:25.329Z
Learnt from: Listener430
PR: cloudposse/atmos#1149
File: tests/snapshots/TestCLICommands_atmos_vendor_pull_ssh.stderr.golden:7-7
Timestamp: 2025-03-18T12:26:25.329Z
Learning: In the Atmos project, typos or inconsistencies in test snapshot files (such as "terrafrom" instead of "terraform") may be intentional as they capture the exact output of commands and should not be flagged as issues requiring correction.

Applied to files:

  • website/docs/migration/native-terraform.mdx
  • website/docs/components/terraform/terraform.mdx
📚 Learning: 2024-12-01T00:33:20.298Z
Learnt from: aknysh
PR: cloudposse/atmos#810
File: examples/tests/stacks/catalog/terraform/template-functions-test2/defaults.yaml:28-32
Timestamp: 2024-12-01T00:33:20.298Z
Learning: In `examples/tests/stacks/catalog/terraform/template-functions-test2/defaults.yaml`, `!exec atmos terraform output` is used in examples to demonstrate its usage, even though `!terraform.output` is the recommended approach according to the documentation.

Applied to files:

  • website/docs/connections/share-data.mdx
📚 Learning: 2024-12-03T04:01:16.446Z
Learnt from: aknysh
PR: cloudposse/atmos#810
File: website/docs/core-concepts/stacks/yaml-functions/terraform.output.mdx:0-0
Timestamp: 2024-12-03T04:01:16.446Z
Learning: In the `terraform.output.mdx` documentation file (`website/docs/core-concepts/stacks/yaml-functions/terraform.output.mdx`), the cache invalidation and cache scope behavior for the `!terraform.output` function are already described.

Applied to files:

  • website/docs/connections/share-data.mdx
📚 Learning: 2025-01-19T22:30:27.600Z
Learnt from: aknysh
PR: cloudposse/atmos#0
File: :0-0
Timestamp: 2025-01-19T22:30:27.600Z
Learning: The Atmos YAML function `!env` is used to retrieve environment variables and assign them to sections in stack manifests. It supports both simple types (string, number, boolean) and complex types (JSON-encoded lists, maps, objects).

Applied to files:

  • website/docs/connections/share-data.mdx
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (5)
  • GitHub Check: Build (windows-latest, windows)
  • GitHub Check: website-deploy-preview
  • GitHub Check: Lint (golangci)
  • GitHub Check: Analyze (go)
  • GitHub Check: Summary

Brings in 120 commits from main including:
- Auth commands documentation (16 pages)
- Version command restructure
- Mask configuration documentation
- Provider development design pattern
- 31 new blog posts
- GCS and Azure backend support for terraform.state
- Various content improvements

Resolved conflict in terraform.state.mdx:
- Kept main's GCS/Azure backend documentation
- Updated internal links to new flatter structure (/connections)
- Used cleaner admonition formatting
- /core-concepts/components/terraform/providers → /components/terraform/providers
- /core-concepts/workflows → /workflows
@mergify
Copy link

mergify bot commented Nov 30, 2025

💥 This pull request now has conflicts. Could you fix it @osterman? 🙏

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
website/docs/design-patterns/component-inheritance.mdx (1)

151-158: Fix nested import syntax error in YAML example.

Lines 152–158 contain a nested import key (import: import:) which violates Atmos YAML syntax. Per the learnings, the correct syntax is a single import: key followed by a list of paths.

 import:
-  import:
-    - orgs/acme/plat/prod/_defaults
+  - orgs/acme/plat/prod/_defaults
   - mixins/region/us-east-2
   - catalog/vpc/defaults
website/docs/design-patterns/component-catalog/with-mixins.mdx (1)

44-44: Update pattern name in Design Pattern section to match file renaming.

Line 44 still references the old "Component Catalog with Mixins" name, but the file has been renamed to "Configuration Catalog with Mixins." Update this for consistency.

- The **Component Catalog with Mixins** Design Pattern prescribes the following:
+ The **Configuration Catalog with Mixins** Design Pattern prescribes the following:
🧹 Nitpick comments (5)
website/blog/2025-11-14-terraform-command-documentation.mdx (1)

66-66: Minor: Consider em dash for stylistic consistency with LanguageTool.

Static analysis suggests an em dash here, though the current dash pattern matches lines 64–65, keeping the bullet list consistent. If updating, apply the same style across all three items or leave as-is.

website/blog/2025-11-07-azure-authentication-support.mdx (1)

395-395: Minor: Consider em dash for readability.

The static analysis tool suggests using an em dash (—) instead of a hyphen (-) to join the link description with the trailing text for better typographical clarity.

Apply this diff if aligning with style preferences:

- **[Azure Authentication Guide](/tutorials/azure-authentication)** - Complete tutorial covering all authentication methods
+ **[Azure Authentication Guide](/tutorials/azure-authentication)** — Complete tutorial covering all authentication methods
website/docs/functions/yaml/index.mdx (1)

53-58: Minor grammar fix: add punctuation after list item.

Line 53-54 ends the description of the !store function without punctuation. Add a period to match formatting of surrounding list items.

- The [__`!store`__](/functions/yaml/store) YAML function allows reading the values from a
-   remote [store](/cli/configuration/stores) (e.g. SSM Parameter Store, Artifactory, etc.)
-   into Atmos stack manifests
+ The [__`!store`__](/functions/yaml/store) YAML function allows reading the values from a
+   remote [store](/cli/configuration/stores) (e.g. SSM Parameter Store, Artifactory, etc.)
+   into Atmos stack manifests.
website/blog/2025-10-24-macos-xdg-cli-conventions.md (1)

159-159: Minor: Consider using em dash for better typography.

Line 159 joins two independent clauses with a hyphen-dash. Per the static analysis hint, consider using an em dash () for better readability:

-  - [Configuring Geodesic with Atmos Auth](/tutorials/configuring-geodesic) - Simplified configuration (no setup needed!)
+  - [Configuring Geodesic with Atmos Auth](/tutorials/configuring-geodesic) — Simplified configuration (no setup needed!)
website/docs/learn/mindset.mdx (1)

22-22: Minor: Typographic quote style inconsistency (static analysis note).

Lines 22 and 87 use straight quotes (") around terms like "root modules" and "root module." The static analysis suggests using typographic quotation marks for better visual presentation in documentation. This is purely a style preference but worth addressing for consistency with modern documentation standards.

Suggested change for line 22:

  • "root modules""root modules" (curly/smart quotes)

Also applies to: 87-87

- Reorganize design patterns into logical subfolders:
  - inheritance-patterns/: Component inheritance, abstract components, multiple inheritance
  - stack-organization/: Basic, multi-region, organizational hierarchy, layered stacks
  - configuration-composition/: Component overrides, partial component configuration
  - component-catalog/: Catalog patterns, mixins, archetypes, templates

- Add new patterns:
  - Basic Stack Organization: Simple dev/staging/prod for beginners
  - Multi-Region Configuration: Deploy to multiple AWS regions
  - Multiple Inheritance: Inherit from multiple abstract components
  - Component Archetypes: Pre-configured variants (S3 public/logging/artifacts)

- Improve Mixins documentation:
  - Show two locations: stacks/mixins/ (global) and catalog/<component>/mixins/ (feature flags)
  - Add feature flag examples: vpc/mixins/multi-az, vpc/mixins/nat-gateway
  - Add version mixin examples: eks/mixins/1.27, eks/mixins/1.28

- Simplify existing patterns:
  - Reduce examples from 15+ components to 3 focused components
  - Remove unnecessary organizational complexity from examples
  - Fix name_template syntax: use .vars.tenant not .tenant

- Remove Provider Development pattern (belongs in HowTo guide)
- Remove Partial Stack Configuration (redundant with Layered Stack)
- Update all cross-references and sidebar configuration

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
Rewrote the Component Overrides design pattern documentation to clearly
explain when and why to use overrides vs regular vars/inheritance:

- Added "The Problem" section showing the limitation of regular vars
  (applies to ALL components in the final stack)
- Added "The Solution" section explaining overrides are scoped to
  components in the current manifest and its imports only
- Used simple team-based example (Platform vs Security teams)
- Added comparison table for when to use vars vs overrides
- Added clear "Overrides vs Inheritance" section with simple mental model
- Reduced from ~400 lines to ~165 lines while improving clarity
- Kept layer-based example but simplified to 2 layers instead of 8

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
The schemas configuration section in atmos.yaml examples is not required
for the design pattern examples and adds unnecessary complexity. Atmos
has sensible defaults for schema paths.

Removed from:
- component-catalog/index.mdx
- component-catalog/template.mdx
- configuration-composition/partial-component-configuration.mdx
- inheritance-patterns/multiple-component-instances.mdx
- inline-component-configuration.mdx (2 occurrences)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
Updated Component Overrides documentation to make the key distinction
clearer:

- Added prominent tip box: "Overrides are file-scoped and don't get
  inherited"
- Added comparison table showing scope, inheritance, and visibility
  differences between vars and overrides
- Added ASCII diagram showing how overrides only see their own import
  tree while vars see the final merged result
- Renamed section from "Overrides vs Inheritance" to "Overrides vs Vars"
  for clarity

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
osterman and others added 2 commits December 3, 2025 11:58
The IAM permissions documentation for AWS SSO identity provisioning
belongs in the CLI auth configuration for providers, not in the
auth login command reference.

- Moved IAM permissions section to cli/configuration/auth/providers.mdx
  under the AWS IAM Identity Center section
- Removed from cli/commands/auth/auth-login.mdx
- Added "See Also" link from auth-login to providers configuration

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
Added documentation for the AWS IAM Identity Center provider options
that enable automatic identity discovery:

- `auto_provision_identities`: When true, Atmos automatically discovers
  all AWS accounts and permission sets assigned to the user
- `include_tags`: When true, retrieves AWS tags from permission sets
  and includes them as labels on auto-provisioned identities

Updated the example YAML to show these options in use.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
- Remove redundant Session Configuration section (already documented in SSO example)
- Fix profiles syntax to use directory-based profiles instead of inline
- Use consistent provider name (acme-corp) across all profile examples
- Explain key benefit: identities work unchanged across environments
- Use tabs to save space in profile examples

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
osterman and others added 6 commits December 3, 2025 12:28
…nces

- Add ActionCard to atlantis, aws, describe, docs, list, theme, version commands
- Create new /cli/configuration/docs.mdx for documentation generation config
- Create new /cli/configuration/version.mdx for version checking config
- Ensures consistent navigation between command usage and configuration docs

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
- Standardize ActionCard format to use PrimaryCTA component
- Add ActionCard to workflow command linking to /cli/configuration/workflows
- Add version section to default atmos.yaml configuration

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
- validate editorconfig → /cli/configuration/validate
- validate stacks → /cli/configuration/schemas
- validate component → /cli/configuration/schemas
- validate schema → /cli/configuration/schemas

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
Changed from explicit item list to autogenerated from cli/configuration directory.
New pages like version and docs will now automatically appear.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
- Restructure vendor docs into hierarchical folders:
  - vendor/config/ with index, sources, imports pages
  - vendor/component-manifest/ with index, source, mixins pages
- Move Vendor section above How-To Guides in sidebar
- Make VENDOR header link to vendor overview page
- Hide vendor.mdx from sidebar (accessible via header)
- Unhide URL Syntax page in vendor section
- Add glob pattern documentation to imports page
- Fix broken links throughout docs pointing to old vendor paths
- Update docusaurus.config.js redirects for new structure

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 6

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
website/blog/2025-11-08-terminal-themes.mdx (1)

13-65: Fix broken anchor link in the blog post.

Line 62 links to /cli/commands/theme/usage#theme-configuration, but the target file (website/docs/cli/commands/theme/usage.mdx) contains only ### Configuration File (line 79), not ### Theme Configuration. Update the link to #configuration-file to match the actual heading, or alternatively update the heading in the usage documentation to ### Theme Configuration for consistency.

♻️ Duplicate comments (3)
website/docs/components/components-overview.mdx (1)

174-174: Verify and fix documentation link references.

Line 174 references /howto/inheritance—confirm this path exists in the new structure. Line 183 contains a broken link to /validation/validating. Per prior analysis, the actual validation documentation is located at /quick-start/advanced/configure-validation.

#!/bin/bash
# Verify referenced documentation paths exist
paths=(
  "website/docs/stacks/imports.mdx"
  "website/docs/howto/inheritance.mdx"
  "website/docs/cli/commands/describe/component.mdx"
  "website/docs/quick-start/advanced/configure-validation.mdx"
  "website/docs/describe/stacks.mdx"
)

for path in "${paths[@]}"; do
  if [ -f "$path" ]; then
    echo "✓ Found: $path"
  else
    echo "✗ Missing: $path"
  fi
done

Apply this fix for line 183:

- Developing [validation policies](/validation/validating)
+ Developing [validation policies](/quick-start/advanced/configure-validation)

Also applies to: 183-183

website/docs/cli/configuration/profiler.mdx (1)

34-49: Document file-based profiling flags in Configuration Reference.

The Configuration Reference section documents only the HTTP pprof server settings (profiler.enabled/host/port), but lines 110-114 reference environment variables for file-based profiling (ATMOS_PROFILE_FILE, ATMOS_PROFILE_TYPE). Users reading the Configuration Reference won't discover these file-based profiling options. Add documentation for --profile-file and --profile-type flags (or clarify the distinction between the two profiling modes) analogous to the existing profiler entries.

website/docs/cli/configuration-overview.mdx (1)

98-98: Fix broken documentation links on lines 113 and 128.

Line 98 correctly links to /components/terraform/stack-config (verified), but lines 113 and 128 reference /components/helmfile and /components/packer which do not exist in the website documentation structure. These paths need to be corrected or the links removed if helmfile and packer documentation is not yet available.

🧹 Nitpick comments (13)
website/docs/components/components-overview.mdx (1)

84-84: Polish typography and redundant phrasing.

Minor style improvements per LanguageTool hints:

- Each instance:
- - Has its own Terraform state (or Helmfile release, Packer build)
+ Each instance:
+ - Owns independent Terraform state (or Helmfile release, Packer build)
- Each type has its own configuration schema, but they share common patterns for `metadata` and `settings`.
+ Each type has a distinct configuration schema, but they share common patterns for `metadata` and `settings`.
- There's no "one way" to organize your components—it's configurable based on your needs.
+ There's no 'one way' to organize your components—it's configurable based on your needs.
- For terraform, we recommend placing the terraform "root" modules in the `components/terraform` folder.
+ For terraform, we recommend placing the terraform 'root' modules in the `components/terraform` folder.
- ...and all the other resources provisioned inside of the VPC (e.g. databases).
+ ...and all the other resources provisioned inside the VPC (e.g. databases).

Also applies to: 113-113, 148-148, 166-166, 170-170

website/docs/cli/configuration/settings/markdown-styling.mdx (1)

36-36: Consider centralizing color values instead of hardcoding hex.

The color configuration was changed from template placeholders (e.g., ${colors.text}) to hardcoded hex values. While explicit hex values are clear, hardcoding them means:

  • Centralized theme updates require edits in multiple places
  • Harder to maintain a consistent color scheme across docs

If these colors are part of the Atmos brand palette, consider keeping them as references to a shared theme configuration or documenting where the canonical color definitions live (e.g., in docusaurus.config.js or a shared constants file).

Can you clarify the color strategy for this PR—are these colors now the source of truth, or should they reference a shared theme configuration?

Also applies to: 38-38, 41-41, 44-44, 47-47, 50-50

website/docs/cli/commands/support.mdx (1)

54-56: Verify link paths and consider em dashes for better typography.

Two things:

  1. The links to /community and /community/office-hours need verification—confirm these pages exist in the new documentation structure after the path restructuring.

  2. LanguageTool flags the description-list hyphens (lines 54–56) and suggests em dashes for better grammar. The current form is readable, but updating to em dashes would be more polished:

- [`atmos about`](/cli/commands/about) - Learn about Atmos
- [Community](/community) - Community resources and discussions
- [Office Hours](/community/office-hours) - Join our weekly office hours
+ [`atmos about`](/cli/commands/about) — Learn about Atmos
+ [Community](/community) — Community resources and discussions
+ [Office Hours](/community/office-hours) — Join our weekly office hours
website/docs/cli/commands/workflow.mdx (1)

29-29: Minor: Tighten wording for conciseness.

Line 29: "run in order to achieve" could be shortened to "run to achieve" with no loss of clarity.

-An Atmos workflow is a series of steps that are run in order to achieve some outcome.
+An Atmos workflow is a series of steps that are run to achieve some outcome.
website/docs/design-patterns/component-catalog/mixins.mdx (1)

330-338: Excellent comprehensive new Mixins documentation. The content is well-structured with clear use-cases, practical YAML examples, and a solid before/after comparison. One minor polish: the related patterns list uses regular dashes; consider em dashes for typographic consistency (e.g., "Multi-Region Configuration — Uses region mixins").

website/docs/design-patterns/component-catalog/template.mdx (1)

2-2: Comprehensive renaming and path updates completed successfully. All references transitioned from "Component Catalog Template" to "Configuration Catalog Template" and paths updated from /core-concepts/* to new structure. The name_template standardization across catalog docs is consistent.

For polish: Related Patterns (lines 180, 187, 190) could use em dashes for typographic consistency (e.g., "Component Archetypes — Pre-configured variants..."), but this is optional.

Also applies to: 4-5, 14-14, 17-18, 22-22, 49-49, 52-52, 88-88, 180-194

website/docs/design-patterns/component-catalog/with-mixins.mdx (1)

193-207: Excellent addition of conceptual comparison tables. The "Common Archetype Patterns" table (RDS/primary/replica/analytics, Lambda/api-handler/etc.) provides valuable reference material. The "When to Use This vs Mixins" table clarifies the scope difference—this is pedagogically strong and addresses a likely source of user confusion.

For polish: Related Patterns (lines 211-214) could use em dashes (e.g., "Mixins — Reusable fragments...") for typographic consistency.

website/docs/design-patterns/component-catalog/index.mdx (1)

390-405: Related Patterns subsections improve clarity. Grouping patterns into "Configuration Catalog Variations," "Alternative Approaches," and "Organizational Patterns" helps users navigate conceptual relationships. All paths updated to new structure.

Optional polish suggestions from static analysis: Line 379 ("very simple organizational structure") could be strengthened with a more specific phrase (e.g., "minimal" or "single-organization"); lines 391–400 could use em dashes for typographic consistency (e.g., "Mixins — Reusable configuration fragments").

website/docs/cli/configuration/profiles.mdx (2)

253-267: Team collaboration example is helpful.

Minor wording note: Line 258 says ".atmos/profiles/" with comment "team-shared profiles (gitignored user overrides)". This phrasing might confuse readers—is .atmos/profiles/ committed or not? If team profiles are shared via version control, clarify that .atmos/profiles/ is committed and team-level but individual user overrides might live elsewhere.


283-293: Links and references look good; minor typographical tweak.

Verify that the three profile command pages (/cli/commands/profile/usage, profile-list, profile-show) exist in this PR. Also, LanguageTool flags line 293: consider using an em dash to join the clause. Change "See Also - Global Flags - Using..." to "See Also — Global Flags — Using..." for better punctuation.

website/docs/cli/configuration/stores.mdx (1)

190-194: Minor: Consider using em dashes in Related section.

The Related section uses hyphens (-) to separate link descriptions. Per the static analysis tool, consider using em dashes for better readability when joining clauses or introducing related items:

- [External Stores](/stacks/sharing-state/stores) - Using `!store` function in stacks
- [Hooks](/stacks/hooks) - Writing to stores with hooks
- [Terraform State](/stacks/sharing-state/terraform-state) - Alternative data sharing method
+ [External Stores](/stacks/sharing-state/stores) — Using `!store` function in stacks
+ [Hooks](/stacks/hooks) — Writing to stores with hooks
+ [Terraform State](/stacks/sharing-state/terraform-state) — Alternative data sharing method
website/docs/cli/configuration/integrations.mdx (1)

31-31: Minor grammar: Add comma after 'e.g.'

Standard punctuation for "e.g." abbreviations requires a comma. Update:

-  # All the intermediate folders will be created automatically (e.g. 'path: /config/atlantis/atlantis.yaml')
+  # All the intermediate folders will be created automatically (e.g., 'path: /config/atlantis/atlantis.yaml')
website/docs/cli/commands/auth/usage.mdx (1)

108-126: Improve prose variety in Default Identity Handling section. Three successive sentences begin with "If" (lines 112–114), which reduces readability. Consider varying the sentence structure:

- If you configure a single identity and mark it as `default: true`, Atmos will always use it without requiring you to pass `--identity`.
- If multiple identities are defined, you can still mark one as default, but you'll need to explicitly choose another when you don't want the default.
- If no default is set and multiple identities exist, Atmos will require you to specify which identity to use.
+ Configuring a single identity marked as `default: true` means Atmos will always use it without requiring you to pass `--identity`.
+ With multiple identities, you can still mark one as default, though you'll need to explicitly choose another when you don't want the default.
+ If no default is set and multiple identities exist, Atmos will require you to specify which identity to use.

Renamed sidebar labels from simple key names to spec.* prefix to
reflect their actual position in vendor.yaml/component.yaml schema.
Added command class for monospace styling consistent with other
configuration keys in the documentation.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
osterman and others added 2 commits December 3, 2025 20:32
- Fix blog post auth command link (/cli/commands/auth/login → /cli/commands/auth/auth-login)
- Fix mindset.mdx quick-start links (/quick-start/simple → /quick-start/simple/simple)
- Add missing period in describe-dependents.mdx
- Fix repeated config_templates typo in atlantis.mdx (should be config_templates, project_templates, workflow_templates)
- Update Terraform Component links in spacelift.mdx to /components/terraform
- Add slug to terraform.mdx to enable /components/terraform URL

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
The CodeRabbit review suggestions were incorrect for this codebase:
- /cli/commands/auth/login is correct (uses id: login from frontmatter)
- /quick-start/simple is correct (sidebar links to doc with id)

Reverting the changes that broke the Docusaurus build.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs-cloudposse Needs Cloud Posse assistance no-release Do not create a new release (wait for additional code changes) size/xl Extra large size PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants