Tools and Resources


  • PHPStorm - Feature rich PHP IDE with support for common PHP frameworks like Symfony. Strong plugin library for extensibility.
  • WebStorm - Feature rich Web/Node.js (JavaScript) IDE with support for common JavaScript framework. Strong plugin library for extensibility. (NOTE: PHPStorm has most core WebStorm JavaScript features.)


  • vim - Highly extensible text editor.

Useful vim Plugins

Terminal Tools

  • Homebrew - Package manager for OSX.
  • Boris - Feature-rich PHP REPL.
  • HTTPie - Better than cURL. With colors.


  • DataGrip - Feature rich database “IDE” with drivers for most common relational data stores. Supports SSH tunneling for connecting to databases on remote machines.


  • Dash - Documentation aggregator with high-powered search, bookmarks, code snippets, and custom documentation “scopes” (groups of documentation sets that can be used to limit searches).

Source Control (Git)

  • List of Git GUI clients
  • tig - Open source, text-mode (terminal) interface for Git. For when your fingers are too tired to leave the keyboard.
  • Gitk - Hideous but adequate Git GUI client.

Diff Tools

Mockups / Diagrams

  • Balsamiq Mockups - Light-weight mockup designer with a rich widget library.
  • Star UML - Feature rich UML designer. Useful for technical diagrams and documentation.

Proxies / HTTP debugging

  • Charles - Feature rich HTTP proxy. Useful for examining and manipulating HTTP requests between your local computer and a remote server.
  • Paw - Feature rich HTTP client for manually building HTTP/REST requests. Useful for testing APIs.
  • httpie - Colorful cURL alternative.

Screencasts / Screen recording

  • Licecap - Records screen activity and generates GIFs. Useful for recording small bugs/features and attaching them as GIF images to PRs or Trello cards. WARNING: GIFs can get quite large, use judiciously!
  • Jing - Records short video clips of screen activity. Useful for recording small bugs/features. Videos can be uploaded to with a private URL to share.
  • SnagIt - Like Jing, but with no time limit and a basic video editor. Can export video clips as GIFs. Can upload video clips to multiple sources automatically.

Global npm Packages

Version control

  • git-open - Type git open to open the repo website (GitHub, GitLab, Bitbucket) in your browser.
  • git-recent - List recent git branches, formatted so fancy

JavaScript development

  • eslint - ESLint is a tool for identifying and reporting on patterns found in ECMAScript/JavaScript code.
  • jake - the JavaScript build tool for Node.js
  • uglify-js - JavaScript parser, mangler/compressor and beautifier toolkit
  • webpack-cli - CLI for webpack & friends


  • hget - Render websites in plain text from your terminal
  • viewport-list-cli - Return a list of devices and their viewports
  • diff-so-fancy - Good-lookin’ diffs with diff-highlight and more
  • diff2html-cli - Diff to Html generates pretty HTML diffs from unified and git diff output in your terminal
  • pageres-cli - Capture screenshots of websites in various resolutions.
  • is-up-cli - Check whether a website is up or down using the API
  • http-server - A simple, zero-configuration command-line http server.