New

Just launched: Vueblocks, a brand-new search engine for Vue packages! Explore Vueblocks →

cleaniquecoders/traitify

Traitify is a Laravel package designed to streamline and enhance your development process by providing a collection of reusable traits and contracts.
56,479 18
Install
composer require cleaniquecoders/traitify
Latest Version:1.4.0
PHP:^8.2|^8.3|^8.4
Laravel:10 – 13
License:MIT
Last Updated:Mar 30, 2026
Links: GitHub  ·  Packagist
Maintainer: nasrulhazim.m

Traitify

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

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.

Related Packages

cleaniquecoders/shrinkr

Shrinkr is a Laravel package for shortening URLs, with custom slugs, analytics,...

35,887 15
cleaniquecoders/laravel-api-version

Effortlessly manage your Laravel API versions with flexible, header-based versio...

2,442 2
cleaniquecoders/laravel-config-webhook

Define, sign, dispatch and log outgoing webhooks in Laravel with retries, HMAC s...

2,378 0

Version History

Version Released PHP Laravel License
1.4.0 ^8.2|^8.3|^8.4 ^10.0||^11.0||^12.0||^13.0 MIT
1.3.1 ^8.2|^8.3|^8.4 ^10.0||^11.0||^12.0 MIT
1.3.0 ^8.2|^8.3|^8.4 ^10.0||^11.0||^12.0 MIT
1.2.1 ^8.2|^8.3|^8.4 ^10.0||^11.0||^12.0 MIT
1.2.0 ^8.2|^8.3|^8.4 ^10.0||^11.0||^12.0 MIT