+++ 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.