Skip to content

Feat | Remove docker dependency from Leverage CLI#254

Open
angelofenoglio wants to merge 9 commits intomasterfrom
feat/leverage-dockerless
Open

Feat | Remove docker dependency from Leverage CLI#254
angelofenoglio wants to merge 9 commits intomasterfrom
feat/leverage-dockerless

Conversation

@angelofenoglio
Copy link
Contributor

@angelofenoglio angelofenoglio commented Mar 3, 2026

What?

  • Document Leverage CLI's new way of working, that is, without the Docker support.

References

Summary by CodeRabbit

  • Documentation

    • Python requirement raised to 3.9+; Docker prerequisite removed; added uv-based installation flow
    • CLI help reworded to emphasize project-context execution; removed container/toolbox-centric and shell-access guidance
    • Simplified build.env/extension docs and removed toolbox customization examples
    • Standardized command scope rules; added prompts when required binaries are missing; updated CLI/tool version references to 3.0.0
  • Style

    • Enabled code-block copy and converted a warning to an informational admonition

@angelofenoglio angelofenoglio requested a review from a team as a code owner March 3, 2026 19:04
@angelofenoglio angelofenoglio requested review from a team and diego-ojeda-binbash and removed request for a team and diego-ojeda-binbash March 3, 2026 19:05
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Mar 3, 2026

Walkthrough

Documentation 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

Cohort / File(s) Summary
Installation & Local Setup
docs/try-leverage/local-setup.md, docs/user-guide/leverage-cli/installation.md
Python requirement updated to 3.9+; Docker engine prerequisite removed; Pipenv guidance replaced/augmented by uv install flow (uv init, uv add, activate); pinned upgrade/install example versions updated.
High-level CLI Docs
docs/user-guide/leverage-cli/basic-features.md, docs/user-guide/leverage-cli/overview.md
Removed wording that commands run inside a toolbox/container; reworded to state commands run in the context of the current project and that CLI orchestrates underlying tools.
Command Reference: core tools
docs/user-guide/leverage-cli/reference/aws.md, docs/user-guide/leverage-cli/reference/kubectl.md, docs/user-guide/leverage-cli/reference/run.md
Rephrased command descriptions to present executables as provided with Leverage-specific config (not container wrappers); removed toolbox version prerequisites and related blocks; added binary-missing prompts and layer-level restrictions where applicable.
Command Reference: IaC tools
docs/user-guide/leverage-cli/reference/terraform.md, docs/user-guide/leverage-cli/reference/tfautomv.md, docs/user-guide/leverage-cli/reference/tofu/tofu.md, docs/user-guide/leverage-cli/reference/tofu/layers.md
Removed shell subcommand blocks and mount/--env-var examples; standardized scope wording to “layer if --layers not set, otherwise account”; replaced container-wrapper language with direct-executable descriptions; added missing-binary prompts; updated examples to use full command names.
Extending & Build Environment
docs/user-guide/leverage-cli/extending-leverage/build.env.md, docs/user-guide/leverage-cli/extending-leverage/how-to-extend.md, docs/user-guide/leverage-cli/extending-leverage/tasks.md
Removed Leverage-Toolbox image customization instructions and compatibility matrix; simplified build.env docs to note project short name and optional TF_BINARY/non-standard binary locations; updated internal task banner/version to 3.0.0.
Docs config & styling
mkdocs.yml, docs/user-guide/ref-architecture-aws/tf-state.md
Enabled code block copy (content.code.copy) and commented out legacy shell nav entries; converted an inline bold warning to a styled "IMPORTANT" info admonition in tf-state.md.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

🚥 Pre-merge checks | ✅ 3
✅ 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 'Feat | Remove docker dependency from Leverage CLI' directly and clearly summarizes the main change: documentation updates reflecting the removal of Docker as a dependency from the Leverage CLI.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/leverage-dockerless

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

🧹 Nitpick comments (5)
docs/user-guide/leverage-cli/extending-leverage/build.env.md (1)

19-19: Add a quick verification command for TF_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 !!! info block) 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

📥 Commits

Reviewing files that changed from the base of the PR and between a5f86e7 and 28b4b9f.

📒 Files selected for processing (16)
  • docs/try-leverage/local-setup.md
  • docs/user-guide/leverage-cli/basic-features.md
  • docs/user-guide/leverage-cli/extending-leverage/build.env.md
  • docs/user-guide/leverage-cli/extending-leverage/how-to-extend.md
  • docs/user-guide/leverage-cli/extending-leverage/tasks.md
  • docs/user-guide/leverage-cli/installation.md
  • docs/user-guide/leverage-cli/overview.md
  • docs/user-guide/leverage-cli/reference/aws.md
  • docs/user-guide/leverage-cli/reference/kubectl.md
  • docs/user-guide/leverage-cli/reference/run.md
  • docs/user-guide/leverage-cli/reference/terraform.md
  • docs/user-guide/leverage-cli/reference/tfautomv.md
  • docs/user-guide/leverage-cli/reference/tofu/layers.md
  • docs/user-guide/leverage-cli/reference/tofu/tofu.md
  • docs/user-guide/ref-architecture-aws/tf-state.md
  • mkdocs.yml

!!! info "Discovering clusters"
You can now run the `discover` command from the root of the project to find and configure all the involved clusters.

If the binary is not installed in the system the CLI will prompt the user to do so.
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Tighten grammar in 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` at 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).

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

♻️ Duplicate comments (1)
docs/user-guide/leverage-cli/reference/kubectl.md (1)

18-19: ⚠️ Potential issue | 🟡 Minor

Tighten 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

📥 Commits

Reviewing files that changed from the base of the PR and between 28b4b9f and e8b8f70.

📒 Files selected for processing (6)
  • docs/user-guide/leverage-cli/overview.md
  • docs/user-guide/leverage-cli/reference/aws.md
  • docs/user-guide/leverage-cli/reference/kubectl.md
  • docs/user-guide/leverage-cli/reference/terraform.md
  • docs/user-guide/leverage-cli/reference/tfautomv.md
  • docs/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

# Command: `terraform`

The `terraform` command is a wrapper for a containerized installation of Terraform. It provides the Terraform executable with specific configuration values required by Leverage.
The `terraform` command provides the Terraform executable with specific configuration values required by Leverage.
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Link the official Terraform docs in the opening sentence.

This page now introduces the executable without linking the primary reference source, unlike the sibling command pages updated in this PR.

🔗 Proposed wording
-The `terraform` command provides the Terraform executable with specific configuration values required by Leverage.
+The `terraform` command provides the [Terraform](https://developer.hashicorp.com/terraform/cli) executable with specific configuration values required by Leverage.
As per coding guidelines, "Always reference official sources (linked docs and repositories) as the primary truth".
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
The `terraform` command provides the Terraform executable with specific configuration values required by Leverage.
The `terraform` command provides the [Terraform](https://developer.hashicorp.com/terraform/cli) executable with specific configuration values required by Leverage.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/user-guide/leverage-cli/reference/terraform.md` at 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.

Comment on lines +9 to +10
If the binary is not installed in the system the CLI will prompt the user to do so.

Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Tighten the install prompt sentence.

The current wording is awkward for user-facing docs. Suggested copy: “If the binary is not installed on the system, the CLI will prompt the user to install it.”

✏️ Proposed wording
-If the binary is not installed in the system the CLI will prompt the user to do so.
+If the binary is not installed on the system, the CLI will prompt the user to install it.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
If the binary is not installed in the system the CLI will prompt the user to do so.
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` around lines 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.

# Command: `tofu` | `tf`

The `tofu` command is a wrapper for a containerized installation of OpenTofu. It provides the OpenTofu executable with specific configuration values required by Leverage.
The `tofu` command provides the OpenTofu executable with specific configuration values required by Leverage.
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Link the official OpenTofu docs in the opening sentence.

The page introduces OpenTofu but does not link the primary reference source.

🔗 Proposed wording
-The `tofu` command provides the OpenTofu executable with specific configuration values required by Leverage.
+The `tofu` command provides the [OpenTofu](https://opentofu.org/docs/cli/) executable with specific configuration values required by Leverage.
As per coding guidelines, "Always reference official sources (linked docs and repositories) as the primary truth".
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
The `tofu` command provides the OpenTofu executable with specific configuration values required by Leverage.
The `tofu` command provides the [OpenTofu](https://opentofu.org/docs/cli/) executable with specific configuration values required by Leverage.
🤖 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 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.

Copy link
Contributor

@juanmatias juanmatias left a comment

Choose a reason for hiding this comment

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

Left a few comments.

- run: "user-guide/leverage-cli/reference/run.md"
- kubectl: "user-guide/leverage-cli/reference/kubectl.md"
- shell: "user-guide/leverage-cli/reference/shell.md"
# - shell: "user-guide/leverage-cli/reference/shell.md"
Copy link
Contributor

Choose a reason for hiding this comment

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

Commented lines could be deleted?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

In this case we are treating it as a soft delete, the idea is to completely remove them at a later iteration when we are completely confident it is no longer necessary

Co-authored-by: Juan Matías Kungfoo de la Cámara Beovide <juan.delacamara@binbash.com.ar>
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: 4

♻️ Duplicate comments (1)
docs/user-guide/leverage-cli/installation.md (1)

80-80: ⚠️ Potential issue | 🟡 Minor

Remove stray trailing backtick.

Line 80 has an extra backtick at the end of the tfautomv description.

🔧 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

📥 Commits

Reviewing files that changed from the base of the PR and between 607fc0f and 4260cdf.

📒 Files selected for processing (1)
  • docs/user-guide/leverage-cli/installation.md

# Installation

To use Leverage CLI you need to install it from the Python Package Index (Pypi). Currently, only Linux and Mac OS are supported operative systems.
To use Leverage CLI you need to install it from the Python Package Index (Pypi). Currently, only Linux and Mac OS are officially supported operative systems.
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Use correct Apple OS name capitalization.

The operating system should be styled as "macOS" not "Mac OS".

📝 Proposed fix
-To use Leverage CLI you need to install it from the Python Package Index (Pypi). Currently, only Linux and Mac OS are officially supported operative systems.
+To use Leverage CLI you need to install it from the Python Package Index (Pypi). Currently, only Linux and macOS are officially supported operative systems.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
To use Leverage CLI you need to install it from the Python Package Index (Pypi). Currently, only Linux and Mac OS are officially supported operative systems.
To use Leverage CLI you need to install it from the Python Package Index (Pypi). Currently, only Linux and macOS are officially supported operative systems.
🧰 Tools
🪛 LanguageTool

[uncategorized] ~3-~3: The operating system from Apple is written “macOS”
Context: ...Index (Pypi). Currently, only Linux and Mac OS are officially supported operative syst...

(MAC_OS)

🤖 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 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.

Comment on lines +72 to 82
aws Run AWS CLI commands in the context of the current project.
credentials Manage AWS cli credentials.
kc Run Kubectl commands in a custom containerized environment.
kubectl Run Kubectl commands in a custom containerized environment.
kc Run Kubectl commands in the context of the current project.
kubectl Run Kubectl commands in the context of the current project.
project Manage a Leverage project.
run Perform specified task(s) and all of its dependencies.
shell Run a shell in a generic container.
tofu Run OpenTofu commands in a custom containerized...
tf Run OpenTofu commands in a custom containerized...
terraform Run Terraform commands in a custom containerized...
tfautomv Run TFAutomv commands in a custom containerized...
terraform Run Terraform commands in the context of the current project.
tf Run OpenTofu commands in the context of the current project.
tfautomv Run TFAutomv commands in the context of the current project.`
tofu Run OpenTofu commands in the context of the current project.
```
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Verify Docker references across documentation that may be inconsistent with Docker removal

rg -n -C2 'Docker container|docker container|containerized environment' --type=md

Repository: binbashar/le-ref-architecture-doc

Length of output: 976


🏁 Script executed:

# Check the full shell.md file to understand the Docker context
cat -n docs/user-guide/leverage-cli/shell.md

Repository: binbashar/le-ref-architecture-doc

Length of output: 3858


🏁 Script executed:

# Search for Docker references across the entire codebase to understand Docker's current status
rg -n 'Docker|docker' --type=md | head -30

Repository: binbashar/le-ref-architecture-doc

Length of output: 5186


🏁 Script executed:

# Check if there's any version information or changelog that indicates Docker removal
fd -e md | xargs grep -l 'Docker removed\|Docker deprecated\|without Docker' 2>/dev/null | head -10

Repository: binbashar/le-ref-architecture-doc

Length of output: 59


Align help text terminology with Docker's role in Leverage.

The help text in lines 72-82 now states commands run "in the context of the current project," but this phrasing is vague given that Docker remains a core part of how Leverage operates. Documentation confirms Docker containers are still essential: shell.md explicitly states "Leverage provides the user with a completely isolated environment tailored to operate in the current project via a Docker container," and troubleshooting/general.md includes extensive Docker daemon configuration guidance.

Update the help text to either (1) explicitly reference Docker to match the architectural reality, or (2) define what "context of the current project" means in the installation documentation so users understand the execution model without needing to cross-reference other docs.

🤖 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` around lines 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.

tofu Run OpenTofu commands in the context of the current project.
```

##Installation in an isolated environment
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Add space after ## in heading.

The heading is missing a space after the hash marks, which prevents proper Markdown rendering.

📝 Proposed fix
-##Installation in an isolated environment
+## Installation in an isolated environment
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
##Installation in an isolated environment
## Installation in an isolated environment
🧰 Tools
🪛 markdownlint-cli2 (0.22.0)

[warning] 84-84: No space after hash on atx style heading

(MD018, no-missing-space-atx)

🤖 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 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.

leverage tofu plan
```

###
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Remove orphan heading.

Line 122 contains a heading with no text (###), which serves no purpose and should be removed. This was previously flagged and marked as addressed in commit 4260cdf, but the issue persists.

🗑️ Proposed fix
 leverage tofu plan 

-###

</details>

<!-- suggestion_start -->

<details>
<summary>📝 Committable suggestion</summary>

> ‼️ **IMPORTANT**
> Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

```suggestion

🤖 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 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.

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants