spec VS features

Compare spec vs features and see what are their differences.

spec

Development Containers: Use a container as a full-featured development environment. (by devcontainers)

features

A collection of Dev Container Features managed by Dev Container spec maintainers. See https://github.com/devcontainers/feature-starter to publish your own (by devcontainers)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
spec features
48 7
2,666 721
8.7% 7.8%
7.3 9.0
10 days ago 6 days ago
Shell
Creative Commons Attribution 4.0 MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

spec

Posts with mentions or reviews of spec. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-23.
  • Show HN: Lapdev, a new open-source remote dev environment management software
    7 projects | news.ycombinator.com | 23 Mar 2024
    Hi, Lapdev dev here. Let me try to answer your question.

    It's installed on a remote server so it provides remote environments. If you use VSCode remote, then you can "open" it through VSCode remote ssh.

    The environment that Lapdev provides essentially is a container (other format is on the roadmap) with things pre-installed as defined in Devcontainer(https://containers.dev/) format.

  • Show HN: Flox 1.0 – Open-source dev env as code with Nix
    17 projects | news.ycombinator.com | 13 Mar 2024
    Happy to take this one, as I am one of the cofounder of Daytona.

    Daytona solves all the automation and provisioning of the dev environment, actually wrote an article here laying out exactly what we do: https://www.daytona.io/dotfiles/diy-guide-to-transform-any-m...

    Daytona currently supports only the dev container (https://containers.dev/) "dev env infrastructure as code" standard, but are looking to support others such as devfile, nix and flox.

    Hope this helps

  • A Journey to Find an Ultimate Development Environment
    13 projects | dev.to | 2 Feb 2024
    The full usage of the container means that you'll do the development inside the container. All the tools for development need to be installed inside the container. One of the technologies that leverage this approach is Devcontainers.
  • Use Docker to create a local development Python environment
    2 projects | /r/docker | 8 Dec 2023
  • Launching dev containers from code - is impossible?
    4 projects | dev.to | 15 Nov 2023
    ... is how I introduced the concept of dev containers in my last article.
  • Dev Containers: Open, Develop, Repeat...
    9 projects | dev.to | 30 Oct 2023
    How it works? Dev Containers is a specification based on Docker. This specification describes a metadata file (devcontainer.json), which defines how the project (Docker container, IDE settings, plugins, etc) is set up.
  • Try MongoDB and Laravel in 1-click via GitHub Codespaces
    2 projects | dev.to | 24 Oct 2023
    Codespaces is built to run Dev Containers, an open standard for Development Containers. The Dev Container will reference a Docker build file, which describes the software and services our app is running on. It also defines things related to our development environment, including IDE plugins, network ports, and more.
  • Dev Container for React Native with Expo
    5 projects | dev.to | 22 Sep 2023
    // For format details, see https://aka.ms/devcontainer.json. For config options, see the // README at: https://github.com/devcontainers/templates/tree/main/src/typescript-node { "name": "Node.js & TypeScript", // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile "image": "mcr.microsoft.com/devcontainers/typescript-node:1-20-bullseye", // Features to add to the dev container. More info: https://containers.dev/features. // "features": {}, // Use 'forwardPorts' to make a list of ports inside the container available locally. "forwardPorts": [8081], "initializeCommand": "bash .devcontainer/initializeCommand.sh", // Use 'postCreateCommand' to run commands after the container is created. "postCreateCommand": "bash .devcontainer/postCreateCommand.sh", // Configure tool-specific properties. // "customizations": {}, // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. // "remoteUser": "root", // "containerEnv": { // }, // "remoteEnv": { // "DEV_USER_HOST": "${localEnv:USERNAME}" // }, "runArgs": ["-p=8081:8081", "--env-file", ".devcontainer/.env"] }
  • Microsoft Docker Development Container Templates
    8 projects | news.ycombinator.com | 13 Aug 2023
    I do not know why someone shared this repo, there is nothing special about it other than containing some start templates. I would start here for understanding Dev Containers: https://containers.dev

    If you have a scenario where using a container as your development environment makes sense, this is some tooling that can improve the developer experience vs just using plain Docker and Docker Compose.

    8 projects | news.ycombinator.com | 13 Aug 2023
    I see it as being similar to the relationship between Vagrant and Virtual Machines.

    You can use plain Dockerfiles if you prefer, dev containers provides some tooling to smooth out the rough edges of using Docker to host your dev environment including mounting your source code into the container etc. Details are at: https://containers.dev

features

Posts with mentions or reviews of features. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-10-30.
  • Dev Containers: Open, Develop, Repeat...
    9 projects | dev.to | 30 Oct 2023
    A list of available Dev Container Features, can be found here. However, you can also develop your own features and publish them, like I did.
    9 projects | dev.to | 30 Oct 2023
    Dev Containers not only allow you to define which extensions should be installed and which configuration settings shall be set, but they also have something they call "Dev Container Features".
  • Take your development environment anywhere and on any machine with Dev Containers.
    3 projects | dev.to | 31 Dec 2022
    there are already built docker images for common development environment. You can either use one of them, or build one from Docker file. Using a pre-built dev container doesn't mean you are only limited to that image, because you can still add other tools, which they are called features to that image. For a list of the pre-built templates check here, and for the other features that you can add check this. You don't need a Docker file, unless you want to build your dev environment step by step.
  • VSCode & GitHub Codespaces for my Python playground
    2 projects | dev.to | 10 Dec 2022
    // For format details, see https://aka.ms/devcontainer.json. For config options, see the // README at: https://github.com/devcontainers/templates/tree/main/src/python { "name": "Python 3", "image": "mcr.microsoft.com/devcontainers/python:0-3.11", "features": { "ghcr.io/devcontainers/features/python:1": {} } // Features to add to the dev container. More info: https://containers.dev/features. // "features": {}, // Use 'forwardPorts' to make a list of ports inside the container available locally. // "forwardPorts": [], // Use 'postCreateCommand' to run commands after the container is created. // "postCreateCommand": "pip3 install --user -r requirements.txt", // Configure tool-specific properties. // "customizations": {}, // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. // "remoteUser": "root" }
  • Containerizing devops tools with docker compose
    2 projects | /r/devops | 30 Nov 2022
    This is actually very easy. I've implemented a number of tools like this publicly but the standard doesn't limit you to public stuff. I can't emphasize enough the amount of speed we gained when we implemented this standard. https://containers.dev/features
  • DevContainers for Azure and .NET
    12 projects | dev.to | 13 Oct 2022
    features: While you can add everything in Dockerfile for the build, there are already pre-configured features you can optionally add. You can find the complete list of the features at here. Some examples of those features are common utilities and tools like Azure CLI, GitHub CLI and Terraform, and languages like node.js, Java, .NET, Python, etc.

What are some alternatives?

When comparing spec and features you can also consider the following projects:

templates - Repository for Dev Container Templates that are managed by Dev Container spec maintainers. See https://github.com/devcontainers/template-starter to create your own!

conda-devcontainer-demo - Mini Conda + Mamba dev container setup to make working with environments easy.

devcontainers-dotnet.

asdf - Extendable version manager with support for Ruby, Node.js, Elixir, Erlang & more

features - A collection of development container 'features' for machine learning and data science

zsh-autosuggestions - Fish-like autosuggestions for zsh

devbox - Instant, easy, and predictable development environments

images - Repository for pre-built dev container images published under mcr.microsoft.com/devcontainers

microservice-rust-mysql - A template project for building a database-driven microservice in Rust and run it in the WasmEdge sandbox.

omnisharp-vscode - Official C# support for Visual Studio Code [Moved to: https://github.com/dotnet/vscode-csharp]

devcontainers-dotnet - This is the template repository that contains the devcontainer settings for .NET app development

nvim-dev-container - Neovim dev container support - Mirror of https://codeberg.org/esensar/nvim-dev-container