Plugin screenshot thumbnail 1/3
Plugin screenshot thumbnail 2/3
Plugin screenshot thumbnail 3/3

Craft's defaults are great, but there's nothing built in for generating realistic demo content the way Laravel developers are used to with factories and seeders. Sprout brings that exact workflow to Craft.

Write a factory describing one element:

class BlogPostFactory extends Factory
{
    public function elementClass(): string { return Entry::class; }
    public function definition(): array
    {
        return [
            'sectionId' => $this->sectionId('blog'),
            'title' => $this->faker->sentence(6),
            'body' => $this->faker->paragraphs(3, true),
        ];
    }
}

Then from the CLI:

php craft sprout/seed/make-factory BlogPost
php craft sprout/seed/make-seeder BlogPost
php craft sprout/seed/run --count=20
php craft sprout/seed/clean

Every element seed/run creates gets tracked. seed/clean deletes exactly that, and nothing else, after asking for confirmation. A batch that fails partway through automatically rolls itself back, so a broken factory never leaves orphaned content behind.

Built with FakerPHP under the hood, with resolver helpers (sectionId(), entryTypeId(), randomAssetId(), randomEntryId()) for the lookups every factory needs.

Requires Craft CMS 5.0+.

Standard

Plus $9/year after one year.

Installation Instructions

To install this plugin, copy the command above to your terminal.

Reviews

This plugin doesn't have any reviews.

Active Installs
0
Version
v1.0.0
License
Craft
Compatibility
Craft 5
Last release
September 2, 2026