Complete, composable devcontainer configurations that extend other files using the extends field.
Base configuration shared by all devcontainers. Includes common features, customizations, mounts, and post-create commands.
Node.js-focused devcontainer with common Node setup.
Python-focused devcontainer with Python 3.12 and common Python tools.
TypeScript/Node.js devcontainer with TypeScript compiler and Node.js 20.
Svelte-focused devcontainer with Svelte customizations and Node.js 20.
Svelte with Tailwind CSS devcontainer, combining Svelte and Tailwind configurations.
Python devcontainer with Poetry dependency management.
Devcontainer configured to run Docker commands from within the container.
VS Code editor customizations including settings, keybindings, and extensions.
Enables automatic code formatting when saving files.
VS Code customizations specific to Markdown editing.
Extensions and settings for Mermaid diagram support in VS Code.
Python-specific VS Code customizations including linting and formatting tools.
Configures Python virtual environment detection and activation in VS Code.
Svelte language support and formatting customizations for VS Code.
Sets default editor tab size to 2 spaces.
Tailwind CSS IntelliSense and linting for VS Code.
TypeScript-specific VS Code customizations including formatting and linting.
Devcontainer Features that install tools and runtimes into the container.
Installs git-subrepo for managing git subrepositories.
Installs Node.js 20.x runtime.
Installs Poetry dependency manager for Python projects.
Installs PostgreSQL database server.
Installs Python 3.12 runtime.
Installs Vim editor.
Base container images for devcontainers.
Ubuntu 24.04 LTS base image.
Volume mounts that bind local directories into the container.
Mounts the local SSH config and keys into the container for Git operations and remote access.
Important
If you're using MacOS, ensure to also include postCreateCommand.ignore-UseKeychain-in-ssh-config.json to avoid issues.
Commands executed automatically after the devcontainer is created, used for setup and configuration.
Installs the codeblockify utility for converting files into Markdown code blocks.
Installs the containersync utility for syncing local devcontainer configs from the remote repository.
To update your .devcontainer/devcontainer.json to the latest version from pmalacho-mit/devcontainers, simply run the following in your devcontainer's terminal (at the root of your project):
containersyncConfigures Git to use merge (instead of rebase) when pulling divergent branches.
Configures Vim as the default Git editor.
Adds IgnoreUnknown UseKeychain to SSH config for compatibility with non-macOS systems.
Used in tandem with mount.ssh.json.