Skip to content

Releases: phpnomad/cli

v2.0.1 — fix map-key collision detection

01 May 22:00

Choose a tag to compare

Bug fix: InitializerMutator now resolves names on the cloned AST so map-style registrations into an existing initializer correctly detect key collisions when the existing keys use use-imported short forms (e.g. Ready::class via use Foo\Bar\Ready).

Before this fix, when a recipe added a map registration whose key already existed in short form, the new entry was appended with a syntactically-distinct but semantically-identical key. PHP collapsed the duplicate keys at runtime, silently dropping one of the entries (e.g. losing an existing listener when scaffolding a new one for the same event).

After: existing single values are auto-converted to arrays and the new value is appended. Both stay live.

Compatibility: No public-API changes. Behavior change is in-place — existing call sites that hit the bug now produce correct output.

Initial Release

14 Apr 11:03

Choose a tag to compare

Add recipe stacking and database-datastore composite recipe

Recipes can now reference other recipes via a "recipes" field,
enabling composition. Child recipes execute sequentially with vars
flowing from parent to child. Added rootNamespace auto-computed var
from PSR-4 config and Short var transform for class short names.

The database-datastore composite recipe demonstrates stacking: one
command creates 7 files (model, adapter, table, datastore interface,
handler interface, implementation, database handler) with 2 DI
registrations.

Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>