Skip to content

fix: correct devcontainer config structure in docs (#2068)#2074

Merged
aknysh merged 4 commits intomainfrom
osterman/fix-docs-2068
Feb 13, 2026
Merged

fix: correct devcontainer config structure in docs (#2068)#2074
aknysh merged 4 commits intomainfrom
osterman/fix-docs-2068

Conversation

@osterman
Copy link
Copy Markdown
Member

@osterman osterman commented Feb 12, 2026

what

  • Fixed blog post and command docs showing incorrect devcontainer config structure
  • Devcontainer is a top-level atmos.yaml key, not nested under components:
  • Clarified that both inline YAML config and devcontainer.json imports are supported
  • Embedded working example in blog post for better discoverability
  • Updated 8 YAML code blocks across 2 files

why

Users were unable to follow the blog post instructions and spent significant time debugging (issue #2068). The outdated docs incorrectly nested devcontainer configuration under components:, conflicting with the actual schema and causing confusion about whether to use .json or atmos.yaml files. Both are now properly supported and documented.

references

Closes #2068

Summary by CodeRabbit

  • Documentation

    • Simplified devcontainer docs to show a flat, top-level devcontainer configuration in atmos.yaml.
    • Updated CLI reference, examples, blog posts, and embedded demo to match the new format; flattened shell-alias examples.
    • Removed outdated “Real-World Workflows”, “Supported Fields”, and container-naming guidance.
    • Cleaned devcontainer example README by removing deprecated sections.
  • Chores

    • Added URL exclusion patterns to lychee configuration.

- Fix blog post and command docs that incorrectly nested devcontainer under components:
  devcontainer is a top-level atmos.yaml key, not a component concept
- Clarify that both inline YAML config and devcontainer.json imports are supported
- Embed working example in blog post for better discoverability
- Update 8 YAML code blocks across 2 files to show correct structure

Users were confused by outdated docs showing wrong config structure, taking
an hour to debug (.json vs atmos.yaml). Both are now supported and properly
documented.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@osterman osterman requested a review from a team as a code owner February 12, 2026 20:35
@github-actions github-actions bot added the size/m Medium size PR label Feb 12, 2026
@github-actions
Copy link
Copy Markdown

github-actions bot commented Feb 12, 2026

Dependency Review

✅ No vulnerabilities or license issues found.

Scanned Files

None

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Feb 12, 2026

📝 Walkthrough

Walkthrough

Moves devcontainer configuration examples from a nested components.devcontainer location to a top-level devcontainer key across docs and examples, updating YAML snippets, embeds, and removing obsolete narrative sections to align documentation with the current Atmos devcontainer spec.

Changes

Cohort / File(s) Summary
Blog & changelog
website/blog/2025-12-05-native-devcontainer-support.mdx, website/blog/2025-12-05-geodesic-production-ready-devcontainer.mdx
Replaced nested components.devcontainer examples with top-level devcontainer blocks; updated shell alias/runtime examples; removed the "Real-World Workflows" section; added EmbedExample for devcontainer usage.
CLI docs
website/docs/cli/commands/devcontainer/devcontainer.mdx
Adjusted CLI documentation examples to use devcontainer.<name> (flat top-level key) and updated !include usage for devcontainer.json specs.
Examples
examples/devcontainer/README.md
Removed "Supported Fields" and "Container Naming" sections from the README; kept examples unchanged.
Tooling config
lychee.toml
Added two URL exclude patterns to lychee configuration (duplicate pattern entries present).

Sequence Diagram(s)

(omitted)

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Suggested reviewers

  • aknysh
  • milldr
🚥 Pre-merge checks | ✅ 6
✅ Passed checks (6 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main change: correcting devcontainer configuration structure in documentation to show it as a top-level key rather than nested under components.
Linked Issues check ✅ Passed Changes directly address issue #2068 by updating documentation across blog posts and CLI docs to reflect devcontainer as a top-level atmos.yaml key, clarifying supported formats, and providing correct examples.
Out of Scope Changes check ✅ Passed All changes align with issue #2068 scope. Updates to lychee.toml for excluding private GitHub org is a minor supporting change; removal of outdated sections aligns with clarifying documentation.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Merge Conflict Detection ✅ Passed ✅ No merge conflicts detected when merging into main

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch osterman/fix-docs-2068

No actionable comments were generated in the recent review. 🎉

🧹 Recent nitpick comments
lychee.toml (1)

43-44: Pre-existing duplicate: kubernetes\.io appears twice.

Lines 44 and 66 both exclude kubernetes\\.io. Not introduced by this PR, but worth cleaning up while you're here.

🧹 Remove the duplicate
-  # Kubernetes.io (frequent connection failures/timeouts)
-  "kubernetes\\.io",

Also applies to: 65-66


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.

coderabbitai[bot]
coderabbitai bot previously approved these changes Feb 12, 2026
@codecov
Copy link
Copy Markdown

codecov bot commented Feb 12, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 76.32%. Comparing base (4897ba6) to head (12b2072).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #2074      +/-   ##
==========================================
+ Coverage   76.30%   76.32%   +0.01%     
==========================================
  Files         802      802              
  Lines       75521    75521              
==========================================
+ Hits        57630    57639       +9     
+ Misses      14302    14296       -6     
+ Partials     3589     3586       -3     
Flag Coverage Δ
unittests 76.32% <ø> (+0.01%) ⬆️

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

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

@osterman osterman added the no-release Do not create a new release (wait for additional code changes) label Feb 12, 2026
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
coderabbitai[bot]
coderabbitai bot previously approved these changes Feb 13, 2026
Add cloudposse-corp to lychee exclude list since it's a private org
that returns 404 for unauthenticated CI runners.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@aknysh aknysh merged commit 2574c7b into main Feb 13, 2026
58 checks passed
@aknysh aknysh deleted the osterman/fix-docs-2068 branch February 13, 2026 16:54
@github-actions
Copy link
Copy Markdown

These changes were released in v1.206.2.

@github-actions
Copy link
Copy Markdown

These changes were released in v1.207.0.

@github-actions
Copy link
Copy Markdown

These changes were released in v1.208.0-rc.0.

@github-actions
Copy link
Copy Markdown

These changes were released in v1.208.0-test.15.

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

Labels

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

devcontainer changelog doc contains no longer valid config

2 participants