Skip to content

Commit e9f071c

Browse files
committed
docs: migrate wiki submodule to .github/wiki and update references
1 parent 11ced35 commit e9f071c

18 files changed

Lines changed: 2579 additions & 6 deletions

.github/wiki/Home.md

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
2+
This is an automatically generated documentation for **Fast Forward Development Tools for PHP projects**.
3+
4+
## Namespaces
5+
6+
### \FastForward\DevTools
7+
8+
#### Classes
9+
10+
| Class | Description |
11+
|-------------------------------------------------------|------------------------------------------------------------------------------------------------|
12+
| [`DevTools`](./classes/FastForward/DevTools/DevTools) | Wraps the fast-forward console tooling suite conceptually as an isolated application instance. |
13+
14+
### \FastForward\DevTools\Command
15+
16+
#### Classes
17+
18+
| Class | Description |
19+
|-------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------|
20+
| [`AbstractCommand`](./classes/FastForward/DevTools/Command/AbstractCommand) | Provides a base configuration and common utilities for Composer commands. |
21+
| [`CodeStyleCommand`](./classes/FastForward/DevTools/Command/CodeStyleCommand) | Represents the command responsible for checking and fixing code style issues. |
22+
| [`DocsCommand`](./classes/FastForward/DevTools/Command/DocsCommand) | Handles the generation of API documentation for the project. |
23+
| [`PhpDocCommand`](./classes/FastForward/DevTools/Command/PhpDocCommand) | Provides operations to inspect, lint, and repair PHPDoc comments across the project. |
24+
| [`RefactorCommand`](./classes/FastForward/DevTools/Command/RefactorCommand) | Provides functionality to execute automated code refactoring using Rector. |
25+
| [`ReportsCommand`](./classes/FastForward/DevTools/Command/ReportsCommand) | Coordinates the generation of Fast Forward documentation frontpage and related reports. |
26+
| [`StandardsCommand`](./classes/FastForward/DevTools/Command/StandardsCommand) | Executes the full suite of Fast Forward code standard checks. |
27+
| [`TestsCommand`](./classes/FastForward/DevTools/Command/TestsCommand) | Facilitates the execution of the PHPUnit testing framework. |
28+
29+
### \FastForward\DevTools\Composer
30+
31+
#### Classes
32+
33+
| Class | Description |
34+
|------------------------------------------------------------|-------------------------------------------------------------------------|
35+
| [`Plugin`](./classes/FastForward/DevTools/Composer/Plugin) | Implements the lifecycle of the Composer dev-tools extension framework. |
36+
37+
### \FastForward\DevTools\Composer\Capability
38+
39+
#### Classes
40+
41+
| Class | Description |
42+
|---------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------|
43+
| [`DevToolsCommandProvider`](./classes/FastForward/DevTools/Composer/Capability/DevToolsCommandProvider) | Provides a registry of custom dev-tools commands mapped for Composer integration. |
44+
45+
### \FastForward\DevTools\Rector
46+
47+
#### Classes
48+
49+
| Class | Description |
50+
|------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------|
51+
| [`AddMissingClassPhpDocRector`](./classes/FastForward/DevTools/Rector/AddMissingClassPhpDocRector) | Provides automated refactoring to prepend basic PHPDoc comments on classes missing them. |
52+
| [`AddMissingMethodPhpDocRector`](./classes/FastForward/DevTools/Rector/AddMissingMethodPhpDocRector) | Executes AST inspections parsing missing documentation on methods automatically. |
53+
| [`RemoveEmptyDocBlockRector`](./classes/FastForward/DevTools/Rector/RemoveEmptyDocBlockRector) | Implements automation targeting the removal of purposeless empty DocBlock structures natively. |
Lines changed: 189 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,189 @@
1+
2+
Provides a base configuration and common utilities for Composer commands.
3+
4+
Extending classes MUST rely on this base abstraction to interact with the console
5+
application gracefully, and SHALL adhere to the expected return types for commands.
6+
7+
***
8+
9+
* Full name: `\FastForward\DevTools\Command\AbstractCommand`
10+
* Parent class: [`BaseCommand`](../../../Composer/Command/BaseCommand)
11+
* This class is an **Abstract class**
12+
13+
## Properties
14+
15+
### filesystem
16+
17+
```php
18+
protected \Symfony\Component\Filesystem\Filesystem $filesystem
19+
```
20+
21+
***
22+
23+
## Methods
24+
25+
### __construct
26+
27+
Constructs a new AbstractCommand instance.
28+
29+
```php
30+
public __construct(\Symfony\Component\Filesystem\Filesystem|null $filesystem = null): mixed
31+
```
32+
33+
The method MAY accept a Filesystem instance; if omitted, it SHALL instantiate a new one.
34+
35+
**Parameters:**
36+
37+
| Parameter | Type | Description |
38+
|---------------|----------------------------------------------------|-------------------------------|
39+
| `$filesystem` | **\Symfony\Component\Filesystem\Filesystem\|null** | the filesystem utility to use |
40+
41+
***
42+
43+
### runProcess
44+
45+
Executes a given system process gracefully and outputs its buffer.
46+
47+
```php
48+
protected runProcess(\Symfony\Component\Process\Process $command, \Symfony\Component\Console\Output\OutputInterface $output): int
49+
```
50+
51+
The method MUST execute the provided command ensuring the output is channeled
52+
to the OutputInterface. It SHOULD leverage TTY if supported. If the process
53+
fails, it MUST return `self::FAILURE`; otherwise, it SHALL return `self::SUCCESS`.
54+
55+
**Parameters:**
56+
57+
| Parameter | Type | Description |
58+
|------------|-------------------------------------------------------|-------------------------------------------------|
59+
| `$command` | **\Symfony\Component\Process\Process** | the configured process instance to run |
60+
| `$output` | **\Symfony\Component\Console\Output\OutputInterface** | the output interface to log warnings or results |
61+
62+
**Return Value:**
63+
64+
the status code of the command execution
65+
66+
***
67+
68+
### getCurrentWorkingDirectory
69+
70+
Retrieves the current working directory of the application.
71+
72+
```php
73+
protected getCurrentWorkingDirectory(): string
74+
```
75+
76+
The method MUST return the initial working directory defined by the application.
77+
If not available, it SHALL fall back to the safe current working directory.
78+
79+
**Return Value:**
80+
81+
the absolute path to the current working directory
82+
83+
***
84+
85+
### getAbsolutePath
86+
87+
Computes the absolute path for a given relative or absolute path.
88+
89+
```php
90+
protected getAbsolutePath(string $relativePath): string
91+
```
92+
93+
This method MUST return the exact path if it is already absolute.
94+
If relative, it SHALL make it absolute relying on the current working directory.
95+
96+
**Parameters:**
97+
98+
| Parameter | Type | Description |
99+
|-----------------|------------|---------------------------------|
100+
| `$relativePath` | **string** | the path to evaluate or resolve |
101+
102+
**Return Value:**
103+
104+
the resolved absolute path
105+
106+
***
107+
108+
### getConfigFile
109+
110+
Determines the correct absolute path to a configuration file.
111+
112+
```php
113+
protected getConfigFile(string $filename, bool $force = false): string
114+
```
115+
116+
The method MUST attempt to resolve the configuration file locally in the working directory.
117+
If absent and not forced, it SHALL provide the default equivalent from the package itself.
118+
119+
**Parameters:**
120+
121+
| Parameter | Type | Description |
122+
|-------------|------------|---------------------------------------------------------------------------------|
123+
| `$filename` | **string** | the name of the configuration file |
124+
| `$force` | **bool** | determines whether to bypass fallback and forcefully return the local file path |
125+
126+
**Return Value:**
127+
128+
the resolved absolute path to the configuration file
129+
130+
***
131+
132+
### runCommand
133+
134+
Configures and executes a registered console command by name.
135+
136+
```php
137+
protected runCommand(string $commandName, array|\Symfony\Component\Console\Input\InputInterface $input, \Symfony\Component\Console\Output\OutputInterface $output): int
138+
```
139+
140+
The method MUST look up the command from the application and run it. It SHALL ignore generic
141+
validation errors and route the custom input and output correctly.
142+
143+
**Parameters:**
144+
145+
| Parameter | Type | Description |
146+
|----------------|------------------------------------------------------------|-----------------------------------------|
147+
| `$commandName` | **string** | the name of the required command |
148+
| `$input` | **array\|\Symfony\Component\Console\Input\InputInterface** | the input arguments or array definition |
149+
| `$output` | **\Symfony\Component\Console\Output\OutputInterface** | the interface for buffering output |
150+
151+
**Return Value:**
152+
153+
the status code resulting from the dispatched command
154+
155+
***
156+
157+
### getPsr4Namespaces
158+
159+
Retrieves configured PSR-4 namespaces from the composer configuration.
160+
161+
```php
162+
protected getPsr4Namespaces(): array
163+
```
164+
165+
This method SHALL parse the underlying `composer.json` using the Composer instance,
166+
and MUST provide an empty array if no specific paths exist.
167+
168+
**Return Value:**
169+
170+
the PSR-4 namespaces mappings
171+
172+
***
173+
174+
### getTitle
175+
176+
Computes the human-readable title or description of the current application.
177+
178+
```php
179+
protected getTitle(): string
180+
```
181+
182+
The method SHOULD utilize the package description as the title, but MUST provide
183+
the raw package name as a fallback mechanism.
184+
185+
**Return Value:**
186+
187+
the computed title or description string
188+
189+
***

0 commit comments

Comments
 (0)