ConsoleContracts/MILESTONES.md

26 lines
1.1 KiB
Markdown
Raw Permalink Normal View History

# ConsoleContracts Milestones
This document defines the implementation milestones for the `getphred/console-contracts` package.
## 1. Project Infrastructure
- [x] Initialize repository and `composer.json` with zero runtime dependencies.
- [x] Configure PHPUnit and static analysis (PHPStan).
- [x] Set up GitHub Actions for continuous integration.
## 2. Core Interfaces
- [x] Implement `CommandInterface` and metadata methods.
- [x] Implement `InputInterface` for argument and option access.
- [x] Implement `OutputInterface` with verbosity and semantic methods.
- [x] Implement `ConsoleMiddlewareInterface` for execution wrapping.
- [x] Implement `ConsoleExceptionInterface` for standardized errors.
## 3. Standardized Constants
- [x] Implement `Verbosity` level constants.
- [x] Implement `ExitCode` semantic constants (sysexits.h).
## 4. Helper & DX Contracts
- [x] Implement `InteractionInterface` for portable interactivity.
- [x] Implement `ProgressBarInterface`, `TableInterface`, and `MarkdownConverterInterface`.
- [x] Implement PHP 8 Attributes (`#[Cmd]`, `#[Arg]`, `#[Opt]`).
- [x] Implement `HasAttributes` trait for attribute-to-interface bridging.