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
- install: Install Godot Frog Framework.
- uninstall: Uninstall Godot Frog Framework.
- new: Create a new Godot project.
Project commands
- setup: Sets up the development environment.
- build: Build project with Godot.
- export: Export standalone executable with Godot.
- 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 from godot-starter-project in your project.
- localization: Tools for localization.
- create-
icon: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.
setup
Sets up 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.
gff setup
You can use the setup command to force the installation of a specific Godot version using the --force-godot-version 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 command without arguments.
gff setup --force-godot-version 4.7
The setup command can configure which text editor you want to use and configure the Godot editor settings accordingly. For now the supported editors are NeoVimand VSCode. This configuratin will be stored in the file .ggf/.userconfig to ensure it stay applied when calling the setup session without arguments.
gff setup --text-editor NeoVim
build
Build your project using Godot. It can be used on CI to ensure that your project compilation can succeed.
gff build
export
Create a standalone executable of your project.
gff export --app Game --platform Linux --configuration Debug --drm NoDrm
Export template installation
To export your game, you need to install Godot Export Template for each platform you want to export to.
In Godot, go to the Export Template Manager (Editor -> Manage Export Templates...), select the platform you want to export to and click on `Install Selected Templates`.
publish
Send an exported build of your project to a destination Store.
gff publish --destination Steam --app Game --platform Linux
This command is rarely used manually, prefer using the release-version command to publish your application.
release-version
Gather the change-log from git since the last release, increment the version number, export all builds for all supported platforms and for all supported drm, then publish them on all stores and create a new release on Forgejo.
gff release-version --app Game
cherry-pick
Interactive process to cherry-pick new commits from godot-starter-project in your project. This command must be used to update the Godot Frog Framework in your project.
gff cherry-pick
localization new
Create a new translation file for a specific language. The target language must be entered using a language code (ex: 'en'). See the exhaustive list of supported language code in Godot.
gff translation new fr
localization translate
Translate locale en.po in any language automatically using DeepL. The target language must be entered using a language code (ex: 'en'). See the exhaustive list of supported language code in Godot. You must define a Deepl API Token necessary for the translation using the option --deepl-api-key or by using the environment variable DEEPL_API_KEY.
gff translation update --deepl-api-key DEEPL_API_TOKEN fr
This should be used only for prototyping. Automatic translation quality can be very bad for game since context is often small.
localization update
Update gettext localization files (template and translations) with text extracted from code and game databases.
gff translation update
create-icon
Create a valid ico file from a png image input.
gff create-icon --input project/icon.png --output project/icon.ico