Commands
GFF commands are a set of tools that can either be used manually with a terminal or with a CI system. These tools helps you create new projects, managing your working environment, your project exports and the localization management.
Here is the list of commands available (use gff --help to get it from a command line):
Global commands
build:install: Install Godot Frog Framework.
Project commands
publish: Publish standalone executable on a store. release-version: Export and publish all version on all stores. cherry-pick Interactive process to cherry-pick missing commits... localization Tools for localization. create-icon Create a valid ico file from a png image input.
You can list the available arguments of a command by using the --help argument. You can also sets up the verbosity level using -v, -vv (more v for more verbosity) on all commands:
gff -v command_name --help
Global commands
These commands are available anywhere.
install
Initialize the Godot Frog Framework. This command must be used before using other commands. It install GFF packages dependencies, install and register the godot-starter-project-template and setup a godot-starter-project environment.
gff install
uninstall
Revert the install command. It unregister and delete the godot-starter-project-template.
gff uninstall
new
Create a new Godot project. ProjectName is the name of the project (you should use CamelCase to be compliant with C# project guidelines).
gff new ProjectName
Project commands
These commands are available from the root folder of a Godot project created with gff.
Setupsetup
SetupSets session must be used to setupup or repair the development environment. It ensure that git configuration is correct, that the correct version of dotnet is installed, download and install needed sdk, activate or download and install the correct Godot version and sets up Godot editor settings.
nox -sgff setup
You can use the setup sessioncommand to force the installation and setup of a specific Godot version using the --force-godot-version argument.option. This is useful for Godot migration. The new Godot version number is stored in the file global.json and will be used automatically when calling the setup sessioncommand without arguments.
nox -sgff setup -- --force-godot-version 4.7
YouThe setup command can tells the setup sessionconfigure which text editor you willwant to use so it canand configure the Godot editor settings accordingly. For now the supported valueseditors are codeNeoVim for Visual Studio Code and . nvimVSCodeforThis NeoVim. The settingsconfiguratin will be stored in the file .ggf/.userconfig to ensure it stay applied when calling the setup session without arguments.
nox -sgff setup -- --text-editor nvimNeoVim
Buildbuild
Build session build your project using Godot. It can be used on CI to ensure that your project compilation can succeed.
nox -sgff build
Exportexport
Export session createCreate a standalone executable of your project. If no argument are specified, the script will ask you about any information it needs.
nox -sgff exportWhen used on CI, be sure to specify all the needed information to avoid the session to be interactive.
nox -s export -- --app Game --platform Linux --configuration Debug --drm NoDrm
BuildExport exporttemplate configurationinstallation
To export your game, you need to install Godot buildExport Template for each platform you want to export template.to.
In Godot, go to the Export menuTemplate Manager (ProjectEditor -> Export...):
Publishpublish
Publish session sendSend an exported build of your project to a destination Store. If no argument are specified, the script will ask you about any information it needs.
nox -sgff publishWhen used on CI, be sure to specify all the needed information to avoid the session to be interactive.
nox -s publish -- --destination Steam --app Game --platform Linux
This command is rarely used manually, prefer using the release-version command to publish your application.
Release Versionrelease-version
Release Version session gatherGather the changelogchange-log from git since the last release, increment the version number, export all builds for eachall platformsupported platforms and for eachall supported drm, then publish them on all stores and create a new release on Forgejo. If no argument are specified, the script will ask you about any information it needs.
nox -sgff release_version When used on CI, be sure to specify all the needed information to avoid the session to be interactive.
nox -s release_version -- --app Game