Skip to content

Commit 187c836

Browse files
committed
Update docs for runtime environment checks
1 parent 81c15b5 commit 187c836

6 files changed

Lines changed: 22 additions & 11 deletions

File tree

docs/_static/mascot-banner.png

967 KB
Loading

docs/_static/mascot.png

-1.84 MB
Binary file not shown.

docs/api/commands.rst

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
Command Classes
22
===============
33

4-
All public CLI commands extend ``Composer\Command\BaseCommand``. Most command
5-
classes are resolved lazily through ``DevToolsCommandLoader`` and receive
6-
their collaborators from the shared ``DevToolsServiceProvider`` container,
7-
while orchestration commands such as ``standards`` dispatch other commands
8-
through the console application itself. The architecture also relies on
9-
``ProcessBuilder`` and ``ProcessQueue`` for fluent process management where
10-
subprocess execution is needed.
4+
All public CLI commands are Symfony Console commands resolved lazily through
5+
``DevToolsCommandLoader``. Command classes receive their collaborators from
6+
the shared ``DevToolsServiceProvider`` container, while orchestration commands
7+
such as ``standards`` dispatch other commands through the console application
8+
itself. Composer integration uses proxy commands to expose that same Symfony
9+
command set without forcing each command to extend Composer's ``BaseCommand``.
10+
The architecture also relies on ``ProcessBuilder`` and ``ProcessQueue`` for
11+
fluent process management where subprocess execution is needed.
1112

1213
.. list-table::
1314
:header-rows: 1
@@ -95,3 +96,6 @@ subprocess execution is needed.
9596
* - ``FastForward\DevTools\Console\Command\UpdateComposerJsonCommand``
9697
- ``update-composer-json``
9798
- Updates the composer.json file to match the packaged schema.
99+
* - ``FastForward\DevTools\Console\Command\SelfUpdateCommand``
100+
- ``dev-tools:self-update``
101+
- Updates the local or global DevTools installation through Composer.

docs/api/composer-integration.rst

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,11 @@ Composer Plugin Classes
3131
- Registers the command provider and runs ``dev-tools:sync`` after
3232
Composer install and update.
3333
* - ``FastForward\DevTools\Composer\Capability\DevToolsCommandProvider``
34-
- Instantiates and returns the available command classes.
34+
- Exposes Symfony command instances to Composer through proxy commands
35+
while filtering names and aliases already registered by Composer or the
36+
root project's scripts.
37+
* - ``FastForward\DevTools\Composer\Command\ProxyCommand``
38+
- Adapts one Symfony command to Composer's command provider contract.
3539
* - ``FastForward\DevTools\Console\DevTools``
3640
- Console application used by the local binary.
3741

docs/index.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ Documentation
2121

2222
.. container:: col-lg-5 text-center
2323

24-
.. image:: _static/mascot.png
24+
.. image:: _static/mascot-banner.png
2525
:alt: Fast Forward DevTools mascot
2626
:class: img-fluid w-100 rounded-4 shadow-sm border border-light-subtle bg-body-tertiary p-2
2727

docs/internals/architecture.rst

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,5 +94,8 @@ command list:
9494
- Git ignore, Git attributes, license, resource diffing, and coverage
9595
summary services support consumer sync and reporting workflows.
9696
* - ``Shared infrastructure``
97-
- ``LoggerInterface``, ``ClockInterface``, and Twig's
98-
``LoaderInterface`` provide reusable runtime infrastructure.
97+
- ``LoggerInterface``, ``ClockInterface``,
98+
``RuntimeEnvironmentInterface``, and Twig's ``LoaderInterface``
99+
provide reusable runtime infrastructure, including centralized checks
100+
for GitHub Actions, generic CI, Composer test runs, and truthy
101+
environment flags.

0 commit comments

Comments
 (0)