CreateCommand class
Creates a new Flutter application using the Morpheme Flutter Starter Kit.
The CreateCommand clones the Morpheme Flutter Starter Kit repository and initializes a new Flutter project with the specified name and configuration. It supports automatic refactoring to rename the project and setting custom application IDs.
Usage
Basic project creation:
morpheme create my_app
Create with specific tag version:
morpheme create my_app --tag v1.0.0
Create with automatic refactoring:
morpheme create my_app --refactor
Create with custom application ID:
morpheme create my_app --application-id com.example.myapp
Options
--tag, -t: Clone specific tag version (default: master branch)--refactor: Automatically rename 'morpheme' to app name--include-library: Include library dependencies during refactor--application-id: Set custom application ID (default: design.morpheme)
Project Structure
Creates a modular Flutter project with:
- Core packages for shared functionality
- Feature-based architecture
- Pre-configured build system
- Integrated testing setup
Dependencies
- Requires Git for repository cloning
- Requires internet connection for template download
- Uses morpheme init and config commands
Exceptions
Throws ProcessException if Git is not available or clone fails.
Throws FileSystemException if target directory already exists.
Throws ArgumentError if app name is empty or invalid.
Constructors
- CreateCommand()
- Creates a new instance of CreateCommand.
Properties
-
aliases
→ List<
String> -
Alternate names for this command.
no setterinherited
- argParser → ArgParser
-
The argument parser for this command.
no setterinherited
- argResults → ArgResults?
-
The parsed argument results for this command.
no setterinherited
- category → String
-
The command's category.
no setteroverride
- description → String
-
A description of this command, included in usage.
no setteroverride
- globalResults → ArgResults?
-
The parsed global argument results.
no setterinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
-
Whether or not this command should be hidden from help listings.
no setterinherited
- invocation → String
-
A single-line template for how to invoke this command (e.g.
"pub getpackage").no setterinherited - name → String
-
The name of this command.
no setteroverride
- parent → Command?
-
The command's parent command, if this is a subcommand.
no setterinherited
- runner → CommandRunner?
-
The command runner for this command.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
-
subcommands
→ Map<
String, Command> -
An unmodifiable view of all sublevel commands of this command.
no setterinherited
-
suggestionAliases
→ List<
String> -
Alternate non-functional names for this command.
no setterinherited
- summary → String
-
A short description of this command, included in parent's
CommandRunner.usage.
no setterinherited
- takesArguments → bool
-
Whether or not this command takes positional arguments in addition to
options.
no setterinherited
- usage → String
-
Generates a string displaying usage information for this command.
no setterinherited
-
An optional footer for usage.
no setterinherited
Methods
-
addSubcommand(
Command command) → void -
Adds Command as a subcommand of this.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
printUsage(
) → void -
Prints the usage information for this command.
inherited
-
run(
) → void -
Runs this command.
override
-
toString(
) → String -
A string representation of this object.
inherited
-
usageException(
String message) → Never -
Throws a UsageException with
message.inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited