feat: Implement component workdir provisioning and CRUD commands @osterman (#1876)
## what- Implement isolated working directories for Terraform component execution via
WorkdirProvisioner - Add
atmos terraform workdirCLI commands: list, describe, show, clean - Prevent component instance conflicts by providing separate execution spaces with metadata tracking
- Integrate provisioner into terraform command pipeline with automatic workdir path override
- Support component workdir configuration in stack manifests with caching and content hashing
why
Multiple component instances targeting the same component caused conflicts due to shared working directories. Workdir provisioning isolates each component execution to a dedicated directory (.workdir/terraform/<stack>-<component>/), enabling parallel execution and preventing state/artifact interference.
references
- Related PRs: Component workdir provisioning implementation
- Feature scope: Local provisioning of component folders into isolated workdirs; remote sources deferred
Summary by CodeRabbit
-
New Features
- Component Workdir: opt-in isolated per-component working directories for Terraform; new CLI subcommands: workdir list/describe/show/clean (clean supports specific or --all). List supports table/json/yaml outputs; help updated.
-
Documentation
- PRD, CLI docs, and blog post added with usage, examples, and cleanup guidance.
-
Schema
- Manifest/schema extended to include provision.workdir.enabled.
-
Tests
- Extensive unit, integration, and end-to-end CLI tests added.
✏️ Tip: You can customize this high-level summary in your review settings.
Fix markdown code fence in Nerd Fonts installation instructions @osterman (#1917)
## Summary- Fixes markdown formatting issue where the opening code fence was accidentally deleted
Closes #1913
Details
PR #1913 simplified the Nerd Fonts installation instructions by removing deprecated Homebrew tap commands. However, the deletion also removed the opening ```shell code fence while keeping the closing ```, breaking the markdown formatting.
This PR incorporates the original change from @topperge and adds back the missing code fence.
Test plan
- Verify the code block renders correctly in the docs
🤖 Generated with Claude Code
Summary by CodeRabbit
- Documentation
- Simplified macOS installation instructions by removing unnecessary preliminary steps from the Homebrew setup process. The installation now requires fewer commands to complete.
✏️ Tip: You can customize this high-level summary in your review settings.
Add theme-aware CloudPosse embeds for Slack and Office Hours with UTM tracking @osterman (#1802)
## what - Created `CloudPosseSlackEmbed` and `CloudPosseOfficeHoursEmbed` React components that dynamically adapt to Docusaurus theme (light/dark) - Replaced HubSpot form with CloudPosse embed iframe for Office Hours page - Added UTM tracking parameters to both embeds for analytics: - `utm_source=atmos-docs` - `utm_medium=embed` - `utm_campaign=office-hours` / `slack-community` - `utm_content=community-page` - Updated embed styling: 380px height, left-justified, max-width 80rem - Added `allow-popups` to sandbox attributes for proper link functionality - Added `hide_title: true` to Office Hours page to prevent duplicate headingswhy
- Theme awareness: Embeds now automatically switch between light/dark themes when users toggle Docusaurus theme, providing a consistent user experience
- Better tracking: UTM parameters enable conversion rate and traffic analytics for both community engagement channels
- Improved UX: Standardized sizing across both embeds, left-justified layout, proper link support
- Cleaner interface: Office Hours embed heading eliminates duplicate page title
- Modern approach: React components with MutationObserver pattern (following existing codebase patterns like
Tooltip.tsx)
references
- Updated
website/docs/community/slack.mdx - Updated
website/docs/community/office-hours.mdx - Created
website/src/components/CloudPosseSlackEmbed/index.tsx - Created
website/src/components/CloudPosseOfficeHoursEmbed/index.tsx
Summary by CodeRabbit
-
New Features
- Added theme-aware embed components for Office Hours and Slack that automatically adapt to light and dark mode settings.
-
Documentation
- Updated Office Hours and Slack documentation pages to use the new custom embed components with improved styling and functionality.
✏️ Tip: You can customize this high-level summary in your review settings.
Improve mobile responsive design and navbar layout @osterman (#1914)
## what- Move hamburger menu to the right side of the mobile navbar (after search icon)
- Add mobile responsive fixes for roadmap and changelog pages
- Reduce vertical spacing between CTA buttons on mobile
- Simplify mobile hero title display using "IaC Framework" shorthand
- Reorder changelog filters (Tags above Years)
- Reduce mobile timeline left margin and adjust connector spacing
- Fix navbar search positioning on mobile to prevent overlap
why
These changes significantly improve the mobile user experience by providing better navbar organization, reducing visual clutter, and ensuring all interactive elements are properly visible and spaced on small screens.
The hamburger menu relocation to the right side follows modern mobile UI conventions and improves content discoverability.
references
Branch: osterman/roadmap-mobile-fix