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
12 changes: 12 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
| Feature | Description | Install method | Version |
| ------- | ----------- | -------------- | ------- |
| [alexpasmantier/television](https://github.com/devcontainer-community/devcontainer-features/tree/main/src/alexpasmantier-television) | `tv` — fuzzy finder for files, text, and more | gh release | 1.0.1 |
| [apt-build-essential](https://github.com/devcontainer-community/devcontainer-features/tree/main/src/apt-build-essential) | `gcc`/`g++`/`make` — C/C++ compiler toolchain via the build-essential package | apt | 1.0.0 |
| [asdf-vm.com](https://github.com/devcontainer-community/devcontainer-features/tree/main/src/asdf-vm.com) | `asdf` — multi-runtime version manager | gh release | 1.0.2 |
| [astral.sh/uv](https://github.com/devcontainer-community/devcontainer-features/tree/main/src/astral.sh-uv) | `uv`/`uvx` — fast Python package and project manager | gh release | 1.0.4 |
| [atuin.sh](https://github.com/devcontainer-community/devcontainer-features/tree/main/src/atuin.sh) | `atuin` — shell history sync and search | gh release | 1.0.3 |
Expand All @@ -20,15 +21,22 @@
| [biomejs.dev](https://github.com/devcontainer-community/devcontainer-features/tree/main/src/biomejs.dev) | `biome` — fast JS/TS formatter and linter | gh release | 1.0.1 |
| [btop](https://github.com/devcontainer-community/devcontainer-features/tree/main/src/btop) | `btop` — resource monitor (CPU, memory, network, processes) | gh release | 1.0.3 |
| [bun.sh](https://github.com/devcontainer-community/devcontainer-features/tree/main/src/bun.sh) | `bun` — fast JS runtime and package manager | curl | 1.0.0 |
| [ccache.dev](https://github.com/devcontainer-community/devcontainer-features/tree/main/src/ccache.dev) | `ccache` — compiler cache for faster C/C++ recompilation | apt | 1.0.0 |
| [charmbracelet/gum](https://github.com/devcontainer-community/devcontainer-features/tree/main/src/charmbracelet-gum) | `gum` — building blocks for shell scripts | gh release | 1.0.4 |
| [chezmoi.io](https://github.com/devcontainer-community/devcontainer-features/tree/main/src/chezmoi.io) | `chezmoi` — dotfiles manager across machines | gh release | 1.0.2 |
| [clang-format](https://github.com/devcontainer-community/devcontainer-features/tree/main/src/clang-format) | `clang-format` — C/C++ code formatter from the LLVM project | apt | 1.0.0 |
| [clang-tidy](https://github.com/devcontainer-community/devcontainer-features/tree/main/src/clang-tidy) | `clang-tidy` — C++ linter and static analyzer from LLVM | apt | 1.0.0 |
| [cloudflare.com/warp-cli](https://github.com/devcontainer-community/devcontainer-features/tree/main/src/cloudflare.com-warp-cli) | `warp-cli` — Cloudflare WARP VPN client | curl | 1.0.1 |
| [cmake.org](https://github.com/devcontainer-community/devcontainer-features/tree/main/src/cmake.org) | `cmake` — cross-platform build system generator | apt | 1.0.0 |
| [collection-c-cpp](https://github.com/devcontainer-community/devcontainer-features/tree/main/src/collection-c-cpp) | C/C++ dev collection — cmake, ninja, gdb, valgrind, ccache, cppcheck, clang-format, clang-tidy, distcc, vcpkg, build-essential | meta | 1.0.0 |
| [critique.work](https://github.com/devcontainer-community/devcontainer-features/tree/main/src/critique.work) | `critique` — TUI for reviewing git changes | bun | 1.0.0 |
| [danmar/cppcheck](https://github.com/devcontainer-community/devcontainer-features/tree/main/src/danmar-cppcheck) | `cppcheck` — static analysis tool for C/C++ code | apt | 1.0.0 |
| [delta](https://github.com/devcontainer-community/devcontainer-features/tree/main/src/delta) | `delta` — syntax-highlighting pager for git diffs | gh release | 1.0.1 |
| [deno.com](https://github.com/devcontainer-community/devcontainer-features/tree/main/src/deno.com) | `deno` — secure TypeScript/JavaScript runtime | curl | 1.0.0 |
| [devenv.sh](https://github.com/devcontainer-community/devcontainer-features/tree/main/src/devenv.sh) | `devenv` — reproducible developer environments via Nix | nix | 1.0.0 |
| [diffity.com](https://github.com/devcontainer-community/devcontainer-features/tree/main/src/diffity.com) | `diffity` — agent-agnostic GitHub-style diff viewer and code review tool | npm | 1.0.0 |
| [direnv.net](https://github.com/devcontainer-community/devcontainer-features/tree/main/src/direnv.net) | `direnv` — environment switcher that loads and unloads variables based on the current directory | apt | 1.0.0 |
| [distcc.org](https://github.com/devcontainer-community/devcontainer-features/tree/main/src/distcc.org) | `distcc` — distributed C/C++ compiler for faster parallel builds | apt | 1.0.0 |
| [dolthub.com](https://github.com/devcontainer-community/devcontainer-features/tree/main/src/dolthub.com) | `dolt` — SQL database with Git-style versioning | gh release | 1.0.0 |
| [dolthub.com/doltgres](https://github.com/devcontainer-community/devcontainer-features/tree/main/src/dolthub.com-doltgres) | `doltgres` — version-controlled PostgreSQL-compatible database | gh release | 1.0.0 |
| [dotenv.org](https://github.com/devcontainer-community/devcontainer-features/tree/main/src/dotenv.org) | `dotenvx` — better dotenv with multi-environment and encrypted secrets support | bun | 1.0.0 |
Expand All @@ -53,6 +61,7 @@
| [memvid.com](https://github.com/devcontainer-community/devcontainer-features/tree/main/src/memvid.com) | `memvid` — video-based memory for AI applications | npm | 1.0.0 |
| [mosh.org](https://github.com/devcontainer-community/devcontainer-features/tree/main/src/mosh.org) | `mosh` — SSH replacement with roaming support | apt | 1.0.0 |
| [neovim.io](https://github.com/devcontainer-community/devcontainer-features/tree/main/src/neovim.io) | `nvim` — hyperextensible Vim-based text editor | gh release | 1.0.1 |
| [ninja-build.org](https://github.com/devcontainer-community/devcontainer-features/tree/main/src/ninja-build.org) | `ninja` — small build system with a focus on speed | apt | 1.0.0 |
| [nixos.org](https://github.com/devcontainer-community/devcontainer-features/tree/main/src/nixos.org) | `nix` — the Nix package manager | curl | 1.0.0 |
| [nvidia.com/cuda](https://github.com/devcontainer-community/devcontainer-features/tree/main/src/nvidia.com-cuda) | NVIDIA CUDA Toolkit for GPU computing | curl | 1.0.0 |
| [onecli.sh/cli](https://github.com/devcontainer-community/devcontainer-features/tree/main/src/onecli.sh-cli) | `onecli` — manage agents, secrets, rules, and configuration from the terminal | gh release | 1.0.1 |
Expand All @@ -66,6 +75,7 @@
| [schpet/linear-cli](https://github.com/devcontainer-community/devcontainer-features/tree/main/src/schpet-linear-cli) | `linear` — CLI to access linear.com issue tracker | gh release | 1.0.2 |
| [smallstep.com](https://github.com/devcontainer-community/devcontainer-features/tree/main/src/smallstep.com) | `step` — zero-trust security toolkit and CA | gh release | 1.0.2 |
| [socket.dev/sfw-free](https://github.com/devcontainer-community/devcontainer-features/tree/main/src/socket.dev-sfw-free) | `sfw` — network security proxy that blocks malicious dependencies | gh release | 1.0.0 |
| [sourceware.org/gdb](https://github.com/devcontainer-community/devcontainer-features/tree/main/src/sourceware.org-gdb) | `gdb` — GNU debugger for C/C++ and other languages | apt | 1.0.0 |
| [sshd](https://github.com/devcontainer-community/devcontainer-features/tree/main/src/sshd) | `sshd` — OpenSSH server running inside the container | apt | 1.0.0 |
| [starship.rs](https://github.com/devcontainer-community/devcontainer-features/tree/main/src/starship.rs) | `starship` — minimal, fast cross-shell prompt | gh release | 1.0.2 |
| [steveyegge/beads](https://github.com/devcontainer-community/devcontainer-features/tree/main/src/steveyegge-beads) | `bd` — distributed graph issue tracker for AI agents | gh release | 1.0.0 |
Expand All @@ -74,6 +84,8 @@
| [tailscale.com](https://github.com/devcontainer-community/devcontainer-features/tree/main/src/tailscale.com) | `tailscale` — zero-config mesh VPN | curl | 1.0.0 |
| [taskwarrior.org](https://github.com/devcontainer-community/devcontainer-features/tree/main/src/taskwarrior.org) | `task` — command-line task manager | apt | 1.0.0 |
| [turso.tech](https://github.com/devcontainer-community/devcontainer-features/tree/main/src/turso.tech) | `tursodb` — in-process SQL database compatible with SQLite | gh release | 1.0.0 |
| [valgrind.org](https://github.com/devcontainer-community/devcontainer-features/tree/main/src/valgrind.org) | `valgrind` — memory error detector and profiler for C/C++ | apt | 1.0.0 |
| [vcpkg.io](https://github.com/devcontainer-community/devcontainer-features/tree/main/src/vcpkg.io) | `vcpkg` — C/C++ package manager by Microsoft | git | 1.0.0 |
| [webinstall.dev](https://github.com/devcontainer-community/devcontainer-features/tree/main/src/webinstall.dev) | `webi` — install packages without sudo | curl | 1.0.1 |
| [yakitrak/notesmd-cli](https://github.com/devcontainer-community/devcontainer-features/tree/main/src/yakitrak-notesmd-cli) | `notesmd-cli` — manage Obsidian vaults from the terminal | gh release | 1.0.0 |
| [yq](https://github.com/devcontainer-community/devcontainer-features/tree/main/src/yq) | `yq` — command-line YAML/JSON/XML processor | gh release | 1.0.1 |
Expand Down
17 changes: 17 additions & 0 deletions src/apt-build-essential/NOTES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# apt-build-essential

## Project

- [build-essential](https://packages.debian.org/build-essential)

## Description

Installs the `build-essential` Debian/Ubuntu meta-package, which brings in `gcc`, `g++`, `make`, and the standard C/C++ header files needed to compile most software from source.

## Installation Method

Installed via the system APT package manager (`apt-get install build-essential`).

## Other Notes

_No additional notes._
7 changes: 7 additions & 0 deletions src/apt-build-essential/devcontainer-feature.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"name": "apt-build-essential",
"id": "apt-build-essential",
"version": "1.0.0",
"description": "Install \"build-essential\" apt package (gcc, g++, make)",
"documentationURL": "https://github.com/devcontainer-community/devcontainer-features/tree/main/src/apt-build-essential"
}
35 changes: 35 additions & 0 deletions src/apt-build-essential/install.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
#!/bin/bash
set -o errexit
set -o pipefail
set -o noclobber
set -o nounset
set -o allexport
readonly name="build-essential"
apt_get_update() {
if [ "$(find /var/lib/apt/lists/* | wc -l)" = "0" ]; then
echo "Running apt-get update..."
apt-get update -y
fi
}
apt_get_checkinstall() {
if ! dpkg -s "$@" >/dev/null 2>&1; then
apt_get_update
DEBIAN_FRONTEND=noninteractive apt-get -y install --no-install-recommends --no-install-suggests --option 'Debug::pkgProblemResolver=true' --option 'Debug::pkgAcquire::Worker=1' "$@"
fi
}
apt_get_cleanup() {
apt-get clean
rm -rf /var/lib/apt/lists/*
}
echo_banner() {
local text="$1"
echo -e "\e[1m\e[97m\e[41m$text\e[0m"
}
install() {
apt_get_checkinstall build-essential
apt_get_cleanup
}
echo_banner "devcontainer.community"
echo "Installing $name..."
install "$@"
echo "(*) Done!"
17 changes: 17 additions & 0 deletions src/ccache.dev/NOTES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# ccache

## Project

- [ccache](https://ccache.dev)

## Description

A compiler cache that speeds up recompilation of C/C++ code by caching the results of previous compilations. On a cache hit, it can reduce compilation time by an order of magnitude.

## Installation Method

Installed via the system APT package manager (`apt-get install ccache`).

## Other Notes

_No additional notes._
7 changes: 7 additions & 0 deletions src/ccache.dev/devcontainer-feature.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"name": "ccache.dev",
"id": "ccache.dev",
"version": "1.0.0",
"description": "Install \"ccache\" binary",
"documentationURL": "https://github.com/devcontainer-community/devcontainer-features/tree/main/src/ccache.dev"
}
35 changes: 35 additions & 0 deletions src/ccache.dev/install.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
#!/bin/bash
set -o errexit
set -o pipefail
set -o noclobber
set -o nounset
set -o allexport
readonly name="ccache"
apt_get_update() {
if [ "$(find /var/lib/apt/lists/* | wc -l)" = "0" ]; then
echo "Running apt-get update..."
apt-get update -y
fi
}
apt_get_checkinstall() {
if ! dpkg -s "$@" >/dev/null 2>&1; then
apt_get_update
DEBIAN_FRONTEND=noninteractive apt-get -y install --no-install-recommends --no-install-suggests --option 'Debug::pkgProblemResolver=true' --option 'Debug::pkgAcquire::Worker=1' "$@"
fi
}
apt_get_cleanup() {
apt-get clean
rm -rf /var/lib/apt/lists/*
}
echo_banner() {
local text="$1"
echo -e "\e[1m\e[97m\e[41m$text\e[0m"
}
install() {
apt_get_checkinstall ccache
apt_get_cleanup
}
echo_banner "devcontainer.community"
echo "Installing $name..."
install "$@"
echo "(*) Done!"
17 changes: 17 additions & 0 deletions src/clang-format/NOTES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# clang-format

## Project

- [clang-format](https://clang.llvm.org/docs/ClangFormat.html)

## Description

A tool to automatically format C/C++, Java, JavaScript, JSON, Objective-C, Protobuf, and C# code. It uses a style configuration file (`.clang-format`) to enforce consistent code style across a project.

## Installation Method

Installed via the system APT package manager (`apt-get install clang-format`).

## Other Notes

_No additional notes._
7 changes: 7 additions & 0 deletions src/clang-format/devcontainer-feature.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"name": "clang-format",
"id": "clang-format",
"version": "1.0.0",
"description": "Install \"clang-format\" binary",
"documentationURL": "https://github.com/devcontainer-community/devcontainer-features/tree/main/src/clang-format"
}
35 changes: 35 additions & 0 deletions src/clang-format/install.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
#!/bin/bash
set -o errexit
set -o pipefail
set -o noclobber
set -o nounset
set -o allexport
readonly name="clang-format"
apt_get_update() {
if [ "$(find /var/lib/apt/lists/* | wc -l)" = "0" ]; then
echo "Running apt-get update..."
apt-get update -y
fi
}
apt_get_checkinstall() {
if ! dpkg -s "$@" >/dev/null 2>&1; then
apt_get_update
DEBIAN_FRONTEND=noninteractive apt-get -y install --no-install-recommends --no-install-suggests --option 'Debug::pkgProblemResolver=true' --option 'Debug::pkgAcquire::Worker=1' "$@"
fi
}
apt_get_cleanup() {
apt-get clean
rm -rf /var/lib/apt/lists/*
}
echo_banner() {
local text="$1"
echo -e "\e[1m\e[97m\e[41m$text\e[0m"
}
install() {
apt_get_checkinstall clang-format
apt_get_cleanup
}
echo_banner "devcontainer.community"
echo "Installing $name..."
install "$@"
echo "(*) Done!"
17 changes: 17 additions & 0 deletions src/clang-tidy/NOTES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# clang-tidy

## Project

- [clang-tidy](https://clang.llvm.org/extra/clang-tidy/)

## Description

A clang-based C++ linter tool. It provides an extensible framework for diagnosing and fixing typical programming errors, including style violations, interface misuse, and bugs detectable via static analysis.

## Installation Method

Installed via the system APT package manager (`apt-get install clang-tidy`).

## Other Notes

_No additional notes._
7 changes: 7 additions & 0 deletions src/clang-tidy/devcontainer-feature.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"name": "clang-tidy",
"id": "clang-tidy",
"version": "1.0.0",
"description": "Install \"clang-tidy\" binary",
"documentationURL": "https://github.com/devcontainer-community/devcontainer-features/tree/main/src/clang-tidy"
}
35 changes: 35 additions & 0 deletions src/clang-tidy/install.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
#!/bin/bash
set -o errexit
set -o pipefail
set -o noclobber
set -o nounset
set -o allexport
readonly name="clang-tidy"
apt_get_update() {
if [ "$(find /var/lib/apt/lists/* | wc -l)" = "0" ]; then
echo "Running apt-get update..."
apt-get update -y
fi
}
apt_get_checkinstall() {
if ! dpkg -s "$@" >/dev/null 2>&1; then
apt_get_update
DEBIAN_FRONTEND=noninteractive apt-get -y install --no-install-recommends --no-install-suggests --option 'Debug::pkgProblemResolver=true' --option 'Debug::pkgAcquire::Worker=1' "$@"
fi
}
apt_get_cleanup() {
apt-get clean
rm -rf /var/lib/apt/lists/*
}
echo_banner() {
local text="$1"
echo -e "\e[1m\e[97m\e[41m$text\e[0m"
}
install() {
apt_get_checkinstall clang-tidy
apt_get_cleanup
}
echo_banner "devcontainer.community"
echo "Installing $name..."
install "$@"
echo "(*) Done!"
17 changes: 17 additions & 0 deletions src/cmake.org/NOTES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# cmake

## Project

- [CMake](https://cmake.org)

## Description

A cross-platform, open-source build system generator. CMake controls the software compilation process using compiler-independent configuration files, generating native makefiles and workspaces for build environments like Make, Ninja, and IDE projects.

## Installation Method

Installed via the system APT package manager (`apt-get install cmake`).

## Other Notes

_No additional notes._
7 changes: 7 additions & 0 deletions src/cmake.org/devcontainer-feature.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"name": "cmake.org",
"id": "cmake.org",
"version": "1.0.0",
"description": "Install \"cmake\" binary",
"documentationURL": "https://github.com/devcontainer-community/devcontainer-features/tree/main/src/cmake.org"
}
35 changes: 35 additions & 0 deletions src/cmake.org/install.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
#!/bin/bash
set -o errexit
set -o pipefail
set -o noclobber
set -o nounset
set -o allexport
readonly name="cmake"
apt_get_update() {
if [ "$(find /var/lib/apt/lists/* | wc -l)" = "0" ]; then
echo "Running apt-get update..."
apt-get update -y
fi
}
apt_get_checkinstall() {
if ! dpkg -s "$@" >/dev/null 2>&1; then
apt_get_update
DEBIAN_FRONTEND=noninteractive apt-get -y install --no-install-recommends --no-install-suggests --option 'Debug::pkgProblemResolver=true' --option 'Debug::pkgAcquire::Worker=1' "$@"
fi
}
apt_get_cleanup() {
apt-get clean
rm -rf /var/lib/apt/lists/*
}
echo_banner() {
local text="$1"
echo -e "\e[1m\e[97m\e[41m$text\e[0m"
}
install() {
apt_get_checkinstall cmake
apt_get_cleanup
}
echo_banner "devcontainer.community"
echo "Installing $name..."
install "$@"
echo "(*) Done!"
17 changes: 17 additions & 0 deletions src/collection-c-cpp/NOTES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# collection-c-cpp

## Project

- [devcontainer-community/devcontainer-features](https://github.com/devcontainer-community/devcontainer-features)

## Description

A meta-feature that installs a curated set of popular C/C++ development tools in one go. Installing this feature brings in: `cmake`, `ninja`, `gdb`, `valgrind`, `ccache`, `cppcheck`, `clang-format`, `clang-tidy`, `distcc`, `vcpkg`, and `build-essential`.

## Installation Method

Meta-feature: installs via dependencies (`dependsOn`) declared in `devcontainer-feature.json`.

## Other Notes

_No additional notes._
Loading
Loading