Skip to content
Merged
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
5 changes: 4 additions & 1 deletion src/ai/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
6 changes: 0 additions & 6 deletions src/git/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
1 change: 0 additions & 1 deletion src/github/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
126 changes: 126 additions & 0 deletions src/gitkraken/README.md
Original file line number Diff line number Diff line change
@@ -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`._
4 changes: 2 additions & 2 deletions src/onepassword-cli/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 |
Expand Down Expand Up @@ -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.
Expand Down