The official Foundry VTT CLI
npm install -g @foundryvtt/foundryvtt-cli
fvtt --help
fvtt --version
fvtt configure
Determines if your configuration is correct and if not, prompts you to fix it.
fvtt configure view
View your current configuration.
fvtt configure set "key" "value"
Set a configuration value.
fvtt configure get "key"
Get a configuration value.
fvtt configure path
Outputs the path to your configuration file.
fvtt launch
Launches Foundry VTT. Available options are:
--demo
- Launches Foundry VTT in demo mode.--port 30000
- Launches Foundry VTT on a specific port.--world my-world
- Launches Foundry VTT straight into a specific world.--noupnp
- Disable UPnP port forwarding.--noupdate
- Disable automatic update checking.--adminKey "ABC123"
- The admin key to secure Foundry VTT's Setup screen with.fvtt package
Output the current working package, if any.
fvtt package workon "1001-fish" --type "Module"
Swaps to working on a specific package, eliminating the need to pass --type
and --id
to other package commands.
fvtt package clear
Clears the current working package.
fvtt package unpack "compendiumName"
Reads a database from the current Package /packs/ directory and writes each document as a serialized Object to its own file.
There are a number of options available to customize the output, check out fvtt package unpack --help
for more information.
fvtt package pack "compendiumName"
Reads a directory of serialized Objects and writes them to a database in the current Package /packs/ directory. There are a number of options available to customize the operation, check out fvtt package pack --help
for more information.
fvtt configure
fvtt package workon "1001-fish"
fvtt package unpack "fish"
. . . // Make some updates to the files
fvtt package pack "fish"
git clone
cd foundryvtt-cli
npm install
npm run build
npm link
Certain internal functionality of the CLI is exposed as an API that can be imported into other projects.
import { compilePack, extractPack } from "@foundryvtt/foundryvtt-cli";
// Extract a NeDB compendium pack.
await extractpack("mymodule/packs/actors.db", "mymodule/packs/src/actors", { nedb: true });
// Compile a LevelDB compendium pack.
await compilePack("mymodule/packs/src/actors", "mymodule/packs/actors");
compilePack(src: string, dest: string, options?: object): Promise<void>
Compile source files into a compendium pack.
extractPack(src: string, dest: string, options?: object): Promise<void>
Extract the contents of a compendium pack into individual source files for each primary Document.
yaml.dump
when serializing Documents.Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.