Skip to content
Paul Maskelyne edited this page Mar 14, 2023 · 15 revisions

Setting up Your Development Environment

The following software/versions are required for building and testing the system at the current time.

  • NodeJS v18.14

If you use the Visual Studio Code editor, a number of helpful extensions are recommended (but not required):

  • EditorConfig for VS Code
  • ESLint
  • i18n Ally
  • Prettier - Code formatter
  • Todo Tree

Installation

Check Out the Code

Check out the repository with either HTTPS or SSH:

HTTPS Checkout

git clone https://github.com/Muttley/foundryvtt-shadowdark.git

SSH Checkout

git clone [email protected]:Muttley/foundryvtt-shadowdark.git

Build the System

Change directory into the newly checked out repository and run the following steps:

Install NodeJS Modules

npm install

Build the System

npm run build

You should see something like the following output:

❯ npm run build

> build
> gulp build

[11:25:41] Using gulpfile ~/projects/foundryvtt-shadowdark/gulpfile.mjs
[11:25:41] Starting 'build'...
[11:25:41] Starting 'compileSass'...
[11:25:41] Starting 'compileLangs'...
[11:25:41] Starting 'lintJavascript'...
[11:25:41] Starting 'compileJavascript'...
[11:25:41] Finished 'compileSass' after 677 ms
[11:25:42] Finished 'compileLangs' after 722 ms
[11:25:42] Finished 'compileJavascript' after 1.66 s
[11:25:43] Finished 'lintJavascript' after 1.8 s
[11:25:43] Finished 'build' after 1.81 s

Link the System to Foundry

Change directory to the systems directory your Foundry VTT Data folder and create a symbolic link to the respitory system directory:

Linux or OS X
cd <foundry_data_folder>/systems
ln -s <repository_system_directory> shadowdark

Coding Style

Please use the existing code as a guide, as well as conforming to Editor Config and ESLint settings included within the repository.

There are a few golden rules which should be adhered to:

  • All files should be in UTF-8 format with LF end-of-lines
  • Tabs are used for indentation
  • Trailing whitespace should be trimmed before committing code

Other than that, use your best judgement and try to make your code as easy to read as possible, with sensible variable names, etc.

If you are a new developer, the Code Complete book by Steve Mcconnell is an excellent starting place.

Clone this wiki locally