Nobody Likes Writing
Boilerplate Code
Generate production-ready Symfony code from simple YAML schemas. Entities, forms, APIs, and more β in seconds, not hours.
Symfony Development is Repetitive
You spend hours writing the same boilerplate code for every project. Entities, forms, controllers, validations... Sound familiar?
Time Consuming
Hours spent on repetitive tasks
Repetitive Code
Same patterns, different projects
Error Prone
Manual coding leads to mistakes
Developer Frustration
Focus on business logic, not setup
Everything You Need to Ship Faster
Embrex handles the repetitive work so you can focus on what makes your application unique.
Lightning Fast
Generate complete Symfony applications in seconds, not hours. One command, everything ready.
12+ Generators Included
Entities, repositories, forms, controllers, API resources, validation, services, security, and more.
Flexible Architecture
Support for standard MVC, hexagonal architecture, and DDD. Your project, your rules.
Safe Updates
Update your schema and regenerate code without losing customizations. Git-aware merging.
Symfony Best Practices
Generated code follows Symfony standards and community best practices out of the box.
Production Ready
Security, validation, error handling - all included. Deploy with confidence.
And Much More...
From Schema to Application in 3 Steps
No complex configuration. No steep learning curve. Just describe what you want and let Embrex do the work.
Define Your Schema
Write a simple YAML file describing your entities and their relationships.
entities:
Product:
properties:
sku: string(50)
name: string(255)
price: decimal(10,2)
stock: integer
isActive: boolean
relations:
category: manyToOne(Category)
Category:
properties:
name: string(100)
slug: string(100)
Run Embrex Build
Execute a single command to generate all your code instantly.
$ php bin/console embrex:build
β Generating entities...
β Creating repositories...
β Building forms...
β Setting up controllers...
Start Building
Your application is ready! Focus on business logic, not boilerplate.
Real-World Example: E-commerce Platform
Your Schema (schema.yaml)
entities:
Product:
properties:
sku: string(50)
name: string(255)
price: decimal(10,2)
stock: integer
isActive: boolean
relations:
category: manyToOne(Category)
Category:
properties:
name: string(100)
slug: string(100)
relations:
products: oneToMany(Product)
Order:
properties:
orderNumber: string(50)
totalAmount: decimal(10,2)
status: string(20)
relations:
items: oneToMany(OrderItem)
forms:
ProductType:
entity: Product
fields:
sku: text
name: text
price: money
category: entity
controllers:
ProductController:
actions:
index: /products
show: /products/{id}
api_resources:
ProductResource:
entity: Product
operations: [Get, GetCollection, Post, Put, Delete]
Generated Files
Hours of Work vs Seconds with Embrex
Compare the traditional approach with Embrex. See how much time and effort you can save.
entities:
Product:
properties:
sku: string(50)
name: string(255)
price: decimal(10,2)
stock: integer
isActive: boolean
relations:
category: manyToOne(Category)
forms:
ProductType:
entity: Product
fields:
sku: text
name: text
price: money
category: entity
controllers:
ProductController:
actions:
index: /products
show: /products/{id}
validation:
Product:
properties:
name:
- NotBlank
- Length: { min: 3, max: 255 }
price:
- NotNull
- PositiveOrZero
php bin/console embrex:build
That's 44.5 minutes saved on just one entity!
Imagine the time savings across your entire project with dozens of entities, forms, and controllers.
Build Your Way: Any Architecture
Whether you prefer traditional MVC or modern hexagonal architecture, Embrex adapts to your project's needs.
Standard Architecture
Traditional Symfony structure
Perfect for rapid development and smaller projects. Follow Symfony's conventions with entities in src/Entity/
and repositories in src/Repository/
.
Hexagonal / DDD
Domain-driven design with contexts
Ideal for complex applications with multiple bounded contexts. Organize code by business domains with clear separation of concerns.
Standard Configuration
namespaces:
entity: 'App\Entity'
repository: 'App\Repository'
form: 'App\Form'
paths:
entity: 'src/Entity'
repository: 'src/Repository'
form: 'src/Form'
entities:
Product:
properties:
sku: 'string(50)'
name: 'string(255)'
price: 'decimal(10,2)'
stock: 'integer'
isActive: 'boolean'
relations:
category: 'manyToOne(Category)'
Category:
properties:
name: 'string(100)'
slug: 'string(100)'
relations:
products: 'oneToMany(Product)'
Hexagonal Configuration
# Use the hexagonal convention
convention: hexagonal
contexts:
Catalog:
entities:
Product:
properties:
sku: string(50)
name: string(255)
price: decimal(10,2)
relations:
category: manyToOne(Category)
Category:
properties:
name: string(100)
slug: string(100)
relations:
products: oneToMany(Product)
User:
entities:
User:
properties:
email: string(180)
username: string(100)
Start Simple, Scale When Needed
Begin with standard architecture and migrate to hexagonal as your project grows. Embrex supports gradual migration without rewriting everything.
Learn more - Join the waiting listWorks With Your Favorite Tools
Embrex integrates seamlessly with the Symfony ecosystem. Use the tools you love, enhanced by automatic code generation.
API Platform
Generate REST and GraphQL APIs automatically
Sylius Stack
Admin UI and resource management
Doctrine
Complete ORM integration with extensions
Symfony UX
Modern UI components ready to use
Messenger
Async message handling and queues
Webhooks
Real-time event notifications
One Schema, Multiple Integrations
Define Once...
entities:
Product:
properties:
sku: string(50)
name: string(255)
price: decimal(10,2)
description: text
isActive: boolean
extensions:
timestampable: ~
api_resources:
ProductResource:
entity: Product
normalization_context:
groups: [product:read]
denormalization_context:
groups: [product:write]
filters:
- search: [name, description]
- order: [name, price]
sylius_resources:
Product:
entity: Product
driver: doctrine/orm
webhooks:
stripe_payment:
type: custom
parser:
request_matcher:
path: /webhook/stripe
methods: [POST]
headers:
stripe-signature: ~
events:
payment_intent.succeeded:
properties:
id: string
amount: integer
status: string
...Get Everything!
- β’ REST endpoints on /api/products
- β’ GraphQL queries and mutations
- β’ OpenAPI documentation
- β’ Resource management
- β’ Grid with filters & sorting
- β’ State machine workflows
- β’ Event listener configuration
- β’ HTTP client configuration
- β’ Retry & error handling
Need More?
Create your own custom integrations with our extensible architecture. Additional integrations for Sylius, Sonata Admin, and more are available in our Enterprise offering.
Embrex for Teams
Professional services and advanced tooling for agencies, consultancies, startup studios, freelancers, and internal teams. Consulting available now, advanced features coming soon.
Consulting Services - Accelerate Today
Architecture Review
Audit your existing Symfony architecture and get recommendations for Embrex adoption
Custom Training
Tailored training sessions for your team on Embrex Bundle and Symfony best practices
Migration Support
Hands-on support to migrate your existing projects to use Embrex Bundle
Consulting Services
Available for hourly consulting or project-based engagements
Embrex Builder
Visual interface for creating Embrex schemas. Open source version available, with advanced enterprise features planned.
- Interactive entity designer
- Multiple builders (Forms, API, Controllers...)
- Export/Import YAML schemas
- Real-time YAML generation
- Team collaboration (roadmap)
- Custom templates (roadmap)
Embrex Builder Interface
Ready to Transform Your Development?
Contact us to discuss your specific needs and discover how Embrex can accelerate your projects.
Join Happy Developers
We're currently in private beta. Join the waiting list to be among the first to transform your Symfony development workflow.
Ready for Launch
Join the Waiting List
Thank you for signing up!
You're now on the waiting list. We'll contact you as soon as Embrex is available.
Ready to 10x Your
Symfony Development?
Transform your Symfony development workflow with intelligent code generation.
Coming soon via Composer:
composer require --dev embrex/embrex-bundle