# aqua | aquaproj | Knowledge Base | Instagit

Declarative CLI Version manager written in Go. Support Lazy Install, Registry, and continuous update with Renovate. CLI version is switched seamlessly

GitHub Stars: 1.5k

Repository: https://github.com/aquaproj/aqua

---

## Articles

### [Performance Implications of Using Aqua: Caching, Concurrency, and Runtime Efficiency](/aquaproj/aqua/what-are-the-performance-implications-of-using-aqua)

Discover how Aqua optimizes performance with caching, concurrency, and lazy loading for sub-millisecond warm starts and efficient CI pipelines.

- Tags: performance
- Published: 2026-02-25

### [How to Integrate aqua with CI/CD Pipelines: Complete GitHub Actions and CircleCI Guide](/aquaproj/aqua/how-to-integrate-aqua-with-ci-cd-pipelines)

Easily integrate aqua with CI/CD pipelines using GitHub Actions and CircleCI. Install tools securely with automatic checksum verification and caching.

- Tags: how-to-guide
- Published: 2026-02-25

### [How to Configure aqua.yaml for Custom Commands: A Complete Guide to Command Aliases](/aquaproj/aqua/how-to-configure-aquayaml-for-custom-commands)

Learn to configure aqua.yaml for custom commands using command aliases. Aqua creates symbolic links so you can invoke aliases like native commands easily.

- Tags: how-to-guide
- Published: 2026-02-25

### [What Is the Default Installation Directory for aqua? A Complete Guide](/aquaproj/aqua/what-is-the-default-installation-directory-for-aqua)

Discover the default installation directory for aqua on Unix and Windows systems. Learn how AQUA_ROOT_DIR overrides this location for precise control over your installations.

- Tags: how-to-guide
- Published: 2026-02-25

### [How Aqua Manages Tool Versions: A Deep Dive into the Modular VersionGetter Pipeline](/aquaproj/aqua/how-does-aqua-manage-tool-versions)

Learn how aqua manages tool versions using a modular VersionGetter pipeline that pulls from GitHub tags releases Cargo and Go modules and extracts semantic versions.

- Tags: deep-dive
- Published: 2026-02-25

### [What Dependencies Does Aqua Manage? A Complete Guide to CLI Package Types](/aquaproj/aqua/what-are-the-dependencies-managed-by-aqua)

Discover the diverse dependencies aqua manages including GitHub releases archives HTTP downloads Go modules and Rust crates Install versioned binaries without compilation.

- Tags: deep-dive
- Published: 2026-02-25

### [What Is the Role of runner.go in the Aqua Project?](/aquaproj/aqua/what-is-the-role-of-runner-go-in-the-aqua-project)

Discover the role of runner.go in the Aqua project. Learn how it manages CLI execution, sets up tool environments, and handles installations for seamless command invocation.

- Tags: internals
- Published: 2026-02-25

### [Where Is the Command Registration Logic in Aqua? A Deep Dive into the CLI Architecture](/aquaproj/aqua/where-is-the-command-registration-logic-located-in-aqua)

Discover where the command registration logic resides in Aqua's CLI architecture. We explore the runner go file and how commands are assembled for a full understanding of the CLI.

- Tags: deep-dive
- Published: 2026-02-25

### [Main Entry Point for the Aqua CLI: A Deep Dive into cmd/aqua/main.go](/aquaproj/aqua/what-is-the-main-entry-point-for-the-aqua-cli)

Discover the main entry point for the aqua CLI in cmd/aqua/main.go. Understand how the application bootstraps and delegates execution to pkg/cli/runner.go for seamless operation.

- Tags: deep-dive
- Published: 2026-02-25

### [How to Find Tool Installation Paths with aqua which: A Complete Guide](/aquaproj/aqua/how-can-i-find-the-installation-path-of-a-tool-using-aqua-which)

Find tool installation paths with aqua which. Learn how to resolve aqua-managed tool paths and fallback to system PATH for unmanaged binaries in this complete guide.

- Tags: how-to-guide
- Published: 2026-02-25

### [What Is the aqua exec Command? Purpose and Implementation in Aqua](/aquaproj/aqua/what-is-the-purpose-of-the-aqua-exec-command)

Discover the aqua exec command purpose. Learn how aqua exec installs and runs tools managed by Aqua for efficient project workflows.

- Tags: deep-dive
- Published: 2026-02-25

### [How to Update Tools with the aqua update Command: A Complete Guide](/aquaproj/aqua/how-do-i-update-tools-with-the-aqua-update-command)

Learn to update tools with the aqua update command in aquaproj. Refresh tool versions in aqua.yaml, select specific packages, or use interactive updates.

- Tags: how-to-guide
- Published: 2026-02-25

### [What Does the aqua install Command Do? A Technical Deep Dive into Aqua’s Core Installation Pipeline](/aquaproj/aqua/what-does-the-aqua-install-command-do)

Learn what the aqua install command does. This deep dive explains how it reads aqua.yaml, resolves versions, verifies binaries, and links executables for seamless tool management.

- Tags: deep-dive
- Published: 2026-02-25

### [How to Use the aqua root-dir Command: A Complete Guide](/aquaproj/aqua/how-do-i-use-the-aqua-root-dir-command)

Learn how to use the aqua root-dir command to find Aqua's installation directory on Linux, macOS, or Windows. Discover the default path and environment variable settings.

- Tags: how-to-guide
- Published: 2026-02-25

### [Aqua CLI Configuration Options: A Complete Guide to Global and Command-Specific Flags](/aquaproj/aqua/what-are-the-configuration-options-for-the-aqua-cli)

Master Aqua CLI configuration. Explore global flags like --config and --log-level, plus command-specific options for init, install, and more. Optimize your workflow today.

- Tags: how-to-guide
- Published: 2026-02-25

### [How the Aqua CLI Command Structure Is Organized](/aquaproj/aqua/how-is-the-aqua-cli-command-structure-organized)

Understand the aqua CLI command structure. Discover how urfave/cli v3 and the central Runner assemble individual commands, learn about package organization, and command constructors within the aqua CLI.

- Tags: internals
- Published: 2026-02-25

### [Understanding the Architecture of the aqua CLI: A Modular Go Design](/aquaproj/aqua/what-is-the-architecture-of-the-aqua-cli)

Discover the modular Go architecture of the aqua CLI. Explore its distinct layers for entry points, commands, and logic, seamlessly connected by compile-time dependency injection.

- Tags: architecture
- Published: 2026-02-25

### [Where to Find the Main CLI Runner in the Aqua Project](/aquaproj/aqua/where-can-i-find-the-main-cli-runner-in-the-aqua-project)

Discover the location of the main CLI runner in the Aqua project. Find the entry point at cmd/aqua/main.go and understand its initialization process.

- Tags: internals
- Published: 2026-02-25

### [How the Aqua CLI Runner File Registers Commands: A Deep Dive into the Constructor Pattern](/aquaproj/aqua/how-does-the-aqua-cli-runner-file-register-commands)

Explore how the aqua CLI runner registers commands. Learn about the constructor pattern, shared parameters, and command instantiation in this deep dive into its codebase.

- Tags: deep-dive
- Published: 2026-02-25

### [Complete Guide to Aqua CLI Commands in the aquaproj/aqua Tool](/aquaproj/aqua/what-are-the-available-commands-in-the-aqua-cli)

Explore aqua CLI commands like init install generate and update to manage declarative package installations efficiently. Get the complete guide to aquaproj/aqua tool.

- Tags: how-to-guide
- Published: 2026-02-25

