Traitify is a Laravel package designed to streamline and enhance your development process by providing a collection of reusable traits and contracts.

Fund package maintenance!
Cleanique Coders

Installs: 4 520

Dependents: 15

Suggesters: 0

Security: 0

Stars: 18

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/cleaniquecoders/traitify

1.3.0 2025-12-10 01:08 UTC

This package is auto-updated.

Last update: 2025-12-10 01:34:29 UTC


README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

A Laravel package that streamlines development with reusable traits, contracts, and a powerful value generator system. Reduce boilerplate, standardize behavior, and enhance your models with automatic UUID, token, and slug generation.

โœจ Features

  • ๐Ÿ”ง 11 Reusable Traits - UUID, Token, Slug, Meta, User, API, Search, and more
  • ๐ŸŽจ Customizable Generators - Flexible token, UUID, and slug generation
  • โš™๏ธ Three-Tier Configuration - Model โ†’ Config โ†’ Default resolution
  • ๐Ÿ”Œ Extensible Architecture - Create custom generators easily
  • ๐Ÿ“ฆ Zero Configuration - Works out of the box with sensible defaults
  • โœ… 100% Tested - Comprehensive test coverage with Pest PHP

๐Ÿ“ฆ Installation

composer require cleaniquecoders/traitify

๐Ÿš€ Quick Start

use CleaniqueCoders\Traitify\Concerns\InteractsWithUuid;
use Illuminate\Database\Eloquent\Model;

class Post extends Model
{
    use InteractsWithUuid;

    // UUID automatically generated on creation
}
$post = Post::create(['title' => 'Hello World']);
echo $post->uuid; // 9d9e8da7-78c3-4c9d-9f5e-5c8e4a2b1d3c

๐Ÿ“š Documentation

๐Ÿ”ฅ Popular Use Cases

Auto-Generate UUIDs

use InteractsWithUuid;

protected $uuid_column = 'id'; // Use UUID as primary key

Secure API Tokens

use InteractsWithToken;

protected $tokenGeneratorConfig = [
    'length' => 64,
    'prefix' => 'sk_',
    'pool' => 'hex',
];

SEO-Friendly Slugs

use InteractsWithSlug;

protected $slugGeneratorConfig = [
    'unique' => true,
    'max_length' => 100,
];

๐Ÿงช Testing

composer test

๐Ÿ“– Available Traits

Trait Purpose
InteractsWithUuid Auto-generate UUIDs
InteractsWithToken Generate secure tokens
InteractsWithSlug Create URL-friendly slugs
InteractsWithMeta Manage JSON metadata
InteractsWithUser Auto-assign user relationships
InteractsWithApi API response formatting
InteractsWithSearchable Full-text search
InteractsWithDetails Eager load relationships
InteractsWithEnum Enum helper methods
InteractsWithResourceRoute Resource route generation
InteractsWithSqlViewMigration SQL view migrations

๐Ÿค Contributing

Contributions are welcome! Please see CONTRIBUTING for details.

๐Ÿ”’ Security

If you discover any security issues, please review our security policy.

๐Ÿ“ Changelog

Please see CHANGELOG for recent changes.

๐Ÿ‘ฅ Credits

๐Ÿ“„ License

The MIT License (MIT). Please see License File for more information.