@gitlab/duo-cli
Advanced tools
+1
-1
| { | ||
| "name": "@gitlab/duo-cli", | ||
| "version": "8.77.0", | ||
| "version": "8.78.0", | ||
| "description": "GitLab Duo for your command line", | ||
@@ -5,0 +5,0 @@ "type": "module", |
+12
-90
@@ -7,109 +7,31 @@ # GitLab Duo CLI (experimental) | ||
| The GitLab Duo CLI can help you: | ||
| 📖 **For installation, usage, and configuration see the [GitLab Duo CLI documentation](https://docs.gitlab.com/user/gitlab_duo_cli/).** | ||
| - Understand your codebase structure, cross-file functionality, and individual code snippets. | ||
| - Build, modify, refactor, and modernize code. | ||
| - Troubleshoot errors and fix code issues. | ||
| - Automate CI/CD configuration, troubleshoot pipeline errors, and optimize pipelines. | ||
| - Perform multi-step development tasks autonomously. | ||
| ## Development | ||
| This tool is [experimental](https://docs.gitlab.com/policy/development_stages_support/#experiment) | ||
| and some features might not work as expected. | ||
| To run the CLI from a local checkout: | ||
| ## Installation | ||
| Prerequisites: | ||
| - Node.js 22 or later. | ||
| - A [personal access token](https://docs.gitlab.com/user/profile/personal_access_tokens/) with `api` | ||
| scope. | ||
| To install the GitLab Duo CLI globally, run: | ||
| ```shell | ||
| npm install -g @gitlab/duo-cli | ||
| npm run cli | ||
| ``` | ||
| ### Alternative: Install using installation script | ||
| This builds and launches the app. Pass CLI flags after `--`: | ||
| You can use the installation script to install the GitLab Duo CLI without Node.js: | ||
| #### macOS and Linux | ||
| ```shell | ||
| bash <(curl -fsSL "https://gitlab.com/gitlab-org/editor-extensions/gitlab-lsp/-/raw/main/packages/cli/scripts/install_duo_cli.sh") | ||
| npm run cli -- run --goal "example" | ||
| ``` | ||
| #### Windows | ||
| For hot-reload development, use `npm run dev:watch` instead. | ||
| ```shell | ||
| irm "https://gitlab.com/gitlab-org/editor-extensions/gitlab-lsp/-/raw/main/packages/cli/scripts/install_duo_cli.ps1" | iex | ||
| ``` | ||
| See the full [Development Guide](./docs/development.md) for prerequisites, building, debugging, testing, and architecture details. | ||
| This script will: | ||
| ### Packages | ||
| 1. Detect your platform (OS and architecture) | ||
| 1. Download the appropriate GitLab Duo CLI binary | ||
| 1. Install it to `~/.local/bin/duo` | ||
| 1. Update your PATH if needed | ||
| The Duo CLI is split across two packages: | ||
| For non-interactive installation (useful for CI/CD): | ||
| - **`packages/cli`** — CLI entry point, command routing, backend abstraction, and controllers for interactive and headless modes. | ||
| - **[`packages/tui`](../tui/)** — React-based terminal UI built on [Ink](https://github.com/vadimdemedes/ink). Pure presentation layer with zero domain logic. Renders the chat interface, messages, tool calls, diffs, and Markdown. | ||
| ```shell | ||
| curl -fsSL https://gitlab.com/gitlab-org/editor-extensions/gitlab-lsp/-/raw/main/packages/cli/scripts/install_duo_cli.sh | bash -s -- -y | ||
| ``` | ||
| To install a specific version: | ||
| ```shell | ||
| curl -fsSL https://gitlab.com/gitlab-org/editor-extensions/gitlab-lsp/-/raw/main/packages/cli/scripts/install_duo_cli.sh | bash -s -- --version 1.2.3 | ||
| ``` | ||
| After installation, you can run the GitLab Duo CLI using the `duo` command. | ||
| ### Updating | ||
| To update to the latest version: | ||
| ```shell | ||
| npm install -g @gitlab/duo-cli@latest | ||
| ``` | ||
| ## Usage | ||
| ### Interactive Mode (TUI) | ||
| Start the interactive terminal UI: | ||
| ```shell | ||
| duo | ||
| ``` | ||
| Alternatively, you can run the GitLab Duo CLI without installing: | ||
| ```shell | ||
| npx -y @gitlab/duo-cli | ||
| ``` | ||
| To run a workflow in headless mode, use the command `duo run`: | ||
| > [!warning] | ||
| > Headless mode bypasses manual tool approval. Use this mode with caution and in a controlled | ||
| > sandbox environment. | ||
| ```shell | ||
| duo run --goal "Your goal or prompt here" | ||
| ``` | ||
| ## Documentation | ||
| For detailed setup, usage, troubleshooting, and configuration instructions, see the | ||
| [GitLab Duo CLI documentation](https://docs.gitlab.com/user/gitlab_duo_cli/). | ||
| ## Contributing | ||
| See [Development Guide](./docs/development.md) for information on contributing to this project. | ||
| ## License | ||
| See the [License](../../LICENSE) for details. |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Shell access
Supply chain riskThis module accesses the system shell. Accessing the system shell increases the risk of executing arbitrary code.
Found 1 instance in 1 package
Shell access
Supply chain riskThis module accesses the system shell. Accessing the system shell increases the risk of executing arbitrary code.
Found 1 instance in 1 package
33898180
1.61%37
-67.83%