A Foundry VTT implementation for the 100DOS TTRPG system, targeting Foundry Virtual Tabletop v14.
Docker runs a local Foundry instance with the 100dos system mounted directly from dist/.
- Copy
.env.exampleto.envand fill in your Foundry credentials (see comments in the file for options). - Build the system files into
dist/:npm run build
- Start Foundry:
docker compose up
- Open
http://localhost:30000in your browser.
The 100dos system will appear in Foundry's system list. Foundry data (worlds, settings, downloaded assets) is stored in ./foundrydata/, which is gitignored.
Build tools run inside the dev container — no Node.js needed on the host. Edit files with your editor as normal; the container handles building.
# Install dependencies (first time, or after package.json changes)
docker compose run --rm dev npm install
# One-off build
docker compose run --rm dev npm run build
# Watch and rebuild on changes
docker compose run --rm dev npm run watch
# Open a shell inside the dev environment
docker compose run --rm dev shThe dev service is excluded from docker compose up by default (it uses a Docker Compose profile). Use docker compose run --rm dev to invoke it directly.
| Path | Committed | Notes |
|---|---|---|
docker-compose.yml |
Yes | Service definition |
.env.example |
Yes | Credential template |
.env |
No | Your actual credentials |
foundrydata/ |
No | Foundry data and license |
dist/ |
No | Build output |
| Command | Description |
|---|---|
npm run build |
Compile and bundle source files to dist/ |
npm run watch |
Watch for changes and rebuild automatically |
npm run typecheck |
Run TypeScript type checking |
npm run lint |
Lint source files |
npm run format |
Format source files with Prettier |
npm run format:check |
Check formatting without writing |
static/system.json is the Foundry system manifest. The url, manifest, and download fields are intentionally empty — they will be filled in once the project has a public release.
src/ Source code
module/ TypeScript system logic
templates/ Handlebars templates
styles/ CSS/SCSS stylesheets
lang/ Localization files
assets/ Static assets
static/ Foundry manifest and static files
dist/ Generated build output (not committed)
docs/ Documentation
test/ Tests