feat(devcontainer): add common CLI tools and setup symlinks for compatibility

This commit is contained in:
Julian Pawlowski 2026-04-11 15:17:20 +00:00
parent 2f704a35a3
commit c7af02f7c2
3 changed files with 36 additions and 1 deletions

View file

@ -136,9 +136,20 @@
},
"ghcr.io/devcontainers-extra/features/apt-packages:1": {
"packages": [
"bat",
"eza",
"fd-find",
"ffmpeg",
"fzf",
"git-delta",
"hyperfine",
"httpie",
"ipython3",
"jq",
"libturbojpeg0",
"libpcap-dev"
"libpcap-dev",
"ripgrep",
"yq"
]
}
}

View file

@ -783,6 +783,12 @@ When debugging period calculation issues:
- **git-cliff**: Template-based release notes (fast, reliable, installed via cargo in `scripts/setup/setup`)
- Manual grep/awk parsing as fallback (always available)
**Agent Productivity CLI Tools (DevContainer):**
- Expected available tools: `rg`, `fd`, `fzf`, `jq`, `yq`, `bat`, `eza`, `delta`, `hyperfine`, `ipython`, `http`
- Debian package notes: `fd-find` provides `fdfind`, `bat` may be `batcat`
- Setup creates compatibility symlinks for `fd` and `bat` in `scripts/setup/setup`
**When generating shell commands:**
1. **Prefer development scripts** (they handle .venv automatically)

View file

@ -47,6 +47,24 @@ fi
"$SCRIPT_DIR/bootstrap"
# Setup Debian compatibility symlinks for common CLI tool names.
mkdir -p "$HOME/.local/bin"
# Debian package fd-find provides `fdfind`, but most workflows expect `fd`.
if command -v fdfind >/dev/null 2>&1; then
ln -sf "$(command -v fdfind)" "$HOME/.local/bin/fd"
fi
# Debian package bat provides `batcat`, but most workflows expect `bat`.
if command -v batcat >/dev/null 2>&1; then
ln -sf "$(command -v batcat)" "$HOME/.local/bin/bat"
fi
# Ensure user-local bin directory is available in interactive shells.
if ! grep -q '\$HOME/.local/bin' "$HOME/.zshrc" 2>/dev/null; then
printf '\n# Added by scripts/setup/setup\nexport PATH="$HOME/.local/bin:$PATH"\n' >> "$HOME/.zshrc"
fi
# Install HACS for testing with other custom components
echo ""
log_header "Installing HACS in dev environment"