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.
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
- Benchmarking
- Data
- Diagnostics
- Desktop
- Documentation
- Dotfiles
- Editors
- Git
- Misc
- Notifications
- Orchestration
- Presentation
- Shell
- Text
- Terminal
- Workflow
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
Tools to benchmark your code or services
- apachebench (ab)
- boom
- httperf
- phantomas - website perf evaluation tool
- siege
- Vegeta
- wrk
- redis-faina Instagram's Redis counter/timing stats based on the MONITOR command
Tools for handling online and offline data
- s3cmd - the S3 CLI tool for Amazon
Tools for checking diagnosing your system while you work
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/
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.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
Only awesome tools and addons for your favorite editor
- 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.
- 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.
- AdvancedNewFile - File creation plugin.
- Emmet
- Git Gutter - display changed/added lines in the margin of the editor window.
- jsFormat - Javascript formatting.
- LiveReload - LiveReload plugin.
- MarkdownEditing - Markdown syntax understanding and good color schemes.
- Package Control - The Sublime Text package manager.
- RubyTest - Plugin for running Ruby tests.
- Side Bar Enhancments - Enhancements to Sublime Text sidebar. Files and folders.
- Sublime Git - Git Integration for Sublime.
- Sublime Linter - Interactive code linting.
- TrailingSpaces - Highlight trailing spaces and delete them in a flash.
- keymap - a hybrid Vim/ReSharper/Intellij keymap
- Dev Git Repo - Github code repository for VS Code
- Monaco Editor Git Repo - Github code repository for underlying browser-based editor
- VS Code Extension Marketplace - Official website for extensions
- Python extension - Official Python extension
- Sync settings - Excellent extension for settings and extension sync of your VS code setup
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
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
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.
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.
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
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
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
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.
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.