Skip to content

Dev Env

Awesome Dev Env Awesome

A curated list of awesome tools, resources and workflow tips making an awesome development environment.

Inspired by awesome-go, which was in turn inspired by awesome-python.

Contributing

Guidelines tweaked and adapted from awesome-go - thanks!

But in short:

  • List is alphabetically sorted
  • If you think an item shouldn't be here open an issue

Many thanks to everyone on the contributor list :)

Note: for an OS specific tool, please do your best to mark with OSX/WIN/*NIX/LIN

Admins

Tools to manage databases, permissions, etc.

  • hss - Never type the annoying ssh commands again.
  • MongoHub - Native OSx client for mongo
  • Robomongo - a cross platform Admin for MongoDB

Benchmarking

Tools to benchmark your code or services

Data

Tools for handling online and offline data

  • s3cmd - the S3 CLI tool for Amazon

Diagnostics

Tools for checking diagnosing your system while you work

Desktop

Tools for improving and hacking around with your vanilla desktop

  • Alfred - OSX productivity app /OSX/
  • hydra - script your desktop /OSX/
  • Keycastr - show your keys while presenting/casting /OSX/

Documentation

Tools to document your project

  • Log4brains - Docs-as-code knowledge base to manage Architecture Decision Records (ADR) for your project and publish them automatically as a static website.

Dotfiles

  • dotfiles.github.io - Collected dotfile resources. Has sections with dotfile bootstraps and lists of frameworks for various shells and editors.
  • Zach Holman's - oh-my-zsh, osx, Zsh, vi, Ruby, Git, and more
  • Mathias Bynens's - .files, including ~/.osx — sensible hacker defaults for OS X
  • Thoughtbot's - A set of vim, zsh, git, and tmux configuration files
  • Paul Miller's - Colourful & robust OS X configuration files and utilities

Editors

Only awesome tools and addons for your favorite editor

Atom

  • atom-beautify - Beautify HTML (including Handlebars), CSS (including Sass and Less), JavaScript, and much more in Atom.
  • file-icons - Adds file specific icons to atom for improved visual grepping.
  • highlight-selected - Double click on a word to highlight it throughout the open file.
  • minimap - A graphical map (preview) of the full source code.
  • minimap-git-diff - A minimap binding for the Atom git-diff package.
  • minimap-highlight-selected - A minimap binding for the highlight-selected package.
  • atom-project-manager - Get easy access to all your projects and manage them with project specific settings and options.
  • atom-tree-view-git-status - Show the Git repository status in the Atom tree-view.
  • atom-pigments - An Atom package to display colors in project and files.

Vim

  • Completor - async autocomplete with support for omni and semantic completion.
  • Powerline - improved status bar for your buffers.
  • snipmate - textual snippets compatiable with Textmate snippets.
  • The Ultimate Vim Distribution - spf13-vim is a distribution of vim plugins and resources for Vim, GVim and MacVim.

Sublime Text 3

Intellij

  • keymap - a hybrid Vim/ReSharper/Intellij keymap

Visual Studio Code

Extensions

Git

Tools and addons for making an awesome Git experience

  • awesome-github - Faraz Fallahi maintains a curated list of GitHub & Git resources.
  • gh - Fast GitHub command line client (hub port to Go)
  • git-extra-commands - collected git helper scripts
  • git-extras - GIT utilities -- repo summary, repl, changelog population, author commit percentages and more
  • git-it-on - ZSH plugin, adds a gitit command that opens the current directory on github in your current branch
  • git-secret - A bash-tool to store your private data inside a git repository.
  • git-semver - A git plugin to make Semantic Versioning 2.0.0 and Change Log management easier.
  • git-sweep - safely removes branches that have been merged into the master
  • git-up - a better 'git pull'
  • hub - git CLI wrapper which makes working with GitHub easier
  • scm_breeze Streamline your git workflow
  • tig - an ncurses-based text-mode interface for git

Misc

Useful tools that cannot find a home in other categories

  • Fenix Web Server - A multi-host local static web server with push-button sharing (desktop app).
  • ML Workspace - All-in-one web-based development environment for machine learning and data science.
  • Mockoon - an API / HTTP REST mocking desktop application
  • HTTP Toolkit - an HTTP inspection & debugging desktop application

Notifications

Tools that notify developers about changes in their work environment

  • CatLight - status notifier for developers. Checks the status of continuous delivery builds and shows desktop notifications.

Orchestration

Tools for orchestrating awesome development environments

  • azk - a lightweight open source engine to orchestrate development environments
  • Nanobox - A micro-PaaS (μPaaS) for creating consistent, isolated, development environments deployable anywhere https://nanobox.io.

Presentation

Tools for presenting your work

  • bespoke.js - DIY Presentation Micro-Framework
  • hacker-slides - Reveal.js based presentation tool
  • impress.js - presentation framework based on the power of CSS3 transforms and transitions
  • mithril-slides - A Keynote-inspired presentation app written with Mithril
  • remark - markdown based presentation on your browser
  • reveal.js - markdown based presentation on your browser
  • deck.js - markdown based presentation on your browser
  • vimdeck - present inside your Vim
  • WebSlides - Making HTML presentations easy

Shell

Tools for having an awesome shell environment

  • awesome-zsh-plugins - List of zsh plugins usable with zgen and other oh-my-zsh compatible zsh frameworks
  • fish-shell - The user-friendly command line shell
  • hss - Never type the annoying ssh commands again.
  • oh-my-fish - Framework for managing your fish shell configuration inspired by oh-my-zsh.
  • oh-my-zsh - A community driven framework for managing zsh configuration.
  • zgen - Faster framework for managing your zsh configuration, backward compatible with oh-my-zsh plugins
  • zsh - A shell designed for interactive use, although it is also a powerful scripting language.
  • shellcheck - Lint for shell. Will find deprecated and/or dangerous usage in shell scripts
  • zsh quickstart kit - Quick intro for getting set up with zsh and zgen

Text

Tools for working with text files - search, replace, processing

  • ack - the Perl based better-than-grep tool.
  • ag - A C based code-searching tool similar to ack, but faster
  • peco - interactive filtering, like interactive Grep
  • ripgrep - Faster than grep, written in Rust

Terminal

Tools and addons for terminal and terminal work

  • autojump - remembers your folders and jump to them based on partial recall (e.g. j proj will jump to /home/Users/yourself/projects.
  • fasd Command-line productivity booster, offers quick access to files and directories.
  • freshenv - Provision, share, manage local and cloud developer environments.
  • homebrew - Makes it easy to install open source packages on an OS X system with a single command.
  • hss - Never type the annoying ssh commands again.
  • httpie A command line HTTP client, a user-friendly cURL replacement.
  • iTerm2 - a great terminal replacement /OSX/
  • jq - a lightweight and flexible command-line JSON processor
  • oh-my-zsh - the incredible ZSH addon.
  • Pipe Viewer - a tool for monitoring the progress of data through a pipeline
  • tmux the awesome terminal multiplexer.
  • zoxide - A better way to navigate your filesystem. Written in Rust, cross-shell, and much faster than other autojumpers.

Workflow

Tools and addons which improve your daily workflow with code

  • fswatch - a watch tool which will emit FS events and you can run commands on demand with. Note - fswatch-run too.
  • guard - FS watch tool with a huge ecosystem of plugins
  • just - A task runner for conveniently saving and running project-specific commands. Similar to make, but much nicer
  • LiveReload - FS watch and preprocessor as a desktop app for /OSX/ and /WIN/ with complementary browser extensions
  • guard-livereload - Guard plugin compatible with LiveReload's browser extensions
  • simplehttp Fastest and simplest way to start serving a local directory over http.
  • watchman - Facebook's better watch - note it works as a service.
  • Zappr - GitHub integration built to enhance your project workflow via enable/disable pull request approval checks.
  • ergo - The management of multiple local services running over different ports made easy.
  • Prodmodel - Build tool for data science pipelines.
  • Gebug - A tool that makes debugging of Dockerized Go applications super easy by enabling Debugger and Hot-Reload features, seamlessly.