Feat | Remove docker dependency from Leverage CLI#254
Conversation
WalkthroughDocumentation updates across the Leverage CLI docs: version strings bumped to 3.0.0, container/toolbox-centric language removed in favor of project-context execution, Docker/toolbox customization guidance removed, Python requirement raised to 3.9+, uv-based isolated-install instructions added, and various help text and navigation items adjusted. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes 🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
Actionable comments posted: 11
🧹 Nitpick comments (5)
docs/user-guide/leverage-cli/extending-leverage/build.env.md (1)
19-19: Add a quick verification command forTF_BINARY.After this example, include a concrete check (e.g.,
leverage tf version) so users can immediately validate the configured binary path.Based on learnings: "Applies to {docs/**/.md,.md} : Show concrete Leverage CLI commands for operations and workflows"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/user-guide/leverage-cli/extending-leverage/build.env.md` at line 19, Add a concrete verification step after setting TF_BINARY so users can validate the configured binary path; specifically, append a command example using the Leverage CLI (e.g., run "leverage tf version") and a short note that this confirms TF_BINARY points to the intended Terraform binary (reference TF_BINARY and the Leverage CLI command "leverage tf version").docs/user-guide/leverage-cli/reference/tofu/tofu.md (1)
183-183: Move scope note out of the bullet list block.This line currently reads like a malformed continuation of “Values checked”. Put it in its own paragraph (or an
!!! infoblock) for clarity.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/user-guide/leverage-cli/reference/tofu/tofu.md` at line 183, The note "Can only be run at **layer** level if `--layers` is not set, or at **account** or **layers-container-directory** if it is." is currently inside the bullet list and reads like a continuation of "Values checked"; extract that sentence out of the bullet list and place it as its own paragraph or an info block (e.g., !!! info) immediately after the "Values checked" bullet list so it reads as a scope note rather than a list item.docs/user-guide/leverage-cli/extending-leverage/how-to-extend.md (1)
6-6: Use hyphenated form for “non-standard.”Use “non-standard location” for correctness/readability.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/user-guide/leverage-cli/extending-leverage/how-to-extend.md` at line 6, Replace the phrase "non standard location" with the hyphenated form "non-standard location" in the sentence that mentions binary locations (the text fragment "such as the OpenTofu/Terraform binary location, if it were to be found in a non standard location."); update that exact string in the document to improve correctness and readability.docs/user-guide/leverage-cli/reference/tfautomv.md (1)
9-9: Polish install prompt phrasing.Suggested: “If the binary is not installed on the system, the CLI will prompt the user to install it.”
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/user-guide/leverage-cli/reference/tfautomv.md` at line 9, The sentence "If the binary is not installed in the system the CLI will prompt the user to do so." should be rewritten for clearer phrasing; replace it with "If the binary is not installed on the system, the CLI will prompt the user to install it." in the docs content (update the string in tfautomv.md where that sentence appears).docs/user-guide/leverage-cli/installation.md (1)
86-86: Align tool recommendation text with the actual instructions.This line recommends “uv or Poetry”, but the section only documents uv. Either add Poetry steps or make uv the sole recommendation here to avoid ambiguity.
As per coding guidelines: “Provide practical, actionable, and tested implementation guidance”.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/user-guide/leverage-cli/installation.md` at line 86, The sentence currently lists "uv or Poetry" but only documents uv; update the text to be consistent by either (A) replacing the phrase to recommend only "uv" if you intend to keep the rest of the section focused on uv, or (B) add concrete Poetry instructions (installation and usage steps for creating a project-local virtualenv, e.g., poetry init / poetry install / poetry run) to the section so "Poetry" is actually documented; ensure the final wording and subsequent steps mention the same tool names ("uv" and/or "Poetry") so the recommendation matches the documented instructions.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@docs/user-guide/leverage-cli/basic-features.md`:
- Line 24: The command description for "tfautomv" contains a stray trailing
backtick; edit the line that reads "tfautomv Run TFAutomv commands in the
context of the current project.`" and remove the trailing "`" so the description
ends cleanly, ensuring the token "tfautomv" and its description remain unchanged
otherwise.
In `@docs/user-guide/leverage-cli/extending-leverage/tasks.md`:
- Line 38: The page shows a mixed Leverage version: the header string "Powered
by Leverage 3.0.0" conflicts with later example outputs that still show
"1.0.10"; update all version mentions so they are consistent (either change the
header to "Powered by Leverage 1.0.10" or update all example outputs to
"3.0.0"). Search the document for the literal strings "Powered by Leverage
3.0.0" and "1.0.10" and make them match the chosen version across examples,
command outputs, and captions.
In `@docs/user-guide/leverage-cli/installation.md`:
- Line 80: The "tfautomv" command entry contains a stray trailing backtick;
locate the markdown line that reads exactly "tfautomv Run TFAutomv commands
in the context of the current project.`" and remove the trailing "`" so it reads
without the extra character (ensure spacing/alignment matches the other command
list entries).
- Around line 88-122: Fix the Markdown heading syntax by adding a space after
each sequence of hashes so headings render correctly: change "###Installation
using uv" to "### Installation using uv", "####Install uv" to "#### Install uv",
"####Local python version" to "#### Local python version", "####Initialize the
project and install `leverage`" to "#### Initialize the project and install
`leverage`", "####Activate the virtual environment" to "#### Activate the
virtual environment", and remove the orphan "###" at the end of the section;
keep the existing heading texts to preserve navigation and structure.
In `@docs/user-guide/leverage-cli/overview.md`:
- Around line 8-10: Update the overview copy to tighten wording: replace "error
prone" with "error-prone" and change "their day to day operation" to "day-to-day
operations", and streamline the second sentence to read smoothly (e.g.,
"Leverage CLI orchestrates tools such as OpenTofu/Terraform, aws-cli, kubectl
and more to operate a Leverage project."). Locate and edit the sentences
containing "error prone", "day to day operation", and the sentence starting
"Leverage CLI orchestrates..." and apply these wording fixes for improved
readability and professionalism.
In `@docs/user-guide/leverage-cli/reference/aws.md`:
- Line 3: Update the opening sentence that currently reads "Run aws-cli commands
with the proper credentials for the project..." to use the official product name
by replacing "aws-cli" with "AWS CLI" (i.e., change it to "Run AWS CLI commands
with the proper credentials for the project...") so the doc uses consistent,
correct product naming.
In `@docs/user-guide/leverage-cli/reference/kubectl.md`:
- Line 18: Replace the grammatically incorrect sentence "If the binary is not
installed in the system the CLI will prompt the user to do so." with the
tightened version "If the binary is not installed on the system, the CLI will
prompt the user to install it." in the kubectl.md content (locate the line
containing the original sentence to update).
In `@docs/user-guide/leverage-cli/reference/terraform.md`:
- Line 3: The doc defines a `terraform` command but still shows examples using
`leverage tf ...` while `tf` is documented as OpenTofu; update the examples to
use the correct command name to avoid ambiguity. Find occurrences of `leverage
tf` or `tf` in this file and replace them with `leverage terraform` (or
`terraform` as appropriate to the surrounding examples), and ensure any mention
of the `tf` alias is clarified to reference OpenTofu only (update example
commands, descriptions, and any inline notes that reference `tf` so they
consistently refer to `terraform` for Terraform invocations and `tf` for
OpenTofu where intended).
In `@docs/user-guide/leverage-cli/reference/tfautomv.md`:
- Line 3: Fix the minor spacing typo in the opening sentence that reads "The
`tfautomv` command provides..." by removing the extra space between "command"
and "provides" so it reads "The `tfautomv` command provides..."; locate the
sentence mentioning the tfautomv executable in the tfautomv reference doc and
correct the double space.
In `@docs/user-guide/leverage-cli/reference/tofu/layers.md`:
- Line 19: Clarify and reconcile the directory-scope guidance for the --layers
parameter by choosing one canonical rule and updating the text and examples to
match: either state that --layers commands must be run from the account
directory (and update all example paths such as .../management/global/ and
.../management/us-east-1/ to be shown relative to the account directory), or
state that --layers may be run from account and management subdirectories (and
update the sentence on line 19 to list the allowed directories explicitly);
ensure the wording around `--layers` and the example section (references to
account, .../management/global/, .../management/us-east-1/) consistently
reflects the chosen rule.
In `@docs/user-guide/leverage-cli/reference/tofu/tofu.md`:
- Line 3: Update the opening sentence in the tofu documentation so it reads:
"The `tofu` command provides the OpenTofu executable with specific configuration
values required by Leverage." Replace the current first line that starts with
"The `tofu` provides..." with the corrected sentence, referencing the `tofu`
command and OpenTofu so the grammar and intent are clear.
---
Nitpick comments:
In `@docs/user-guide/leverage-cli/extending-leverage/build.env.md`:
- Line 19: Add a concrete verification step after setting TF_BINARY so users can
validate the configured binary path; specifically, append a command example
using the Leverage CLI (e.g., run "leverage tf version") and a short note that
this confirms TF_BINARY points to the intended Terraform binary (reference
TF_BINARY and the Leverage CLI command "leverage tf version").
In `@docs/user-guide/leverage-cli/extending-leverage/how-to-extend.md`:
- Line 6: Replace the phrase "non standard location" with the hyphenated form
"non-standard location" in the sentence that mentions binary locations (the text
fragment "such as the OpenTofu/Terraform binary location, if it were to be found
in a non standard location."); update that exact string in the document to
improve correctness and readability.
In `@docs/user-guide/leverage-cli/installation.md`:
- Line 86: The sentence currently lists "uv or Poetry" but only documents uv;
update the text to be consistent by either (A) replacing the phrase to recommend
only "uv" if you intend to keep the rest of the section focused on uv, or (B)
add concrete Poetry instructions (installation and usage steps for creating a
project-local virtualenv, e.g., poetry init / poetry install / poetry run) to
the section so "Poetry" is actually documented; ensure the final wording and
subsequent steps mention the same tool names ("uv" and/or "Poetry") so the
recommendation matches the documented instructions.
In `@docs/user-guide/leverage-cli/reference/tfautomv.md`:
- Line 9: The sentence "If the binary is not installed in the system the CLI
will prompt the user to do so." should be rewritten for clearer phrasing;
replace it with "If the binary is not installed on the system, the CLI will
prompt the user to install it." in the docs content (update the string in
tfautomv.md where that sentence appears).
In `@docs/user-guide/leverage-cli/reference/tofu/tofu.md`:
- Line 183: The note "Can only be run at **layer** level if `--layers` is not
set, or at **account** or **layers-container-directory** if it is." is currently
inside the bullet list and reads like a continuation of "Values checked";
extract that sentence out of the bullet list and place it as its own paragraph
or an info block (e.g., !!! info) immediately after the "Values checked" bullet
list so it reads as a scope note rather than a list item.
ℹ️ Review info
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (16)
docs/try-leverage/local-setup.mddocs/user-guide/leverage-cli/basic-features.mddocs/user-guide/leverage-cli/extending-leverage/build.env.mddocs/user-guide/leverage-cli/extending-leverage/how-to-extend.mddocs/user-guide/leverage-cli/extending-leverage/tasks.mddocs/user-guide/leverage-cli/installation.mddocs/user-guide/leverage-cli/overview.mddocs/user-guide/leverage-cli/reference/aws.mddocs/user-guide/leverage-cli/reference/kubectl.mddocs/user-guide/leverage-cli/reference/run.mddocs/user-guide/leverage-cli/reference/terraform.mddocs/user-guide/leverage-cli/reference/tfautomv.mddocs/user-guide/leverage-cli/reference/tofu/layers.mddocs/user-guide/leverage-cli/reference/tofu/tofu.mddocs/user-guide/ref-architecture-aws/tf-state.mdmkdocs.yml
There was a problem hiding this comment.
Actionable comments posted: 4
♻️ Duplicate comments (1)
docs/user-guide/leverage-cli/reference/kubectl.md (1)
18-19:⚠️ Potential issue | 🟡 MinorTighten the install prompt sentence.
Suggested: “If the binary is not installed on the system, the CLI will prompt the user to install it.”
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/user-guide/leverage-cli/reference/kubectl.md` around lines 18 - 19, The sentence in docs/user-guide/leverage-cli/reference/kubectl.md is worded loosely; replace "If the binary is not installed in the system, the CLI will prompt the user to do so." with the tighter phrasing "If the binary is not installed on the system, the CLI will prompt the user to install it." to improve clarity.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@docs/user-guide/leverage-cli/reference/terraform.md`:
- Line 3: Update the opening sentence that describes the `terraform` command to
include a link to the official Terraform documentation (HashiCorp Terraform
docs) as the primary reference; locate the sentence "The `terraform` command
provides the Terraform executable with specific configuration values required by
Leverage." and modify it to embed the official Terraform docs URL so readers can
jump to the authoritative source.
In `@docs/user-guide/leverage-cli/reference/tfautomv.md`:
- Around line 9-10: Replace the awkward sentence "If the binary is not installed
in the system the CLI will prompt the user to do so." with the tighter
user-facing wording: "If the binary is not installed on the system, the CLI will
prompt the user to install it." Update the sentence in the tfautomv CLI
reference text so punctuation and preposition ("on the system") match the
suggested copy.
In `@docs/user-guide/leverage-cli/reference/tofu/tofu.md`:
- Line 183: Remove the stale scope note that mentions "--layers" and
"layers-container-directory" from the validate-layout documentation: locate the
validate-layout section and delete the sentence "Can only be run at **layer**
level if `--layers` is not set, or at **account** or
**layers-container-directory** if it is." so the section reflects the updated
scope model and the command usage (which shows no arguments) without directing
readers to the old execution contexts.
- Line 3: Update the opening sentence in
docs/user-guide/leverage-cli/reference/tofu/tofu.md to link the OpenTofu mention
to the official OpenTofu documentation (e.g., https://opentofu.org or the
canonical docs page), so the sentence that currently references the `tofu`
command/OpenTofu includes an inline hyperlink to the official source; keep the
existing wording but replace the plain "OpenTofu" text with the linked version
to satisfy the "Always reference official sources" guideline.
---
Duplicate comments:
In `@docs/user-guide/leverage-cli/reference/kubectl.md`:
- Around line 18-19: The sentence in
docs/user-guide/leverage-cli/reference/kubectl.md is worded loosely; replace "If
the binary is not installed in the system, the CLI will prompt the user to do
so." with the tighter phrasing "If the binary is not installed on the system,
the CLI will prompt the user to install it." to improve clarity.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 245e4358-da75-49b0-bbfa-de64d5772501
📒 Files selected for processing (6)
docs/user-guide/leverage-cli/overview.mddocs/user-guide/leverage-cli/reference/aws.mddocs/user-guide/leverage-cli/reference/kubectl.mddocs/user-guide/leverage-cli/reference/terraform.mddocs/user-guide/leverage-cli/reference/tfautomv.mddocs/user-guide/leverage-cli/reference/tofu/tofu.md
🚧 Files skipped from review as they are similar to previous changes (1)
- docs/user-guide/leverage-cli/overview.md
Co-authored-by: Juan Matías Kungfoo de la Cámara Beovide <juan.delacamara@binbash.com.ar>
There was a problem hiding this comment.
Actionable comments posted: 4
♻️ Duplicate comments (1)
docs/user-guide/leverage-cli/installation.md (1)
80-80:⚠️ Potential issue | 🟡 MinorRemove stray trailing backtick.
Line 80 has an extra backtick at the end of the
tfautomvdescription.🔧 Proposed fix
- tfautomv Run TFAutomv commands in the context of the current project.` + tfautomv Run TFAutomv commands in the context of the current project.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/user-guide/leverage-cli/installation.md` at line 80, The tfautomv description line contains a stray trailing backtick; edit the docs line containing "tfautomv Run TFAutomv commands in the context of the current project.`" (symbol: tfautomv) and remove the final backtick so the sentence ends cleanly ("...project."). Ensure no other stray backticks remain on that same line.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@docs/user-guide/leverage-cli/installation.md`:
- Line 3: In the installation.md sentence that currently reads "Currently, only
Linux and Mac OS are officially supported operative systems," update the Apple
OS capitalization by replacing "Mac OS" with "macOS" (so it reads "Linux and
macOS"); ensure the rest of the sentence remains unchanged.
- Line 84: The Markdown heading "##Installation in an isolated environment" is
missing a space after the "##" so it won't render as a proper H2; update the
heading text to "## Installation in an isolated environment" (add a single space
after the two hashes) to fix the rendering wherever that exact heading appears.
- Line 122: Remove the orphan heading token "###" from the markdown content (the
standalone line containing only "###") so the empty heading is deleted; search
for the literal "###" line in the installation.md content and remove that line
to eliminate the empty heading.
- Around line 72-82: The help lines listing commands (aws, credentials, kc,
kubectl, project, run, terraform, tf, tfautomv, tofu) use the vague phrase "in
the context of the current project"; update each help entry to explicitly
reference the Docker-based execution model (e.g., "Run <tool> inside the
project's Docker container to operate in the current project") or replace the
phrase with a short parenthetical definition like "(executed inside the
project's isolated Docker container with project files mounted)" so the
commands' runtime model is clear without needing to cross-reference other docs.
---
Duplicate comments:
In `@docs/user-guide/leverage-cli/installation.md`:
- Line 80: The tfautomv description line contains a stray trailing backtick;
edit the docs line containing "tfautomv Run TFAutomv commands in the context
of the current project.`" (symbol: tfautomv) and remove the final backtick so
the sentence ends cleanly ("...project."). Ensure no other stray backticks
remain on that same line.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 9c1febbb-9c44-4aa9-90b1-ccf6c4e60096
📒 Files selected for processing (1)
docs/user-guide/leverage-cli/installation.md
What?
References
Summary by CodeRabbit
Documentation
Style