pitan76 / todofile
A simple task runner for developers
v0.0.7
2026-09-19 14:08 UTC
Requires
- php: ^8.5
- composer-runtime-api: ^2.2
- colinodell/json5: ^3.0
- symfony/console: ^6.4
Requires (Dev)
- phpstan/phpstan: ^2.2
- phpunit/phpunit: ^10.5
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
PHP製CLIタスクランナー
Todofileは todofile.json5 もしくは todofile.json で定義します(引数-f, --file=でファイル名を指定可能)
使い方
インストール
※インストールにはPHPのパッケージマネージャである https://getcomposer.org/ が必要です。
composer global require pitan76/todofile
todofile.json の作成
todofile.json5 もしくは todofile.json はTodofileが読み込むタスクファイルで、実行するコマンドや設定を定義します。
設定は以下のとおりです。
{
"<タスク名>": "<コマンド>",
"<タスク名>": [
"<コマンド1>",
"<コマンド2>"
]
}
例
{ // 設定 "@config": { // コマンド実行エラーを無視して次のコマンドを実行する "ignoreCommandExecuteException": false }, // 以下のように"タスク名": "コマンド" もしくは "タスク名": {"コマンド", ...} のように記述する "lint": "vendor/bin/phpstan analyse src", "test": [ "vendor/bin/phpunit --testdox" ], "composer": [ "composer install", "echo installed" ] }
実行
todo <タスク名>
オプション
# ファイル指定 todo <タスク名> -f ファイル名 todo <タスク名> --file=ファイル名 # バージョン情報 todo -v todo --version
セットアップ
git clone git@github.com:Pitan76/Todofile.git # git clone https://github.com/Pitan76/Todofile.git cd Todofile composer install
実行
# hello
./todo hello
# 静的解析
./todo lint
# テスト
./todo test
初期メモ (ガチであんま関係ない)
依存関係
composer require --dev phpunit/phpunit phpstan/phpstan composer require symfony/console
composer.jsonを変えたらコレ
# composer直呼び composer dump-autoload # or # todofileでやってみる ./todo composer-reload