NewWe open-sourced 50+ Laravel packages
Custom AI apps, agents and automation — Roundly ConsultingRoundly
All packages

Require the package, then publish and run its migration. The service provider is auto-discovered — no manual registration:

composer require roundly-consulting/comments-for-laravel

php artisan vendor:publish --tag="comments-migrations"
php artisan migrate

Migrations are publish-only — nothing is loaded from the package, so without the publish step php artisan migrate will not create the tables. The publish copies one migration (create_comments_table) that creates the comments, comment_mentions and comment_locks tables; republishing with --force overwrites that same file instead of adding a second copy.

If the models you comment on use UUID or ULID keys, set COMMENTS_KEY_TYPE before you migrate — see Configuration.

Sibling package tables

Likes, Reports, Approvals and Media Library for Laravel are pulled in as hard dependencies and ship their own migrations. Publish and run them too, so comment likes, reports and attachments have somewhere to live:

php artisan vendor:publish --tag="likes-migrations"
php artisan vendor:publish --tag="reports-migrations"
php artisan vendor:publish --tag="approvals-migrations"
php artisan vendor:publish --tag="media-migrations"
php artisan migrate

Config & translations

The config file is optional — every key has a default. Publish it only to override, and publish the language files if you want to translate the package’s messages:

php artisan vendor:publish --tag="comments-config"
php artisan vendor:publish --tag="comments-translations"

The package exposes three publish tags: comments-migrations, comments-config and comments-translations.

Check the active setup

The package reports its active configuration to Laravel’s about command — model, approval, length and depth limits, blocklist size (a count, never the terms), authorization, auto-moderation and inline media:

php artisan about --only=comments

Show your open-source love

This package is free and MIT-licensed. If it saves you time, a one-off donation or a Patreon membership keeps it maintained, tested and documented.

More ways to support, including crypto

By donating, you agree to our donation terms.

Want this built into your product?

We integrate our packages into custom Laravel and AI builds. Tell us what you're working on and we'll reply within 48 hours.