magic_cli 0.0.1-alpha.4
magic_cli: ^0.0.1-alpha.4 copied to clipboard
Command-line tools for Magic Framework. Scaffolding, code generation, and project management.
Changelog #
All notable changes to this project will be documented in this file.
This project follows Semantic Versioning 2.0.0.
[Unreleased] #
0.0.1-alpha.4 - 2026-04-06 #
✨ New Features #
- 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
🔧 Improvements #
- Documentation: Update homepage URL to Magic website package page, add "Website" link to README, update CLI Commands link in welcome view stub
0.0.1-alpha.3 - 2026-03-24 #
✨ New Features #
- 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
🐛 Bug Fixes #
- 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
🔧 Improvements #
- 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/
0.0.1-alpha.2 - 2026-03-15 #
🔧 Improvements #
- 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
0.0.1-alpha.1 - 2026-03-14 #
🎉 First Alpha Release #
Magic CLI v0.0.1-alpha.1 is the first public preview — an Artisan-inspired CLI for scaffolding Magic Framework projects.
✨ Core Features #
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
🔧 Quality & Infrastructure #
- 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
📦 Dependencies #
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
Previous Versions #
See full commit history for detailed changes.