Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 3 additions & 8 deletions scripts/generate_cli_docs.py
Original file line number Diff line number Diff line change
Expand Up @@ -187,9 +187,8 @@ def generate_command_section(cmd: Command) -> list[str]:


def generate_documentation(
regular_commands: list[Command],
regular_commands: list[Command],
advanced_commands: list[Command],
version: str
) -> str:
"""Generate the complete markdown documentation."""
doc_lines = []
Expand All @@ -213,7 +212,7 @@ def generate_documentation(
"To install the LocalStack CLI, follow the [installation guide](/aws/getting-started/installation/#installing-localstack-cli).",
"",
":::note",
f"This documentation was auto-generated from LocalStack CLI version `{version}`.",
"[`lstk`](/aws/tooling/lstk/) is our new Go-based CLI with an interactive terminal UI for lifecycle (`start`, `stop`), monitoring (`status`, `logs`), storage (`snapshot`), and more.",
":::",
"",
"## Global Options",
Expand Down Expand Up @@ -282,18 +281,14 @@ def main() -> None:
total = len(regular_commands) + len(advanced_commands)
print(f"Found {len(regular_commands)} commands and {len(advanced_commands)} advanced commands", file=sys.stderr)

# Get version
version_output = run_command(["localstack", "--version"])
version = version_output.strip() if version_output else "latest"

# Populate details for each command (including subcommands)
all_commands = regular_commands + advanced_commands
for i, cmd in enumerate(all_commands):
print(f"Processing command {i + 1}/{total}: localstack {cmd.name}", file=sys.stderr)
populate_command_details(cmd)

print("Generating documentation...", file=sys.stderr)
documentation = generate_documentation(regular_commands, advanced_commands, version)
documentation = generate_documentation(regular_commands, advanced_commands)

if args.dry_run:
print(documentation)
Expand Down
2 changes: 1 addition & 1 deletion src/content/docs/aws/tooling/localstack-cli.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ It provides convenience features to interact with LocalStack features like Cloud
To install the LocalStack CLI, follow the [installation guide](/aws/getting-started/installation/#installing-localstack-cli).

:::note
This documentation was auto-generated from LocalStack CLI version `LocalStack CLI 2026.4.0`.
[`lstk`](/aws/tooling/lstk/) is our new Go-based CLI with an interactive terminal UI for lifecycle (`start`, `stop`), monitoring (`status`, `logs`), storage (`snapshot`), and more.
:::

## Global Options
Expand Down
9 changes: 4 additions & 5 deletions src/content/docs/aws/tooling/lstk.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,7 @@ It provides a built-in terminal UI (TUI) for interactive use and plain text outp
Running `lstk` with no arguments takes you through the entire flow automatically.

:::note
`lstk` is in early release and does not yet support advanced features like **Cloud Pods**, **Extensions**, and **Ephemeral Instances**. For these features, use the [LocalStack CLI](/aws/tooling/localstack-cli/).
Both tools can be installed and used on the same machine.
`lstk` covers the everyday emulator workflow: lifecycle (`start`, `stop`), monitoring (`status`, `logs`), storage (`snapshot`), and more.
:::

## Prerequisites
Expand Down Expand Up @@ -458,11 +457,11 @@ Restart your shell after persisting completions.

### What is the difference between `lstk` and the `localstack` CLI?

Both tools can start, stop, and manage the LocalStack emulator.
`lstk` is a newer CLI built in Go with a TUI, while the `localstack` CLI is the established Python-based tool with support for Cloud Pods, Extensions, Ephemeral Instances, and other advanced features.
Both tools can start, stop, and manage the LocalStack emulator, and both work with Cloud Pods — `lstk` via its `snapshot` command and the [`localstack` CLI](/aws/tooling/localstack-cli/) via its `pod` command.
`lstk` is a newer CLI built in Go with a TUI; the `localstack` CLI is the established Python-based tool that additionally supports Extensions, Ephemeral Instances, and other advanced features `lstk` doesn't cover yet.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

@gtsiolis considering that we will deprecate localstack without adding support for things like Extensions and Ephemeral Instances to lstk, do we really want to highlight it?

When we deprecate localstack, we'll update docs to only mention the webapp route of using those features not supported in lstk (e.g. Ephemeral Instance, Extensions) and just don't say anything CLI.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

You're right, probably not worth highlighting.

For context, the goal was to make lstk discoverable from the localstack CLI page.

I will remove ephemeral instances and extensions mention next week, but you are also welcome to take this over and push any changes or merge before that.


Both can be installed side by side.
Use `lstk` for fast daily start/stop workflows and `localstack` for advanced platform features.
Use `lstk` for fast daily workflows and the `localstack` CLI when you need its additional platform features.

### Can I use `lstk` with Docker Compose?

Expand Down