Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 17 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,20 @@
[![Pub](https://img.shields.io/pub/v/ignite_cli.svg?style=popout)](https://pub.dartlang.org/packages/ignite_cli)
[![Test](https://github.com/flame-engine/ignite-cli/workflows/Test/badge.svg?branch=main&event=push)](https://github.com/flame-engine/ignite-cli/actions)
[![Test](https://github.com/flame-engine/ignite-cli/workflows/Test/badge.svg)](https://github.com/flame-engine/ignite-cli/actions)
[![Discord](https://img.shields.io/discord/509714518008528896.svg)](https://discord.gg/pxrBmy4)

# ignite-cli

Simple CLI interface for Ignite; scaffold and setup your Flame projects with ease.

![ignite-cli](./media/ignite-example.cast.gif)


## Usage

Install it via pub (or build from src if you prefer the latest version):

```bash
pub global activate ignite_cli
flutter pub global activate ignite_cli
```

After you have added the bin folder to your path (the previous command will tell you what to add),
Expand All @@ -22,30 +24,35 @@ you can create a new project with Ignite, just run:
ignite create
```

And follow the instructions.
And follow the instructions (this is called interactive mode - you might need a compatible shell for the interactive pickers to work).

Alternatively, you can set `--interactive=false` and manually specify all required options (error messages will be your friend):

```bash
ignite create --interactive=false --name=my_flame_game --org=org.flame-engine.example --create-folder=true --template=example
```


## Instructions for contributors

Run
Run:

```bash
cd test
./run.sh
./scripts/test.sh
```

To run all tests. Always make sure the build is green.

You will need to install the bash testing framework [bats](https://bats-core.readthedocs.io/en/stable/installation.html).

In order to run the application locally, run
In order to run the application locally, use:

```bash
dart bin/ignite_cli.dart
```


## Managing Templates
### Managing Templates

This project uses [package:mason](https://pub.dev/packages/mason) to manage and generate templates (bricks).

Expand All @@ -54,12 +61,10 @@ All supported bricks can be found in the [bricks](./bricks) directory.
Whenever a new brick is added or an existing brick is modified, make sure to regenerate the corresponding bundles via:

```bash
mason bundle bricks/<BRICK-NAME> -t dart -o lib/templates
./scripts/build.sh
```

This will generate a new bundle for `<BRICK-NAME>` under `lib/templates`.


## Credits

This project was created with [Dart Stagehand](https://github.com/dart-lang/stagehand).
This project was created with [Dart Stagehand](https://github.com/dart-lang/stagehand) and uses [Mason](https://pub.dev/packages/mason) for templating.
Loading