feat: Add flame create, the ignite_cli scaffolding as a flutter create style command - #4059
Merged
Merged
Conversation
erickzanardo
approved these changes
Sep 28, 2026
spydon
added this pull request to stack #4058
September 28, 2026 12:35
spydon
force-pushed
the
feat/flame-cli-create
branch
2 times, most recently
from
September 30, 2026 13:05
bbc7bd4 to
db5a00b
Compare
spydon
force-pushed
the
feat/flame-cli-create
branch
2 times, most recently
from
September 30, 2026 13:14
1644605 to
84eaaed
Compare
spydon
force-pushed
the
feat/flame-cli-create
branch
from
September 30, 2026 14:55
84eaaed to
44d1295
Compare
spydon
force-pushed
the
feat/flame-cli-create
branch
from
September 30, 2026 15:09
44d1295 to
1944e66
Compare
…e style command flame create runs flutter create, writes one of the simple, basics or example templates on top, swaps flutter_lints for flame_lint and adds the Flame packages with flutter pub add. It takes the same kind of options as flutter create and asks no questions.
flutter create runs with --no-pub since pub add resolves the packages anyway, --platforms accepts repeated values, the keyword list matches flutter create, the templates are formatter clean, and starting flutter and forwarding its output is shared between run and create.
spydon
force-pushed
the
feat/flame-cli-create
branch
from
September 30, 2026 15:11
1944e66 to
18198bc
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Stacked on #4057. This brings the scaffolding of ignite_cli
into
flame_cliasflame create, structured likeflutter create: no interactive prompts, apositional output directory, sensible defaults and options to change them.
flame create my_game cd my_game flame runHow it works:
flutter create --emptygenerates the platform folders and thepubspec.yaml, with--project-name,--org,--description,--platformsand--overwritepassed through.--template simple|basics|example,basicsby default) arewritten on top, plus an
analysis_options.yamlthat includesflame_lint.flutter pub remove flutter_lintsandflutter pub add flame dev:flame_lint [dev:flame_test] [--packages ...]set up the dependencies. Usingpub addmeans the game always starts on thenewest compatible versions, without a version list baked into the CLI or fetched from pub.dev
the way ignite did.
--flame-version ^1.30.0pins a constraint when needed.flutter create(a lowercase Dart identifier that is not a keyword or a clashing package name),with a suggestion when it is invalid. An existing project is not touched without
--overwrite.The three templates are updated versions of ignite's:
simple: an emptyFlameGamein aGameWidget.basics: a world with a component that starts moving when tapped, and aFlameTesterwidgettest for it.
example: a small complete game over a few files: a world, a camera with a score in theviewport, a player steered with the arrow keys or by tapping, stars to collect through
collision detection, and four
testWithGametests.The command shows up in a new "Creating a game" group at the top of
flame --help.Tests use a fake
flutterprocess and check the exact command sequence, the written files, theoptions, the overwrite guard, the validation and the failure path. I also created a game from each
template with the real
flutter: all three passflutter analyze,basicsandexamplepassflutter test, and the example runs underflame runonflutter-tester.Checklist
docsand added dartdoc comments with///.examplesordocs.Breaking Change?
Related Issues