Tasker/MILESTONES.md
Funky Waddle 3ac2894fd8
Some checks are pending
CI / tasker (8.2) (push) Waiting to run
CI / tasker (8.3) (push) Waiting to run
feat: complete Tasker project implementation, documentation, and examples
2026-02-22 01:14:22 -06:00

37 lines
1.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Tasker Milestones
This document defines the implementation milestones for the `getphred/tasker` runner.
## 1. Project Infrastructure
- [x] Initialize `composer.json` with PSR-4 autoloading and dev tools (PHPUnit, PHPStan, PHPCS).
- [x] Set up GitHub Actions (PHP 8.2/8.3) with fail-on-warning policy.
- [x] Establish coding standards and baseline configuration files.
## 2. Core Runner MVP
- [x] Bootstrap runner accepting a PSR-11 container (`ContainerInterface`).
- [x] Implement explicit command registration API.
- [x] Implement Composer-based discovery via `extra.phred-tasker.commands`.
- [x] Implement basic argv parser for global flags: `-v/-vv/-vvv/-q`, `-n/--no-interaction`, `--no-ansi`, `-h/--help`.
- [x] Implement built-in `list` and `help` commands.
## 3. Middleware Engine
- [x] Define middleware registration via container and ordered execution.
- [x] Implement middleware execution chain (`ConsoleMiddlewareInterface`).
- [x] Add top-level exception guard and standardized exit code mapping (sysexits.h).
## 4. IO & State Wiring
- [x] Initialize default PhredBridge adapters for `InputInterface`/`OutputInterface`.
- [x] Wire verbosity, decoration (ANSI), and non-interactive flags into output and helper behavior.
- [x] Ensure fixed markup set renders (via PhredBridge) or strips when colors are disabled.
## 5. Integration Tests
- [x] End-to-end test: run sample command discovered via Composer.
- [x] Arg/option parsing tests including edge cases (unknown flags, combined short flags rejection, defaults).
- [x] Middleware behavior tests (ordering, early return, error handling).
- [x] Help/list output tests (including non-interactive and `--no-ansi`).
## 6. Developer Experience
- [x] Quick Start guide with container boot example and Composer discovery snippet.
- [x] Example project with 12 sample commands using attributes (`#[Cmd]`, `#[Arg]`, `#[Opt]`).
- [x] Troubleshooting section (common exit codes, discovery pitfalls).