PHPackages                             php-prosvirin-dev/laravel-todo-inspector - 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. [Testing &amp; Quality](/categories/testing)
4. /
5. php-prosvirin-dev/laravel-todo-inspector

ActiveLibrary[Testing &amp; Quality](/categories/testing)

php-prosvirin-dev/laravel-todo-inspector
========================================

Scan and manage TODO, FIXME, HACK comments in Laravel projects

v1.0.0(3mo ago)01↓90%MITPHPPHP ^8.1CI passing

Since Mar 31Pushed 3mo agoCompare

[ Source](https://github.com/php-prosvirin-dev/laravel-todo-inspector)[ Packagist](https://packagist.org/packages/php-prosvirin-dev/laravel-todo-inspector)[ Docs](https://github.com/php-prosvirin-dev/laravel-todo-inspector)[ RSS](/packages/php-prosvirin-dev-laravel-todo-inspector/feed)WikiDiscussions main Synced 4w ago

READMEChangelogDependencies (8)Versions (9)Used By (0)

Laravel Todo Inspector
======================

[](#laravel-todo-inspector)

A powerful Laravel package to scan, manage, and track TODO, FIXME, HACK, REVIEW, and NOTE comments across your entire project. Transform scattered code comments into a manageable technical debt backlog with a beautiful web interface.

[![Todo Inspector Dashboard](docs/images/Screenshot.png)](docs/images/Screenshot.png)

Features
--------

[](#features)

- 🔍 **Smart Scanning** - Detects TODO, FIXME, HACK, REVIEW, NOTE comments in single-line and multi-line formats
- 📊 **Web Interface** - Clean, responsive dashboard with filtering, search, and bulk actions
- 🎨 **Dark/Light Theme** - Automatic theme switching with user preference persistence
- 🌍 **Multi-language** - Support for 9 languages (English, Russian, Ukrainian, Polish, German, French, Spanish, Chinese, Japanese)
- 🔐 **Authentication** - Simple HTTP Basic Auth with configurable credentials
- ⚡ **Bulk Operations** - Update multiple task statuses at once
- 🗂️ **File Links** - Direct links to files in PhpStorm (configurable for other IDEs)
- 📈 **Statistics** - Visual statistics by type, priority, and status
- 🛠️ **Artisan Command** - `php artisan todo:scan` for manual or scheduled scanning

Requirements
------------

[](#requirements)

- PHP 8.1 or higher
- Laravel 10.x, 11.x, 12.x, or 13.x
- MySQL, PostgreSQL, or SQLite

Installation
------------

[](#installation)

### 1. Install via Composer

[](#1-install-via-composer)

```
composer require php-prosvirin-dev/laravel-todo-inspector
```

### 2. Publish Package Assets

[](#2-publish-package-assets)

Publish everything at once:

```
php artisan vendor:publish --provider="Prosvirin\LaravelTodoInspector\TodoInspectorServiceProvider"
```

Or publish individually:

```
php artisan vendor:publish --tag=todo-inspector-config      # Configuration
php artisan vendor:publish --tag=todo-inspector-migrations  # Database migrations
php artisan vendor:publish --tag=todo-inspector-views       # Blade templates
php artisan vendor:publish --tag=todo-inspector-lang        # Language files
php artisan vendor:publish --tag=todo-inspector-assets      # CSS/JS assets
```

### 3. Run Migrations

[](#3-run-migrations)

```
php artisan migrate
```

### 4. Configure Authentication

[](#4-configure-authentication)

Add credentials to your `.env` file to secure the web interface:

```
TODO_INSPECTOR_LOGIN=admin
TODO_INSPECTOR_PASSWORD=your-secure-password
```

Configuration
-------------

[](#configuration)

The configuration file is located at `config/todo-inspector.php` after publishing.

### Basic Configuration

[](#basic-configuration)

```
return [
    'table_name' => env('TODO_INSPECTOR_TABLE', 'todo_inspector_tasks'),
    'theme' => env('TODO_INSPECTOR_THEME', 'dark'),
    'auth' => [
        'login' => env('TODO_INSPECTOR_LOGIN', 'admin'),
        'password' => env('TODO_INSPECTOR_PASSWORD', 'password'),
    ],
    'locales' => [
        'en' => ['flag' => '🇬🇧', 'name' => 'English'],
        'ru' => ['flag' => '🇷🇺', 'name' => 'Русский'],
        'uk' => ['flag' => '🇺🇦', 'name' => 'Українська'],
        'pl' => ['flag' => '🇵🇱', 'name' => 'Polski'],
        'de' => ['flag' => '🇩🇪', 'name' => 'Deutsch'],
        'fr' => ['flag' => '🇫🇷', 'name' => 'Français'],
        'es' => ['flag' => '🇪🇸', 'name' => 'Español'],
        'zh' => ['flag' => '🇨🇳', 'name' => '中文'],
        'ja' => ['flag' => '🇯🇵', 'name' => '日本語'],
    ],
    'extensions' => ['php', 'js', 'vue', 'blade.php', 'css', 'scss'],
    'exclude_dirs' => ['vendor', 'node_modules', 'storage', 'bootstrap/cache', '.git', 'tests'],
    'exclude_files' => ['test-*.php', '*_test.php', '*.test.php'],
    'github_repo' => env('TODO_INSPECTOR_GITHUB_REPO', null),
];
```

Usage
-----

[](#usage)

Run the scan command to find all TODO comments:

```
php artisan todo:scan
```

Options:

- `--clear` - Clear existing tasks before scanning
- `--type=TODO` - Scan only specific type (TODO, FIXME, HACK, REVIEW, NOTE)
- `--path=app/Http` - Scan only specific directory

Example:

```
php artisan todo:scan --clear --type=FIXME --path=app/Http
```

Schedule Automatic Scans
------------------------

[](#schedule-automatic-scans)

Add to `app/Console/Kernel.php`:

```
protected function schedule(Schedule $schedule): void
{
    $schedule->command('todo:scan')->dailyAt('03:00');
    // or hourly: $schedule->command('todo:scan')->hourly();
}
```

Access Web Interface
--------------------

[](#access-web-interface)

```
http://your-project.test/todo-inspector

```

Login with credentials configured in `.env`.

Features in Web Interface
-------------------------

[](#features-in-web-interface)

**Dashboard**

- Statistics Cards - Total tasks and breakdown by type
- Priority Statistics - Visual breakdown by priority level
- Click Filters - Click on any statistic card to filter tasks

**Task Management**

- Search - Search across content, file paths, and authors
- Filters - Filter by type, priority, and status
- Bulk Actions - Update multiple tasks at once
- Status Updates - Change task status directly from the table
- File Links - Click the code icon to open the file in PhpStorm

**Theme &amp; Language**

- Dark/Light Mode - Toggle with persistent preference
- Multi-language - Select from 9 languages, saved to localStorage

Comment Format Examples
-----------------------

[](#comment-format-examples)

The package detects comments in the following formats:

**Single-line Comments**

```
// TODO: Fix this bug
// FIXME: @username Memory leak here
// HACK: [HIGH] Temporary workaround
// REVIEW: @lead Please check this logic
// NOTE: Important performance consideration
```

**Multi-line Comments**

```
/**
* TODO: Refactor this method
* FIXME: @developer Edge case not handled
* REVIEW: Architecture decision needed
  */
```

Priority Tags
-------------

[](#priority-tags)

Use brackets to specify priority:

- `[LOW]` - Low priority
- `[MEDIUM]` - Medium priority (default)
- `[HIGH]` - High priority
- `[CRITICAL]` - Critical priority

Author Tags
-----------

[](#author-tags)

Use `@username` to assign tasks to specific developers.

Customization
-------------

[](#customization)

### Override Views

[](#override-views)

```
php artisan vendor:publish --tag=todo-inspector-views
```

Views will be copied to `resources/views/vendor/todo-inspector/`. Modify them as needed.

### Override Translations

[](#override-translations)

```
php artisan vendor:publish --tag=todo-inspector-lang
```

Translations will be copied to `resources/lang/vendor/todo-inspector/`. Add or modify translations.

### Custom CSS/JS

[](#custom-cssjs)

```
php artisan vendor:publish --tag=todo-inspector-assets
```

Assets will be copied to `public/vendor/todo-inspector/`. Update CSS or JS files directly.

Troubleshooting
---------------

[](#troubleshooting)

**Tasks Not Found**

- Check file extensions in config
- Verify exclude directories don't include your code
- Ensure comments match the expected patterns

**Authentication Issues**

- Verify credentials in `.env` file
- Clear config cache: `php artisan config:clear`

**Translation Not Working**

- Publish language files: `php artisan vendor:publish --tag=todo-inspector-lang`
- Clear view cache: `php artisan view:clear`

Contributing
------------

[](#contributing)

Contributions are welcome! Please submit a Pull Request or create an Issue.

License
-------

[](#license)

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

Credits
-------

[](#credits)

- Created by [Yauheni Prasviryn](https://github.com/php-prosvirin-dev)
- Built with [Laravel](https://laravel.com) and [Tailwind CSS](https://tailwindcss.com)

###  Health Score

36

—

LowBetter than 79% of packages

Maintenance82

Actively maintained with recent releases

Popularity1

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity48

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

Unknown

Total

1

Last Release

92d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/f750a69d1d565de9a1fe3c5d2be0aa2165f36140a805236bd8cea50fbc35228f?d=identicon)[php-prosvirin-dev](/maintainers/php-prosvirin-dev)

---

Top Contributors

[![php-prosvirin-dev](https://avatars.githubusercontent.com/u/253578725?v=4)](https://github.com/php-prosvirin-dev "php-prosvirin-dev (18 commits)")

---

Tags

laravelcode qualityinspectorscannertodotechnical debtfixme

###  Code Quality

TestsPest

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/php-prosvirin-dev-laravel-todo-inspector/health.svg)

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

###  Alternatives

[laravel/ai

The official AI SDK for Laravel.

1.0k3.2M184](/packages/laravel-ai)[psalm/plugin-laravel

Psalm plugin for Laravel

3355.3M345](/packages/psalm-plugin-laravel)[roots/acorn

Framework for Roots WordPress projects built with Laravel components.

9762.4M127](/packages/roots-acorn)[larastan/larastan

Larastan - Discover bugs in your code without running it. A phpstan/phpstan extension for Laravel

6.5k55.4M8.1k](/packages/larastan-larastan)[illuminate/queue

The Illuminate Queue package.

21332.6M1.5k](/packages/illuminate-queue)[laravel/pulse

Laravel Pulse is a real-time application performance monitoring tool and dashboard for your Laravel application.

1.7k15.1M129](/packages/laravel-pulse)

PHPackages © 2026

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