The following are tools we use at 10up. This list is not comprehensive and will grow and change over time. Generally, we encourage engineers to use these tools in favor of others. Rules governing tools to be used and packaged with a client site will be much stricter than those used on internal projects.
At 10up, we use Local WP to build and interact with local environments. Local WP makes it easy to spin up, manage, and interact with local WordPress environments. It’s available for Mac, Windows, and Linux.
Local WP replaces Docker and WP Local Docker as the recommended development environment at 10up.
10up WP Scaffold - Developers can use 10up Project Scaffold to quickly create themes and plugins with our recommended tools and many of our best practices already in place.
10up-toolkit - 10up Toolkit is 10up’s official asset bundling tool based on Webpack 5. It comes with support for most everyday requirements within 10up projects.
Webpack - Webpack is a bundler for JS/CSS. It’s beneficial when 10up Toolkit can’t handle a project’s requirements.
Composer - We use Composer for managing PHP dependencies. When we need to pull in external PHP libraries, Composer provides an easy way to install and update those.
The WordPress Packagist repository mirrors all public WordPress plugins and themes, allowing an engineering team to easily manage them using Composer.
Git - At 10up we use Git for version control. We encourage people to use the command line for interacting with Git. GUIs are permitted but will not be supported internally.
WP-CLI - A command line interface for WordPress. This extremely powerful tool allows us to do imports, exports, run custom scripts, and more via the command line. Often, this is the only way we can affect a large database (WordPress.com VIP or WP Engine). This tool comes bundled with Local WP.
We use a variety of tools to test our sites for accessibility issues. WebAim has some great resources on how to evaluate sites with a screen reader.
We’re also a fan of a few browser tools that lend us a hand when it comes to testing areas like color contrast, heading hierarchy, and ARIA application.
We use visual regression testing to ensure code changes don’t have unforeseen repercussions. This provides a helpful visual aid to check against CSS changes, plugin updates, and third-party script updates.