Skip to content
This repository was archived by the owner on Mar 5, 2025. It is now read-only.

Commit 078cb69

Browse files
mikemadison13grasmash
authored andcommitted
BLT-881: initial cut at developer skills documentation (#902)
* BLT-881: initial cut at developer skills documentation * BLT-811: updating skills document based on feedback.
1 parent 6747121 commit 078cb69

File tree

2 files changed

+134
-0
lines changed

2 files changed

+134
-0
lines changed

readme/onboarding.md

+4
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@ Please ask the project's engagement manager for access to the following SaaS ser
1414

1515
Verify that your system meets [System requirements](../INSTALL.md)
1616

17+
## Technology Knolwedge Requirements / Recommendations
18+
19+
Verify that you have the necessary [skillset(s)](skills.md) to interact with BLT.
20+
1721
### Networking considerations
1822

1923
Building project dependencies requires that your local machine make HTTP and HTTPS requests to various software providers on the internet. Please ensure that your local and network level security settings permit this to happen.

readme/skills.md

+130
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,130 @@
1+
# Minimum Skillset for Using BLT
2+
BLT is a tool that reaches far beyond Drupal development, and because of this developers planning on using it should working knowledge of the following technologies in order to be successful.
3+
4+
See the [System Requirements](../INSTALL.md) for installing / using 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.
5+
6+
## Enterprise Web Development
7+
### Development Environment
8+
BLT can be operated on any "LAMP" stack that will run Drupal. Acquia provides several tools for this, but they are optional.
9+
#### [DrupalVM](https://www.drupalvm.com/)
10+
This project aims to make spinning up a simple local Drupal test/development environment incredibly quick and easy, and to introduce new developers to the wonderful world of Drupal development on local virtual machines (instead of crufty old MAMP/WAMP-based development).
11+
#### [DevDesktop](https://www.acquia.com/products-services/dev-desktop)
12+
Acquia Dev Desktop is a free app that allows you to run and develop Drupal sites locally on your computer and optionally host them using Acquia Cloud. Use Acquia Dev Desktop to evaluate Drupal, add and test other Drupal modules, and develop sites while on a plane or away from an internet connection.
13+
14+
**Recommended Reading:**
15+
* [Drupal VM Quickstart Guide](https://github.com/geerlingguy/drupal-vm#quick-start-guide)
16+
* [BLT Onboarding](onboarding.md/#initial-setup)
17+
18+
### Dependency Management
19+
####[Composer](https://getcomposer.org/):
20+
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/update) them for you.
21+
22+
**Recommended Reading:**
23+
* [Getting Started with Composer](https://getcomposer.org/doc/00-intro.md)
24+
* [BLT Dependency Management](dependency-management.md)
25+
26+
**Common Commands:**
27+
* [composer install](https://getcomposer.org/doc/03-cli.md#install)
28+
* [composer update](https://getcomposer.org/doc/03-cli.md#update)
29+
* [composer require](https://getcomposer.org/doc/03-cli.md#require)
30+
31+
## Version Control
32+
### [Git](https://git-scm.com)
33+
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.
34+
35+
**Recommended Reading:**
36+
* [Getting Started with Git](https://git-scm.com/book/en/v2/Getting-Started-About-Version-Control)
37+
* [BLT Repository Architecture](repo-architecture.md)
38+
* [BLT Git Workflow](dev-workflow.md/#git-workflow)
39+
40+
**Common Commands:**
41+
* [git add](https://git-scm.com/docs/git-add)
42+
* [git add -p](https://git-scm.com/docs/git-add#git-add--p)
43+
* [git checkout <branch>](https://git-scm.com/docs/git-checkout)
44+
* [git commit](https://git-scm.com/docs/git-commit)
45+
* [git commit --amend](https://git-scm.com/docs/git-commit#git-commit---amend)
46+
* [git push](https://git-scm.com/docs/git-push)
47+
* [git push -f](https://git-scm.com/docs/git-push#git-push--f)
48+
* [git rebase](https://git-scm.com/docs/git-rebase)
49+
* [git rebase -i](https://git-scm.com/docs/git-rebase#git-rebase---interactive)
50+
51+
## Deployment Management
52+
### Continuous Integration / Deployment
53+
#### [Travis CI](https://travis-ci.org/)
54+
Travis CI is a hosted, distributed continuous integration service used to build and test software projects hosted at GitHub.
55+
56+
**Recommended Reading:**
57+
* [BLT Travis CI](ci.md/#travis-ci)
58+
59+
# Additional / Optional Skills
60+
## Github
61+
GitHub is a web-based Git repository hosting service. It offers all of the distributed version control and source code management (SCM) functionality of Git as well as adding its own features. It provides access control and several collaboration features such as bug tracking, feature requests, task management, and wikis for every project.
62+
63+
**Recommended Reading:**
64+
* [Getting Started with Github](https://guides.github.com/activities/hello-world/)
65+
* [Git Forks](https://help.github.com/articles/fork-a-repo/)
66+
* [Understanding Github Flow](https://guides.github.com/introduction/flow/)
67+
* [Pull Requests](https://help.github.com/articles/about-pull-requests/)
68+
* [BLT Github Configuration](onboarding.md/#github-configuration)
69+
70+
## [Automated Testing](testing.md)
71+
###[Behat](http://behat.org)
72+
Behat is an open source Behavior-Driven Development framework for PHP. It is a tool to support you in delivering software that matters through continous communication, deliberate discovery and test-automation.
73+
74+
**Recommended Reading:**
75+
* [Getting Started with Behat](http://behat.org/en/latest/quick_start.html)
76+
* [Behat User Guide](http://behat.org/en/latest/user_guide.html)
77+
* [BLT Automated Testing with Behat](testing.md/#behat)
78+
* [Behat Drupal Extension](https://www.drupal.org/project/drupalextension)
79+
* [Behat Tags](http://behat.org/en/latest/user_guide/organizing.html)
80+
81+
###[PHPunit](https://phpunit.de)
82+
PHPUnit is a programmer-oriented testing framework for PHP.
83+
84+
**Recommended Reading:**
85+
* [Getting Started with PHPUnit](https://phpunit.de/getting-started.html)
86+
* [PHPUnit Documentat](https://phpunit.de/documentation.html)
87+
* [BLT Automated Testing with PHPUnit](testing.md/#phpunit)
88+
89+
##Back End Technologies
90+
###[PHP](http://php.net)
91+
PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML.
92+
93+
**Recommended Reading:**
94+
* [Intro to PHP](http://php.net/manual/en/intro-whatis.php)
95+
* [Using xdebug to Debug PHP](https://xdebug.org/docs/)
96+
97+
98+
We also strongly recommend an IDE for PHP Development Such as
99+
* [PHPStorm](https://www.jetbrains.com/phpstorm/)
100+
* [Netbeans](http://netbeans.org/features/php/)
101+
102+
##Front End Technologies
103+
These are technologies used by the [COG theme](https://www.drupal.org/project/cog) and while not directly part of BLT, they are often integrated directly into BLT commands.
104+
###[Gulp](http://gulpjs.com/)
105+
gulp is a toolkit for automating painful or time-consuming tasks in your development workflow, so you can stop messing around and build something.
106+
107+
**Recommended Reading:**
108+
* [Getting Started with Gulp](https://github.com/gulpjs/gulp/blob/master/docs/getting-started.md)
109+
110+
**Common Commands:**
111+
* [gulp watch](https://github.com/gulpjs/gulp/blob/master/docs/API.md#gulpwatchglob--opts-tasks-or-gulpwatchglob--opts-cb)
112+
113+
###[SASS](http://sass-lang.com/)
114+
115+
**Recommended Reading:**
116+
* [SASS Documentation](http://sass-lang.com/documentation/file.SASS_REFERENCE.html)
117+
* [BLT Front End Documentation](http://blt.readthedocs.io/en/8.x/readme/project-tasks/#build-front-end-assets)
118+
119+
####[NPM](https://www.npmjs.com/)
120+
npm is the package manager for JavaScript. Find, share, and reuse packages of code from hundreds of thousands of developers — and assemble them in powerful new ways.
121+
122+
**Recommended Reading:**
123+
* [Getting Started with NPM](https://docs.npmjs.com/)
124+
* [BLT Front End Dependencies](http://blt.readthedocs.io/en/8.x/readme/dependency-management/#front-end-dependencies)
125+
126+
**Common Commands:**
127+
* [npm install](https://docs.npmjs.com/getting-started/installing-npm-packages-locally)
128+
* [npm run install-tools]
129+
* [npm run build]
130+

0 commit comments

Comments
 (0)