All notable changes to this project will be documented in this file.
This project follows Semantic Versioning 2.0.0.
- Route Page Titles: Add
.title('Welcome')to generated welcome route for browser tab titles
- Routing Config: Generate
config/routing.dartwith URL strategy setting duringmagic install— enables clean web URLs viaurl_strategy: 'path'
- Broadcasting Support: Add
--without-broadcastingflag toinstallcommand withconfig/broadcasting.dartstub and Reverb connection config - Conditional Env Vars: Broadcasting env vars (
BROADCAST_CONNECTION,REVERB_*) only generated when broadcasting is enabled
- Documentation: Update homepage URL to Magic website package page, add "Website" link to README, update CLI Commands link in welcome view stub
- Install Command Rewrite: Full project scaffold with welcome page, configs, providers, routes, and
main.dartbootstrap - Install Stubs: External
.stubtemplates for all install-generated files (configs, kernel, providers, welcome view, env) - New Generators:
make:enum,make:event,make:listener,make:requestcommands registered and functional - StubLoader: Multi-strategy stub resolution via
package_config.json,Platform.scriptwalk-up, and env var override - Deep Merge Utilities:
JsonEditorwith additive deep merge mode for config file editing - StubLoader Export:
StubLoadernow available in public barrel export for plugin consumers - Welcome View: Animated welcome page with hero logo (bounce) and heart (pulse) generated on install
- Auth Config: Wrapped auth configuration under
'auth'key and fixed provider boot order - Install Cross-Platform:
magic installnow produces a working app on all platforms - Stub Placeholders: Fixed double-async injection, missing replacements, and placeholder casing issues
- main.dart Bootstrap: Correctly makes
main()async when injectingawait Magic.init() - Command Help: Fixed
--helpflag being blocked by global help check on namespaced commands - Generated Code Quality: All generated code now passes
dart analyzeon clean projects - StubLoader Paths: Removed hardcoded developer paths and
FLUTTER_TESTbranch that broke CI on Ubuntu
- Stub Extraction: Migrated all static Dart string constants to external
.stubtemplate files - Code Quality: Multi-line collections, catch comments, param docblocks, type safety fixes
- Integration Tests: Kernel dispatch and key:generate flow tests
- make:model Flags: Composite generation with
-mcfspand--allflags (migration + controller + factory + seeder + policy) - Barrel Export: Updated
magic_cli.dartwith complete public API surface - CI/CD: Bumped
actions/checkoutto v6 andcodecov/codecov-actionto v5 - Project Infra: Added CLAUDE.md, GitHub issue templates, dependabot config, release workflow, and
.claude/rules/
- CI/CD: GitHub Actions integration with automated testing, linting, and formatting
- Dependencies: Fixed
flutter_testcompatibility constraints - Linter: Updated rules for CI environment compliance
- README: Added CI status badge
- Tests: All 118 tests passing with automated test suite
Magic CLI v0.0.1-alpha.1 is the first public preview — an Artisan-inspired CLI for scaffolding Magic Framework projects.
Generators:
make:model— Eloquent-style models with typed getters/settersmake:controller— Controllers with optional resource actions (--resource)make:view— Views with stateful option (--stateful)make:migration— Timestamped database migrationsmake:seeder— Database seedersmake:factory— Model factoriesmake:policy— Authorization policiesmake:lang— Translation JSON filesmake:provider— Service providersmake:middleware— Middleware classes
Utilities:
install— Initialize Magic in a Flutter project with configurable feature flagskey:generate— Generate application encryption key
- Kernel Architecture: Command registry with namespace grouping and auto-help
- GeneratorCommand Base: Reusable stub loading and placeholder replacement
- StringHelper: Case conversion (pascal, snake, camel), pluralization, nested path parsing
- ConsoleStyle: ANSI-colored output, tables, interactive prompts
- FileHelper: File I/O, YAML operations, project root detection
- ConfigEditor: pubspec.yaml and Dart file programmatic editing
args: ^2.7.0— CLI argument parsingpath: ^1.9.0— Cross-platform path manipulationyaml: ^3.1.3— YAML readingyaml_edit: ^2.2.3— YAML writing
See full commit history for detailed changes.