https://github.com/iamsabbiralam/ghost-notes
๐ป Transform hidden code tags into a professional dev-diary. Features a sleek dashboard, Git integration, VS Code links, and multi-format exports for Laravel projects.
https://github.com/iamsabbiralam/ghost-notes
code-analysis dev-diary developer-experience developer-tools ghost-notes laravel laravel-package package php productivity-tool technical-debt
Last synced: 5 months ago
JSON representation
๐ป Transform hidden code tags into a professional dev-diary. Features a sleek dashboard, Git integration, VS Code links, and multi-format exports for Laravel projects.
- Host: GitHub
- URL: https://github.com/iamsabbiralam/ghost-notes
- Owner: iamsabbiralam
- License: mit
- Created: 2025-12-16T07:42:08.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2025-12-19T06:27:55.000Z (6 months ago)
- Last Synced: 2025-12-19T20:07:20.063Z (6 months ago)
- Topics: code-analysis, dev-diary, developer-experience, developer-tools, ghost-notes, laravel, laravel-package, package, php, productivity-tool, technical-debt
- Language: Blade
- Homepage:
- Size: 4.16 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ๐ป GhostNotes - Transform Code Comments into a Dev Diary
[](https://packagist.org/packages/iamsabbiralam/ghost-notes)
[](https://packagist.org/packages/iamsabbiralam/ghost-notes)
[](https://packagist.org/packages/iamsabbiralam/ghost-notes)

**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 `@note` with 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 `--clear` flag 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:
```bash
composer require iamsabbiralam/ghost-notes
```
Set up everything with a single command:
```bash
php artisan ghost:install
```
This command publishes the config file and prepares the internal storage.
---
## ๐ Usage
1. Adding Tags in Code
You can now add priority levels to your tags:
```bash
// @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
```
2. Generating the Diary
Run the command to scan files and update the dashboard cache:
```bash
php artisan ghost:write
```
3. Exporting Reports
Generate reports in your preferred format:
```bash
php artisan ghost:write --format=markdown
php artisan ghost:write --format=json
php artisan ghost:write --format=csv
```
4. Clearing and Archiving
Log the notes to the Resolved History and remove them from your code:
```bash
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:
```bash
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](https://github.com/iamsabbiralam)