Farhome is a tabletop role-playing game created by Andrew Solheim. This repository contains the source code for the Farhome game system, which is a Foundry VTT module.
In the FoundryVTT Configuration and Setup screen, select the Game Systems tab, click Install System, enter https://github.com/IncinX/foundryvtt-farhome/releases/latest/download/system.json
in the Manifest URL field, and click Install.
Create a game world by picking the Game Worlds tab and clicking Create World, then select the Farhome from the Game System drop down menu. You can now start your game!
In order to build this system, recent versions of node
and npm
are
required. Most likely, using yarn
also works, but only npm
is officially
supported. We recommend using the latest lts version of node
. If you use nvm
to manage your node
versions, you can simply run
nvm install
in the project's root directory.
You also need to install the project's dependencies. To do so, run
npm install
You can build the project by running
npm run build
Alternatively, you can run
npm run build:watch
to watch for changes and automatically build as necessary.
In order to provide a fluent development experience, it is recommended to link
the built system to your local Foundry VTT installation's data folder. In
order to do so, first add a file called foundryconfig.json
to the project root
with the following content:
{
"dataPath": "/absolute/path/to/your/FoundryVTT"
}
(if you are using Windows, make sure to use \
as a path separator instead of
/
)
Then run
npm run link-project
On Windows, creating symlinks requires administrator privileges, so unfortunately you need to run the above command in an administrator terminal for it to work.
Modifications to the repository require it to pass a lint check which uses prettier.
npm lint
It is recommended to also use Prettier code formatter for Visual Studio Code to automatically format your code.
You can run the tests with the following command:
npm test
In the GitHub project, create a new release. The release name should be the version number of the release. The release tag should be the same as the release name. The release description should be the changelog for the release.
This can be done by selecting Draft New Release from the GitHub releases page. Choose a tag, and enter the release tag name. Choose Generate release notes to automatially generate a set of release notes and click Publish release.
GitHub Actions will automatically package the release and upload it to the new release page after a few minutes. Any errors will be displayed in the GitHub Actions tab.
This project is being developed under the terms of the LIMITED LICENSE AGREEMENT FOR MODULE DEVELOPMENT for Foundry Virtual Tabletop.
The source code for this project is MIT licensed. See LICENSE for detailed source code licensing terms.
This project was started using the League Basic JS Module Template.