A Journey to Find an Ultimate Development Environment

This page summarizes the projects mentioned and recommended in the original post on dev.to

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • nvm

    Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions

  • The purpose of a version manager is to help you navigate or install any tools for development easily. Version Manager can be one tool for each dependency (e.g. NVM, g) or One tool for all dependencies (e.g. asdf, mise).

  • docker

    Docker - the open-source application container engine (by microsoft)

  • By using containerization, the application will always have the same configuration that is used in the development environment and production environment. There is no more "It works on my machine". Some examples of containerization technologies are Docker and Podman.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • Ansible

    Ansible is a radically simple IT automation platform that makes your applications and systems easier to deploy and maintain. Automate everything from code deployment to network configuration to cloud management, in a language that approaches plain English, using SSH, with no agents to install on remote systems. https://docs.ansible.com.

  • In this article's context, it is simply a tool that provides a declarative way to automate your machine/OS to configure the development machine as you want (install package, modify the configuration, etc). Examples of these tools are Ansible, Puppet, etc.

  • g

    Simple go version manager, gluten-free

  • The purpose of a version manager is to help you navigate or install any tools for development easily. Version Manager can be one tool for each dependency (e.g. NVM, g) or One tool for all dependencies (e.g. asdf, mise).

  • podman

    Podman: A tool for managing OCI containers and pods.

  • By using containerization, the application will always have the same configuration that is used in the development environment and production environment. There is no more "It works on my machine". Some examples of containerization technologies are Docker and Podman.

  • asdf-python

    Python plugin for the asdf version manager

  • [env] # supports arbitrary env vars so mise can be used like direnv/dotenv NODE_ENV = 'production' [tools] # specify single or multiple versions terraform = '1.0.0' erlang = ['23.3', '24.0'] # supports everything you can do with .tool-versions currently node = ['16', 'prefix:20', 'ref:master', 'path:~/.nodes/14'] # send arbitrary options to the plugin, passed as: # MISE_TOOL_OPTS\_\_VENV=.venv python = {version='3.10', virtualenv='.venv'} [plugins] # specify a custom repo url # note this will only be used if the plugin does not already exist python = 'https://github.com/asdf-community/asdf-python' [alias.node] # project-local aliases my_custom_node = '20'

  • devenv-ansible

    local linuxmint development environment using ansible

  • I've even tried to automate an OS with Ansible. You can see it here.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • dotfiles

    Learn config nixos using flake (by labasubagia)

  • I also have a configuration in Nix, you can check it here.

  • mise

    dev tools, env vars, task runner

  • The purpose of a version manager is to help you navigate or install any tools for development easily. Version Manager can be one tool for each dependency (e.g. NVM, g) or One tool for all dependencies (e.g. asdf, mise).

  • realworld-backend

    Backend implementation of Realworld Application (Medium Clone)

  • There is an example of my project that uses Devcontainers here

  • devpod

    Codespaces but open-source, client-only and unopinionated: Works with any IDE and lets you use any cloud, kubernetes or just localhost docker.

  • When you push your code to Github, you can develop the app using codespace and it will automatically set up an online development environment for you. Other tools will make your life easier when developing using a dev container e.g. DevPod.

  • spec

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

  • 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.

  • asdf

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

  • The purpose of a version manager is to help you navigate or install any tools for development easily. Version Manager can be one tool for each dependency (e.g. NVM, g) or One tool for all dependencies (e.g. asdf, mise).

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts