“I’m not a great programmer; I’m just a good programmer with great habits.”
Learn the skills required to work a collaborative software project using only Markdown. Limiting your projects to Markdown lets you focus on the big picture without getting distracted by more challenging code.
Practice the foundational workflows of software development by learning to write Markdown locally on your own computer using Visual Studio Code (VSCode), the Command Line Interface (CLI), and NPM scripts to automate your code’s quality (formatting, linting and spell checking).
cd
ls
cat
touch
mkdir
npm install
to install a project’s dependenciespackage.json
file to find which scripts are available for the
projectnpm run <script>
to execute an npm scriptnpm run format
to format all of the documents in your
projectnpm run format:check
to make sure all files are
well-formattednpm run lint:ls
to check all folder and file names in your projectnpm run lint:ls
npm run lint:md
to check all Markdown files in your folder for
linting mistakesnpm run lint:md
npm run spell-check
to check the spelling in all the files of your
project.cspell.json
to add words that should be allowed in your projectnpm run lint:ls
to check that all files and folders follow the
project’s naming conventions.Practice using Git to save and organize your development process. You will learn how you can use Git to go back to previous versions of your project, and to work on different changes in parallel.
git init
git add <path>
git status
git commit -m <message>
git log
git branch <branch-name>
git checkout <branch-name>
git checkout -b <branch-name>
git merge <branch-name>
git log
and
git checkout <commit-hash>
git stash
and git pop
.gitignore
: You can use a .gitignore
file to describe which files you
don’t want included in your git history.main
when they are finished.Learn how you can connect your local Git repositories with a GitHub repository to add more structure to your development process and to share your projects.
main
main
until Continuous
Integration (CI) checks have passedpush
and pull
changes between remote & local branchesmain
.main
branch.main
branch and prevents conflicts from
happening in GitHub. For each contribution to the project you can …
main
on your local machinemain
to local main
main
to your new branch
main
main
Learn how to collaborate with a group on a single project hosted in a GitHub repository. Practice using GitHub’s project management features to organize your group’s tasks and to double-check your project’s code quality.
main
.Explore the wider world of Open Source software by learning how communities of independent developers write and maintain the code we all rely on.
You will need NPM installed on your computer to study this material
git clone https://github.com/HackYourFutureBelgium/bf-workflows.git
cd bf-workflows
npm install
It’s highly recommended that you use either Linux or Mac. If you have a Windows computer you can either dual-boot your computer or install a virtual machine.