gordon-fcl / housekeeping
A Laravel package to view and manage GitHub issues from the terminal.
Requires
- php: ^8.2.0
- graham-campbell/github: ^12.6|^13.0
- illuminate/console: ^10.0|^11.0|^12.0
- illuminate/support: ^10.0|^11.0|^12.0
- laravel/prompts: ^0.1.16|^0.2|^0.3
Requires (Dev)
- dg/bypass-finals: ^1.8
- laravel/pint: ^1.13.7
- orchestra/testbench: ^8.0|^9.0
- pestphp/pest: ^2.28.1
- phpstan/phpstan: ^2.0
- rector/rector: ^2.0
- symfony/var-dumper: ^6.4.0|^7.0.0
This package is auto-updated.
Last update: 2026-05-01 13:16:50 UTC
README
A Laravel package that brings GitHub issue management into the terminal, reducing context switching and keeping developers in flow.
Requirements
- PHP 8.2+
- Laravel 10 or 11
Installation
composer require gordon-fcl/housekeeping
The service provider is auto-discovered. No manual registration needed.
Configuration
Add your GitHub personal access token to .env:
GITHUB_TOKEN=ghp_your_token_here
The token needs repo scope to read issues and labels.
Optionally publish the config to customise the default label and base branch:
php artisan vendor:publish --tag=housekeeping-config
This creates config/housekeeping.php where you can set:
HOUSEKEEPING_LABEL- default issue label to filter by (default:housekeeping)HOUSEKEEPING_BASE_BRANCH- branch to create working branches from (default:staging)
Usage
php artisan housekeeping:list
This will:
- Fetch your GitHub repositories
- Prompt you to select one
- Fetch labels from that repository
- Prompt you to select a label (or pass
--tag=bugto skip) - Display matching issues in a table
Options
php artisan housekeeping:list --tag=bug
Skip the label selection prompt by passing a label directly.
Development
git clone https://github.com/gordon-fcl/housekeeping.git
cd housekeeping
composer install
Run the test suite:
composer test
Individual checks:
composer lint # Pint composer test:types # PHPStan composer test:unit # Pest composer refacto # Rector
Contributing
Please see CONTRIBUTING.md for details on the fork-and-PR workflow.
Licence
MIT. See LICENSE.md.