iamsabbiralam / ghost-notes
A Laravel package to generate a dev-diary from @ghost tags in your code.
Installs: 4
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 0
Forks: 0
Open Issues: 0
Language:Blade
pkg:composer/iamsabbiralam/ghost-notes
Requires
- php: ^8.0
- illuminate/support: ^9.0|^10.0|^11.0|^12.0
README
GhostNotes is a powerful Laravel utility that scans your codebase for hidden tags like @ghost, @todo, or @fixme and compiles them into a beautiful, organized developer diary, multi-format reports, and a modern Web Dashboard.
โจ Features
- ๐ Advanced Tag Scanning: Automatically finds
@ghost,@todo,@fixme, and@notewith optional Priority Levels (high|medium|low). - ๐จ Modern Dashboard: A sleek, Tailwind-powered dashboard with Search, Priority Badges, and Source Code Snippets.
- ๐ Multi-Format Export: Export your dev-diary into Markdown, JSON, or CSV (Excel compatible).
- ๐ Resolved Graveyard: Track resolved notes in the "Resolved Ghosts" history after clearing them from your code.
- ๐ VS Code & GitHub Integration: Open files directly in VS Code from the dashboard or view them on GitHub with line-specific links.
- ๐ค Git Context: Automatically identifies the author using
git blame. - ๐งน Code Cleanup: Use the
--clearflag to safely remove tags from source code once they are logged. - ๐ Safe for Devs: Dashboard and routes are automatically disabled in production.
๐ Installation
Install the package via composer:
composer require iamsabbiralam/ghost-notes
Set up everything with a single command:
php artisan ghost:install
This command publishes the config file and prepares the internal storage.
๐ Usage
- Adding Tags in Code You can now add priority levels to your tags:
// @ghost:high: Fix this critical security vulnerability // @todo:medium: Implement the user profile update logic // @fixme:low: Minor alignment issue on the footer // @note: This is a general architectural note
- Generating the Diary Run the command to scan files and update the dashboard cache:
php artisan ghost:write
- Exporting Reports Generate reports in your preferred format:
php artisan ghost:write --format=markdown php artisan ghost:write --format=json php artisan ghost:write --format=csv
- Clearing and Archiving Log the notes to the Resolved History and remove them from your code:
php artisan ghost:write --clear
๐ฅ Web Dashboard
Visit the interactive dashboard at: http://your-app.test/ghost-notes
In the Dashboard you can:
- ๐ Search through notes by author, message, or file name.
- ๐ฑ๏ธ One-click Open files directly in VS Code.
- ๐ฆ Download reports as CSV, JSON, or Markdown.
- ๐จ๏ธ Print a clean PDF report of your technical debt.
- ๐ View History of all resolved/cleared notes.
โ๏ธ Configuration
The configuration file (config/ghost-notes.php) allows you to customize:
return [ 'tags' => ['@ghost', '@todo', '@fixme', '@note'], 'filename' => 'GHOST_LOG.md', 'ignore_folders' => ['vendor', 'node_modules', 'storage', 'tests'], 'git_context' => true, 'repo_url' => env('GHOST_NOTES_REPO_URL', ''), // Auto-detected if empty 'default_branch' => 'main', ];
๐ค Contributing
Contributions are welcome! If you have any ideas, feel free to open an issue or submit a pull request.
๐ License
The MIT License (MIT). Please see License File for more information.
Developed by Sabbir Alam

