Skip to content

Conversation

@Cerebrovinny
Copy link
Collaborator

@Cerebrovinny Cerebrovinny commented Apr 25, 2025

what

atmos list custom columns documentation

why

We have multiple places using custom columns in atmos list but are missing documentation

references

Summary by CodeRabbit

  • Documentation
    • Added a comprehensive guide on customizing output columns for various atmos list commands, including detailed configuration examples and troubleshooting tips.
    • Introduced new sections with YAML configuration examples for customizing columns in list components, list stacks, list workflows, list metadata, list settings, list values, and list vars commands.
    • Expanded and clarified documentation to help users tailor command output to their needs.

@Cerebrovinny Cerebrovinny added the minor New features that do not break anything label Apr 25, 2025
@Cerebrovinny Cerebrovinny marked this pull request as ready for review April 25, 2025 20:30
@Cerebrovinny Cerebrovinny requested a review from a team as a code owner April 25, 2025 20:30
@Cerebrovinny Cerebrovinny requested a review from milldr April 25, 2025 20:30
@codecov
Copy link

codecov bot commented Apr 25, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 35.27%. Comparing base (e4ea648) to head (f348edb).
Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1219   +/-   ##
=======================================
  Coverage   35.27%   35.27%           
=======================================
  Files         232      232           
  Lines       25185    25185           
=======================================
  Hits         8885     8885           
  Misses      15036    15036           
  Partials     1264     1264           
Flag Coverage Δ
unittests 35.27% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

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

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Apr 25, 2025

📝 Walkthrough

Walkthrough

The documentation for the atmos list CLI commands has been updated to provide comprehensive guidance on customizing output columns using the atmos.yaml configuration file. New sections with YAML examples were added to individual command pages, illustrating how to define custom columns with template variables. The main usage guide was completely rewritten to detail the configuration structure, available Go template variables per command, output formatting differences, and troubleshooting tips. All previous minimal content was replaced with structured, user-focused explanations and examples for multiple commands.

Changes

Files Change Summary
website/docs/cli/commands/list/usage.mdx Completely rewritten and expanded. Now provides a detailed guide on customizing output columns for all atmos list commands.
website/docs/cli/commands/list/list-components.mdx
website/docs/cli/commands/list/list-stacks.mdx
website/docs/cli/commands/list/list-workflows.mdx
Added new sections with YAML configuration examples for customizing output columns.
website/docs/cli/commands/list/list-metadata.mdx
website/docs/cli/commands/list/list-settings.mdx
website/docs/cli/commands/list/list-values.mdx
website/docs/cli/commands/list/list-vars.mdx
Added new sections demonstrating custom columns using stack name and other variables with YAML snippets.

Sequence Diagram(s)

sequenceDiagram
    User->>Atmos CLI: Run `atmos list <command>`
    Atmos CLI->>atmos.yaml: Read column customization config
    atmos.yaml-->>Atmos CLI: Return columns and templates
    Atmos CLI->>Atmos CLI: Render output using templates
    Atmos CLI-->>User: Display customized output table
Loading

Assessment against linked issues

Objective Addressed Explanation
Document how to customize columns for atmos list commands, including YAML template support and per-command configuration (DEV-3143)

Possibly related PRs

  • Implement: atmos list values #1036: Implements the CLI commands (list values, list metadata, list settings) and their logic, directly related to the documentation updates in this PR.

Suggested labels

no-release

Suggested reviewers

  • osterman
  • aknysh

Tip

⚡️ Faster reviews with caching
  • CodeRabbit now supports caching for code and dependencies, helping speed up reviews. This means quicker feedback, reduced wait times, and a smoother review experience overall. Cached data is encrypted and stored securely. This feature will be automatically enabled for all accounts on May 16th. To opt out, configure Review - Disable Cache at either the organization or repository level. If you prefer to disable all data retention across your organization, simply turn off the Data Retention setting under your Organization Settings.

Enjoy the performance boost—your workflow just got faster.


📜 Recent review details

Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between ec389e2 and a3a62d0.

📒 Files selected for processing (1)
  • website/docs/cli/commands/list/list-workflows.mdx (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • website/docs/cli/commands/list/list-workflows.mdx
⏰ Context from checks skipped due to timeout of 90000ms (8)
  • GitHub Check: Build (macos-latest, macos)
  • GitHub Check: Build (windows-latest, windows)
  • GitHub Check: Build (ubuntu-latest, linux)
  • GitHub Check: Analyze (go)
  • GitHub Check: website-deploy-preview
  • GitHub Check: autofix
  • GitHub Check: Lint (golangci)
  • GitHub Check: Summary

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
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary or @auto-summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai or @auto-title anywhere in the PR title to generate the title automatically.

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

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: 3

🧹 Nitpick comments (2)
website/docs/cli/commands/list/custom-columns.mdx (2)

1-1: Format the title to highlight CLI syntax.

Consider updating the title to use code formatting for the CLI command and lowercase atmos:

- # Customizing Columns in Atmos List Commands
+ # Customizing Columns in `atmos list` Commands

170-170: Refine language for stronger tone.

Consider replacing "very wide tables" with "excessively wide tables" to avoid a weak intensifier:

- For very wide tables, use the `--max-columns` flag (default: 10 or 50, depending on command) or reduce the number of columns in your config.
+ For excessively wide tables, use the `--max-columns` flag (default: 10 or 50, depending on command) or reduce the number of columns in your config.
🧰 Tools
🪛 LanguageTool

[style] ~170-~170: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: ... available fields for templating. - For very wide tables, use the --max-columns flag (d...

(EN_WEAK_ADJECTIVE)

📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 1895246 and a51d659.

📒 Files selected for processing (1)
  • website/docs/cli/commands/list/custom-columns.mdx (1 hunks)
🧰 Additional context used
🪛 LanguageTool
website/docs/cli/commands/list/custom-columns.mdx

[uncategorized] ~43-~43: Loose punctuation mark.
Context: ...s shown in the output table. - value: A Go template string that determines th...

(UNLIKELY_OPENING_PUNCTUATION)


[typographical] ~146-~146: Consider using a typographic opening quote here.
Context: ...idebar config file to include a link to "Customizing Columns in List Commands". ...

(EN_QUOTES)


[typographical] ~146-~146: Consider using a typographic close quote here.
Context: ...to "Customizing Columns in List Commands". --- ## Display Behavior ### TTY vs ...

(EN_QUOTES)


[typographical] ~152-~152: In American English, use a period after an abbreviation.
Context: ...ds". --- ## Display Behavior ### TTY vs Non-TTY Output - **TTY Output (Interac...

(MISSING_PERIOD_AFTER_ABBREVIATION)


[style] ~170-~170: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: ... available fields for templating. - For very wide tables, use the --max-columns flag (d...

(EN_WEAK_ADJECTIVE)

⏰ Context from checks skipped due to timeout of 90000ms (2)
  • GitHub Check: Acceptance Tests (windows-latest, windows)
  • GitHub Check: Summary
🔇 Additional comments (6)
website/docs/cli/commands/list/custom-columns.mdx (6)

23-32: Looks good.

The supported list commands are clearly enumerated with correct CLI syntax.


78-89: Example for stacks is clear and correct.

The YAML snippet correctly demonstrates stacks.list.columns using .stack_name and .stack_path.


93-105: Components example is accurate.

This snippet effectively illustrates custom columns for components, including .component_path.


109-121: Workflows example is well-presented.

The example demonstrates the use of .workflow_name, .workflow_file, and .workflow_description clearly.


125-139: Full reference section is comprehensive.

The YAML reference snippet clearly outlines the required structure and optional fields.


150-165: Display behavior details are clear.

This section effectively explains the differences between TTY and non-TTY outputs and default behaviors.

🧰 Tools
🪛 LanguageTool

[typographical] ~152-~152: In American English, use a period after an abbreviation.
Context: ...ds". --- ## Display Behavior ### TTY vs Non-TTY Output - **TTY Output (Interac...

(MISSING_PERIOD_AFTER_ABBREVIATION)

@mergify
Copy link

mergify bot commented Apr 27, 2025

Important

Cloud Posse Engineering Team Review Required

This pull request modifies files that require Cloud Posse's review. Please be patient, and a core maintainer will review your changes.

To expedite this process, reach out to us on Slack in the #pr-reviews channel.

@mergify mergify bot added the needs-cloudposse Needs Cloud Posse assistance label Apr 27, 2025
coderabbitai[bot]
coderabbitai bot previously approved these changes Apr 27, 2025
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: 0

🧹 Nitpick comments (4)
website/docs/cli/commands/list/list-column-customization.mdx (4)

28-40: Supported commands list is comprehensive. Consider adding link anchors (#atmos-list-stacks, etc.) for each command to speed navigation in longer docs.


107-124: Stacks example is accurate. Suggest wrapping column headers in backticks (e.g., Stack Name, Configuration Path) to align with code styling conventions.

🧰 Tools
🪛 LanguageTool

[typographical] ~123-~123: Consider using typographic quotation marks here.
Context: ...e output table will have columns titled "Stack Name" and "Configuration Path". --- ## Examp...

(EN_QUOTES)


[typographical] ~123-~123: Consider using typographic quotation marks here.
Context: ...ll have columns titled "Stack Name" and "Configuration Path". --- ## Example: Custom Columns for Co...

(EN_QUOTES)


164-180: Full reference section is solid. At line 179, consider rephrasing to avoid repeating “specifically” in adjacent sentences for better variation.

🧰 Tools
🪛 LanguageTool

[style] ~179-~179: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...The columns array is mandatory if you want to override the default columns. If `colum...

(REP_WANT_TO_VB)


202-210: Troubleshooting & Tips is useful. In the second bullet (line 205), add an Oxford comma before “or”:

- if the table is too wide for your terminal or you encounter errors about content width:
+ if the table is too wide for your terminal, or you encounter errors about content width:
🧰 Tools
🪛 LanguageTool

[uncategorized] ~205-~205: Use a comma before ‘or’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... the table is too wide for your terminal or you encounter errors about content widt...

(COMMA_COMPOUND_SENTENCE)

📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between a51d659 and 79a24cb.

📒 Files selected for processing (8)
  • website/docs/cli/commands/list/list-column-customization.mdx (1 hunks)
  • website/docs/cli/commands/list/list-components.mdx (1 hunks)
  • website/docs/cli/commands/list/list-metadata.mdx (1 hunks)
  • website/docs/cli/commands/list/list-settings.mdx (1 hunks)
  • website/docs/cli/commands/list/list-stacks.mdx (1 hunks)
  • website/docs/cli/commands/list/list-values.mdx (1 hunks)
  • website/docs/cli/commands/list/list-vars.mdx (1 hunks)
  • website/docs/cli/commands/list/list-workflows.mdx (1 hunks)
✅ Files skipped from review due to trivial changes (7)
  • website/docs/cli/commands/list/list-components.mdx
  • website/docs/cli/commands/list/list-workflows.mdx
  • website/docs/cli/commands/list/list-settings.mdx
  • website/docs/cli/commands/list/list-stacks.mdx
  • website/docs/cli/commands/list/list-metadata.mdx
  • website/docs/cli/commands/list/list-vars.mdx
  • website/docs/cli/commands/list/list-values.mdx
🧰 Additional context used
🪛 LanguageTool
website/docs/cli/commands/list/list-column-customization.mdx

[uncategorized] ~52-~52: Loose punctuation mark.
Context: ...ar as the column header. * value: A Go template string that dynamically d...

(UNLIKELY_OPENING_PUNCTUATION)


[typographical] ~123-~123: Consider using typographic quotation marks here.
Context: ...e output table will have columns titled "Stack Name" and "Configuration Path". --- ## Examp...

(EN_QUOTES)


[typographical] ~123-~123: Consider using typographic quotation marks here.
Context: ...ll have columns titled "Stack Name" and "Configuration Path". --- ## Example: Custom Columns for Co...

(EN_QUOTES)


[style] ~179-~179: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...The columns array is mandatory if you want to override the default columns. If `colum...

(REP_WANT_TO_VB)


[typographical] ~185-~185: In American English, use a period after an abbreviation.
Context: ...mns. --- ## Display Behavior ### TTY vs Non-TTY Output The appearance of the o...

(MISSING_PERIOD_AFTER_ABBREVIATION)


[uncategorized] ~205-~205: Use a comma before ‘or’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... the table is too wide for your terminal or you encounter errors about content widt...

(COMMA_COMPOUND_SENTENCE)

⏰ Context from checks skipped due to timeout of 90000ms (4)
  • GitHub Check: Analyze (go)
  • GitHub Check: Lint (golangci)
  • GitHub Check: Build (windows-latest, windows)
  • GitHub Check: Summary
🔇 Additional comments (10)
website/docs/cli/commands/list/list-column-customization.mdx (10)

1-4: Frontmatter setup looks correct and consistent. Title and sidebar label align with repo conventions.


6-13: Overview is clear and concise. Good introduction to the feature and where to configure it.


14-25: Table of Contents covers all key sections. Makes navigation straightforward.


44-53: How Column Customization Works section is well structured. The numbered steps are easy to follow.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~52-~52: Loose punctuation mark.
Context: ...ar as the column header. * value: A Go template string that dynamically d...

(UNLIKELY_OPENING_PUNCTUATION)


54-67: Example YAML structure is clear. Demonstrates required fields and nesting neatly.


70-99: YAML Template Syntax reference is thorough. Listing available Go template variables per command makes it easy to craft custom columns.


101-105: Inline usage example is helpful. Shows the minimal value: "{{ .stack_name }}" use case.


126-143: Components example reads well. Clear mapping of template variables to headers.


145-162: Workflows example is spot on. Covers name, file, and description cleanly.


184-199: Display Behavior section covers TTY vs non-TTY clearly. Well explained with pros and cons.

🧰 Tools
🪛 LanguageTool

[typographical] ~185-~185: In American English, use a period after an abbreviation.
Context: ...mns. --- ## Display Behavior ### TTY vs Non-TTY Output The appearance of the o...

(MISSING_PERIOD_AFTER_ABBREVIATION)

Co-authored-by: Erik Osterman (CEO @ Cloud Posse) <erik@cloudposse.com>
coderabbitai[bot]
coderabbitai bot previously approved these changes May 8, 2025
Co-authored-by: Erik Osterman (CEO @ Cloud Posse) <erik@cloudposse.com>
Co-authored-by: Erik Osterman (CEO @ Cloud Posse) <erik@cloudposse.com>
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: 1

🧹 Nitpick comments (6)
website/docs/cli/commands/list/usage.mdx (6)

17-20: Streamline introductory paragraph
The first sentence is quite long; consider splitting it after “commands.” and starting a second sentence with “This lets you tailor the tabular output….” for improved readability.


26-37: Improve table readability
The descriptions in the Supported List Commands table are lengthy. You might wrap cell content or convert complex descriptions into bullet points to prevent horizontal scrolling on narrow viewports.


38-39: Remove redundant sentence
This line reiterates previously covered points. Consider removing it or merging with the intro to avoid duplication.


51-63: Specify code fence language
Please label the YAML example with a language identifier for syntax highlighting, e.g.:

-```  
+```yaml

137-146: Add missing period after “e.g.”
In the TTY output bullet, update “e.g” to “e.g.” for consistency:

-**TTY Output (e.g running in your terminal)**
+**TTY Output (e.g. running in your terminal)**
🧰 Tools
🪛 LanguageTool

[typographical] ~137-~137: In American English, use a period after an abbreviation.
Context: ...ile. ::: ## Display Behavior ### TTY vs Non-TTY Output The appearance of the o...

(MISSING_PERIOD_AFTER_ABBREVIATION)


151-160: Polish bullet punctuation
In the troubleshooting tips, add a comma before “or” in the “wide tables” item (“too wide for your terminal, or you encounter…”) and ensure list items end with consistent punctuation (periods).

🧰 Tools
🪛 LanguageTool

[uncategorized] ~155-~155: Use a comma before ‘or’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... the table is too wide for your terminal or you encounter errors about content widt...

(COMMA_COMPOUND_SENTENCE)

📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 0f4ba58 and ec389e2.

📒 Files selected for processing (1)
  • website/docs/cli/commands/list/usage.mdx (1 hunks)
🧰 Additional context used
🪛 LanguageTool
website/docs/cli/commands/list/usage.mdx

[uncategorized] ~49-~49: Loose punctuation mark.
Context: ...ar as the column header. * value: A Go template string that dynamically d...

(UNLIKELY_OPENING_PUNCTUATION)


[style] ~113-~113: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...The columns array is mandatory if you want to override the default columns. If `colum...

(REP_WANT_TO_VB)


[typographical] ~137-~137: In American English, use a period after an abbreviation.
Context: ...ile. ::: ## Display Behavior ### TTY vs Non-TTY Output The appearance of the o...

(MISSING_PERIOD_AFTER_ABBREVIATION)


[uncategorized] ~155-~155: Use a comma before ‘or’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... the table is too wide for your terminal or you encounter errors about content widt...

(COMMA_COMPOUND_SENTENCE)

⏰ Context from checks skipped due to timeout of 90000ms (1)
  • GitHub Check: Summary
🔇 Additional comments (5)
website/docs/cli/commands/list/usage.mdx (5)

7-9: Review import statements
Importing Screengrab and DocCardList looks correct for embedding the screenshot and listing subcommands. Ensure the Screengrab component path matches the actual location under @site/src/components/Screengrab.


41-50: Section is clear and concise
The “How Column Customization Works” steps are well structured and easy to follow. Great clarity here.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~49-~49: Loose punctuation mark.
Context: ...ar as the column header. * value: A Go template string that dynamically d...

(UNLIKELY_OPENING_PUNCTUATION)


66-74: Template syntax section is solid
The explanation and examples of Go template variables per command are clear and correctly scoped. Nice work.


98-113: Full reference is comprehensive
The general atmos.yaml structure for custom list columns is well documented and complete. No issues here.

🧰 Tools
🪛 LanguageTool

[style] ~113-~113: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...The columns array is mandatory if you want to override the default columns. If `colum...

(REP_WANT_TO_VB)


115-133: Workflow example looks good
The YAML snippet clearly demonstrates custom columns for workflows, and the note about {{ .file }} is helpful.

Cerebrovinny and others added 2 commits May 11, 2025 09:33
@Benbentwo
Copy link
Member

LGTM thanks for more docs

@Benbentwo Benbentwo enabled auto-merge (squash) May 15, 2025 21:26
@Benbentwo Benbentwo merged commit aaac85a into main May 15, 2025
51 checks passed
@Benbentwo Benbentwo deleted the list/DEV-3143-custom-columns branch May 15, 2025 22:13
@mergify mergify bot removed the needs-cloudposse Needs Cloud Posse assistance label May 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

minor New features that do not break anything

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants