phpnomad/core-recipes

Core scaffolding recipes for PHPNomad — datastores, controllers, listeners, events, tables, and more. Consumed by phpnomad/cli via composer-based kit discovery.

Maintainers

Package info

github.com/phpnomad/core-recipes

Language:Go Template

pkg:composer/phpnomad/core-recipes

Statistics

Installs: 5

Dependents: 2

Suggesters: 0

Stars: 0

Open Issues: 0

1.0.0 2026-05-01 21:44 UTC

This package is auto-updated.

Last update: 2026-05-01 21:45:38 UTC


README

Core scaffolding recipes for PHPNomad applications. Consumed by phpnomad/cli via composer-based kit discovery.

Installation

composer require phpnomad/core-recipes --dev

The CLI auto-discovers any installed package whose composer.json declares extra.phpnomad.recipes. After installation, phpnomad recipes:list will show the recipes provided by this kit.

Usage

Each recipe is referenced as phpnomad/<recipe-name>:

phpnomad make --from=phpnomad/datastore '{"name":"Order","initializer":"App\\AppInit"}'
phpnomad make --from=phpnomad/listener '{"name":"SendWelcomeEmail","event":"App\\Events\\UserCreated","initializer":"App\\AppInit"}'

Recipes provided

Recipe Purpose
phpnomad/command CLI command class
phpnomad/controller REST controller
phpnomad/database-datastore Datastore backed by a database table (composes datastore + table + database-handler)
phpnomad/database-handler Database handler implementation for a datastore
phpnomad/datastore Datastore with interface and handler interface
phpnomad/event Event class
phpnomad/facade Facade proxying an interface
phpnomad/graphql-type GraphQL type definition
phpnomad/initializer Initializer class
phpnomad/listener Event listener
phpnomad/model Data model class
phpnomad/model-adapter Adapter converting between two model representations
phpnomad/mutation Mutation handler
phpnomad/table Database table schema
phpnomad/task Task class
phpnomad/task-handler Task handler

Authoring your own kit

Any composer package can ship recipes by declaring them in composer.json:

{
  "extra": {
    "phpnomad": {
      "recipes": "path/to/recipes/",
      "templates": "path/to/templates/"
    }
  }
}

Recipes inside the kit are referenced as <your-vendor>/<recipe-name>.

License

MIT