Skip to main content

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):

  • build: Build project with Godot.
  • cherry-pick      Interactive process to cherry-pick missing commits...
  • create-icon      Create a valid ico file from a png image input.
  • export           Export standalone executable with Godot.
  • install: Install Godot Frog Framework.
  • localization     Tools for localization.
  • publish          Publish standalone executable on a store.
  • release-version  Export and publish all version on all stores.
  • setup            Sets up the development environment.
  • uninstall: Uninstall Godot Frog Framework.

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

Setup

Setup session must be used to setup or repair the development environment. It ensure that git configuration is correct, activate or download and install the correct Godot version and sets up Godot editor settings.

nox -s setup

You can use the setup session to force the installation and setup of a specific Godot version using the --force-godot-version argument. This is useful for Godot migration. The new Godot version is stored in global.json and will be used automatically when calling the setup session without arguments.

nox -s setup -- --force-godot-version 4.7

You can tells the setup session which text editor you will use so it can configure the Godot editor settings accordingly. For now the supported values are code for Visual Studio Code and nvim for NeoVim. The settings will be stored in the file .userconfig to ensure it stay applied when calling the setup session without arguments.

nox -s setup -- --text-editor nvim

Build

Build session build your project using Godot. It can be used on CI to ensure that your project compilation can succeed.

nox -s build

Export

Export session create a standalone executable of your project. If no argument are specified, the script will ask you about any information it needs.

nox -s export

When 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

Build export configuration

To export your game, you need to install Godot build export template.
In Godot, go to the Export menu (Project -> Export...):

  • Click on Manage Export Templates 
  • Click on Download and Install 
  • Wait for install to finish

Publish

Publish session send 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 -s publish

When 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

Release Version

Release Version session gather the changelog from git since the last release, increment the version number, export all builds for each platform and for each 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 -s 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