diff --git a/src/ai/README.md b/src/ai/README.md index e1f263e..2a8a3fd 100644 --- a/src/ai/README.md +++ b/src/ai/README.md @@ -25,7 +25,10 @@ This feature provides the foundation for all AI CLI tools in DuploCloud devconta - **Node.js Installation**: Automatically checks for and installs Node.js if not present - First tries to use nvm if available - - Falls back to apt package manager + - Falls back to apt package manager (NodeSource LTS repository) + - Uses robust version detection with multiple fallback methods + - Handles PATH refresh after installation + - Minimum required version: Node.js 18+ - Compatible with [stu-bell/devcontainer-features/node](https://github.com/stu-bell/devcontainer-features/tree/main/src/node) - **duplo-skills CLI**: Global command for downloading AI skills diff --git a/src/git/README.md b/src/git/README.md index f2d0309..511ef59 100644 --- a/src/git/README.md +++ b/src/git/README.md @@ -15,13 +15,7 @@ Installs git plugins and configures global gitignore | Options Id | Description | Type | Default Value | |-----|-----|-----|-----| -| installGitKraken | Install GitKraken CLI (gk) for enhanced git operations | boolean | false | -## Customizations - -### VS Code Extensions - -- `eamodio.gitlens` ## Usage diff --git a/src/github/README.md b/src/github/README.md index cd8ab51..d7988e0 100644 --- a/src/github/README.md +++ b/src/github/README.md @@ -16,7 +16,6 @@ Installs GitHub CLI (gh) with optional GitHub Copilot CLI and skills support | Options Id | Description | Type | Default Value | |-----|-----|-----|-----| | installCopilot | Install GitHub Copilot CLI extension | boolean | false | -| installGitKraken | Install GitKraken CLI (gk) for enhanced git operations. Requires git feature to be installed. | boolean | false | | skills | Comma-separated list of Copilot skills to install (e.g., 'tf-module,api-design'). Skills are always downloaded when specified, regardless of authentication status. | string | - | ## Customizations diff --git a/src/gitkraken/README.md b/src/gitkraken/README.md new file mode 100644 index 0000000..515e812 --- /dev/null +++ b/src/gitkraken/README.md @@ -0,0 +1,126 @@ + +# GitKraken (gitkraken) + +Installs GitKraken CLI (gk) and GitLens VS Code extension for enhanced git operations + +## Example Usage + +```json +"features": { + "ghcr.io/duplocloud/devcontainers/gitkraken:1": {} +} +``` + +## Options + +| Options Id | Description | Type | Default Value | +|-----|-----|-----|-----| +| version | GitKraken CLI version to install | string | 3.1.51 | + +## Customizations + +### VS Code Extensions + +- `eamodio.gitlens` + +## Overview + +This feature installs the [GitKraken CLI](https://www.gitkraken.com/cli) and [GitLens VS Code extension](https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens) for enhanced git operations in your devcontainer. + +The GitKraken feature automatically includes the git feature as a dependency, so you get all git configuration capabilities plus GitKraken-specific tools. + +> **Note:** While the git feature is automatically installed via `dependsOn`, you must explicitly include it in your devcontainer.json if you want to configure git-specific options (like `userName` or `userEmail`). The `dependsOn` relationship only ensures the git feature is installed—it does not pass options between features. + +## Usage + +Add this feature to your devcontainer configuration: + +```json +{ + "features": { + "ghcr.io/duplocloud/devcontainers/gitkraken:1": {} + } +} +``` + +### Version Configuration + +Specify a specific GitKraken CLI version: + +```json +{ + "features": { + "ghcr.io/duplocloud/devcontainers/gitkraken:1": { + "version": "3.1.51" + } + } +} +``` + +To configure git options, explicitly include the git feature: + +```json +{ + "features": { + "ghcr.io/duplocloud/devcontainers/gitkraken:1": {}, + "ghcr.io/duplocloud/devcontainers/git:1": { + "userName": "Your Name", + "userEmail": "you@example.com" + } + } +} +``` + +To use a specific GitKraken CLI version: + +```json +{ + "features": { + "ghcr.io/duplocloud/devcontainers/gitkraken:1": { + "version": "3.2.0" + } + } +} +``` + +## What's Included + +### GitKraken CLI + +The GitKraken CLI (`gk`) provides enhanced git commands and integrations: + +```bash +# View GitKraken CLI version +gk --version + +# See available commands +gk --help +``` + +### GitLens Extension + +GitLens supercharges Git inside VS Code, providing: +- Inline blame annotations +- Rich commit search +- File and line history +- Visual commit graph +- And much more + +The extension is automatically installed in VS Code when using this feature. + +## Platform Support + +The GitKraken CLI supports: +- **Architectures**: amd64, arm64, 386 +- **Operating Systems**: Linux, macOS + +## References + +- [GitKraken CLI Documentation](https://www.gitkraken.com/cli) +- [GitLens Extension](https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens) +- [GitKraken Website](https://www.gitkraken.com/gitlens) + + +--- + +_Note: This file was auto-generated from the [devcontainer-feature.json](https://github.com/duplocloud/devcontainers/blob/main/src/gitkraken/devcontainer-feature.json). Add additional notes to a `NOTES.md`._ diff --git a/src/onepassword-cli/README.md b/src/onepassword-cli/README.md index 05a1dff..f1720c6 100644 --- a/src/onepassword-cli/README.md +++ b/src/onepassword-cli/README.md @@ -20,7 +20,7 @@ Installs 1Password CLI with optional auto SSH key configuration | vaultID | Default vault ID to use. Sets OP_VAULT environment variable. Preferred over vault name when both are specified. | string | - | | account | 1Password account domain. Sets OP_ACCOUNT environment variable. | string | my.1password.com | | userEmail | User email for 1Password account (optional, used when adding account). | string | - | -| disableInteractive | Disable interactive login prompt when no auth method is detected. | boolean | false | +| interactive | Enable interactive login prompt when no auth method is detected. | boolean | false | | autoSsh | Automatically fetch and configure SSH keys from 1Password. | boolean | false | | sshSecretNames | Comma-separated list of 1Password secret names containing SSH keys. | string | - | | sshSecretTags | Tags to search for SSH secrets (used when sshSecretNames is empty). | string | ssh | @@ -99,7 +99,7 @@ The feature supports multiple authentication methods (checked in order): 1. **Connect Server**: Set `OP_CONNECT_HOST` and `OP_CONNECT_TOKEN` environment variables 2. **Service Account**: Set `OP_SERVICE_ACCOUNT_TOKEN` environment variable 3. **Desktop App Agent** (Linux only): Automatically detected if `~/.1password/agent.sock` exists -4. **Interactive Login**: Prompts for email/password (can be disabled with `disableInteractive: true`) +4. **Interactive Login**: Prompts for email/password (disabled by default, enable with `interactive: true`) - Supports automated password via `OP_PASSWD` environment variable (see [Interactive Login Requirements](#interactive-login-requirements)) If no authentication method succeeds, only the CLI is installed and a warning is displayed.