+++
title = "Local Project Setup"
date = 2024-08-23T09:00:00Z
draft = false
summary="Learning Foundry VTT Module Development from the very start. In this session: setting up the local project."
categories = ['Technical', 'FoundryVTT', 'Foundry VTT for Module Developers']
prev = ['/post/fvtt-mod-dev-github-repository-setup/']
+++

Having cloned our Github repository to our local development machine we now set up some basic tooling that will help later as we develop our module.

{{< youtube 8Qm0XJSWqYU >}}

In this session we set up:

* [`npm`](https://www.npmjs.com/), initialising our project.
* [`husky`](https://typicode.github.io/husky/) to marshal our `git` hook scripts.
* [`commitizen`](https://github.com/commitizen/cz-cli) to enforce standard `git` log messages.

These tools provide some 'guardrails' on our project that, although they may seem onerous now, will pay dividends later by facilitating:

* The production of consistent a changlog for our release notes (poviding users and other developers with timely and accurate details of what changes occur to our module).
* Management of our release versioning.

A few minutes of setup now will save hours over the life of our module.
