PHPackages                             laravel-attributes/todo - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. laravel-attributes/todo

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

laravel-attributes/todo
=======================

A Laravel package to scan #\[TODO\] attributes.

1.1.0(1y ago)028MITPHPPHP ^8.0CI passing

Since Mar 3Pushed 1y ago1 watchersCompare

[ Source](https://github.com/iMohamedSheta/laravel-attributes-todo)[ Packagist](https://packagist.org/packages/laravel-attributes/todo)[ RSS](/packages/laravel-attributes-todo/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (2)Dependencies (10)Versions (3)Used By (0)

Todo Package
============

[](#todo-package)

Laravel TODO Attribute Scanner
==============================

[](#laravel-todo-attribute-scanner)

A small Laravel package that helps you track and manage technical debt by scanning your codebase for `#[TODO]` attributes.

Features ✨
----------

[](#features-)

- **Multi-level Scanning** - Find TODOs in classes, methods, and functions
- **Customizable Sources** - Scan specific directories or files
- **Clear Reporting** - Beautiful console table output with counts
- **Custom Messages** - Add detailed TODO descriptions
- **Laravel Integration** - Native Artisan command integration
- **Modern PHP With Laravel** - Built for Laravel with PHP 8.1+ with attributes

Installation 📦
--------------

[](#installation-)

1. Install via Composer:

```
composer require laravel-attributes/todo
```

2. The package will auto-register its service provider and command.

Usage 🚀
-------

[](#usage-)

Adding TODOs 📝
--------------

[](#adding-todos-)

### Class-level TODO

[](#class-level-todo)

```
use IMohamedSheta\Todo\Attributes\TODO;
use IMohamedSheta\Todo\Enums\Priority;

#[TODO('Need to create extractChunks.', Priority::Medium)]
class ExcelTextExtractor
{
    // Class implementation...
}
```

### Basic Scan

[](#basic-scan)

Scan default directory (app):

```
php artisan todo
```

### Sample Output

[](#sample-output)

```
🔍 Scanning for TODOs...

+----------+------------------------------------------------------+----------+----------------------------------+
| Type     | Class/Method/Function                                | Priority | Message                          |
+----------+------------------------------------------------------+----------+----------------------------------+
| Class    | App\Extractors\FileTextExtractors\ExcelTextExtractor | Medium   | Need to create extractChunks.    |
| Method   | App\Actions\Auth\RegisterAction::createClinicAdmin() | High     | Generate a unique billing code   |
| Function | app\Helpers\helpers.php -> array_only()              | Medium   | Not finished yet                 |
+----------+------------------------------------------------------+----------+----------------------------------+

🎯 Total TODOs Found: 3
```

### Method-level TODO

[](#method-level-todo)

```
use IMohamedSheta\Todo\Attributes\TODO;
use IMohamedSheta\Todo\Enums\Priority;

class RegisterAction
{
    #[TODO('Generate a unique billing code for the clinic', Priority::High)]
    public function createClinicAdmin()
    {
        // Method implementation...
    }
}
```

### Function-level TODO

[](#function-level-todo)

```
use IMohamedSheta\Todo\Attributes\TODO;
use IMohamedSheta\Todo\Enums\Priority;

#[TODO('Not finished yet', Priority::Medium)]
function array_only()
{
    // Function logic...
}
```

Configuration ⚙️
----------------

[](#configuration-️)

### Default Message

[](#default-message)

When no message is provided:

```
#[TODO] // Shows "Not finished yet" in output and priority medium as default
class PendingFeature
{
    // ...
}
```

### Custom Source Directories

[](#custom-source-directories)

Scan specific directories:

```
php artisan todo --src=app/Http/Controllers
```

License 📄
---------

[](#license-)

This package is open-source software licensed under the [MIT license](https://opensource.org/licenses/MIT).

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance47

Moderate activity, may be stable

Popularity7

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity43

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~2 days

Total

2

Last Release

430d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/d0666b51124434c2918a209a19efd69fd06b7b0ff7ce428d1c454599e9d53ec2?d=identicon)[iMohamedSheta](/maintainers/iMohamedSheta)

---

Top Contributors

[![iMohamedSheta](https://avatars.githubusercontent.com/u/88546198?v=4)](https://github.com/iMohamedSheta "iMohamedSheta (23 commits)")

---

Tags

laraveltodolaravel todotodo attributetodo attribute package

###  Code Quality

TestsPest

Static AnalysisPHPStan, Rector

Code StyleLaravel Pint

Type Coverage Yes

### Embed Badge

![Health badge](/badges/laravel-attributes-todo/health.svg)

```
[![Health](https://phpackages.com/badges/laravel-attributes-todo/health.svg)](https://phpackages.com/packages/laravel-attributes-todo)
```

###  Alternatives

[barryvdh/laravel-ide-helper

Laravel IDE Helper, generates correct PHPDocs for all Facade classes, to improve auto-completion.

14.9k123.0M683](/packages/barryvdh-laravel-ide-helper)[wnx/laravel-stats

Get insights about your Laravel Project

1.8k1.8M7](/packages/wnx-laravel-stats)[livewire/flux

The official UI component library for Livewire.

9385.0M85](/packages/livewire-flux)[laragear/preload

Effortlessly make a Preload script for your Laravel application.

119363.5k](/packages/laragear-preload)[glhd/conveyor-belt

14797.0k](/packages/glhd-conveyor-belt)[getsolaris/laravel-make-service

A MVCS pattern create a service command for Laravel 5+

81161.3k](/packages/getsolaris-laravel-make-service)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
