BLT is a tool that reaches far beyond Drupal development, and developers planning on using it should have a working knowledge of the following technologies to be successful.
For information about installing and using BLT, see Installing BLT. It is strongly urged that you use a Mac for local development, although certain versions of Linux and Windows 10 can also be used. Other operating systems should not be used for BLT development.
BLT can be operated on any LAMP stack that will run Drupal.
Composer: Composer is a tool for dependency management in PHP. It allows you to declare the libraries your project depends on and it will manage (install and update) them for you.
Git: Git is a version control system (VCS) for tracking changes in computer files and coordinating work on those files among multiple people. It is primarily used for software development, but it can be used to keep track of changes in any files.
Travis CI: Travis CI is a hosted, distributed continuous integration service used to build and test software projects hosted at GitHub.
GitHub: GitHub is a web-based Git repository hosting service. It offers all the distributed version control and source code management (SCM) functionality of Git and adds its own features. It provides access control and several collaboration features such as bug tracking, feature requests, task management, and wikis for every project.
Behat: Behat is an open source behavior-driven development framework for PHP. It is a tool to support you in delivering software that matters through continuous communication, deliberate discovery and test-automation.
PHPunit: PHPUnit is a programmer-oriented testing framework for PHP.
PHP: PHP is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML.
We also strongly recommend an IDE for PHP Development, such as one of the following:
These technologies are often integrated directly into BLT commands.
Gulp: Gulp is a toolkit for automating painful or time-consuming tasks in your development workflow, so you can stop messing around and build something.
npm run install-tools
npm run build