ConsoleContracts/MILESTONES.md
Funky Waddle c06e557620
Some checks are pending
CI / console-contracts (8.2) (push) Waiting to run
CI / console-contracts (8.3) (push) Waiting to run
docs: add project milestones, specs, and notes
2026-02-21 19:13:45 -06:00

1.1 KiB

ConsoleContracts Milestones

This document defines the implementation milestones for the getphred/console-contracts package.

1. Project Infrastructure

  • Initialize repository and composer.json with zero runtime dependencies.
  • Configure PHPUnit and static analysis (PHPStan).
  • Set up GitHub Actions for continuous integration.

2. Core Interfaces

  • Implement CommandInterface and metadata methods.
  • Implement InputInterface for argument and option access.
  • Implement OutputInterface with verbosity and semantic methods.
  • Implement ConsoleMiddlewareInterface for execution wrapping.
  • Implement ConsoleExceptionInterface for standardized errors.

3. Standardized Constants

  • Implement Verbosity level constants.
  • Implement ExitCode semantic constants (sysexits.h).

4. Helper & DX Contracts

  • Implement InteractionInterface for portable interactivity.
  • Implement ProgressBarInterface, TableInterface, and MarkdownConverterInterface.
  • Implement PHP 8 Attributes (#[Cmd], #[Arg], #[Opt]).
  • Implement HasAttributes trait for attribute-to-interface bridging.