1313use InvalidArgumentException ;
1414use RuntimeException ;
1515
16+ /** Executes Docker lifecycle, install, debug, and seed operations for a board. */
1617class BoardRunner
1718{
1819 private Project $ project ;
@@ -26,6 +27,7 @@ public function __construct(Project $project, ?Output $output = null, ?ProcessRu
2627 $ this ->processRunner = $ processRunner ?: new ProcessRunner ($ this ->output );
2728 }
2829
30+ /** Starts containers, completes first install, applies options, and waits for HTTP. */
2931 public function start (string $ name ): void
3032 {
3133 $ board = $ this ->project ->board ($ name );
@@ -51,6 +53,7 @@ public function stop(string $name): void
5153 $ this ->run (['docker ' , 'compose ' , '-f ' , $ this ->project ->composePath ($ name ), 'stop ' ]);
5254 }
5355
56+ /** Removes Docker resources before deleting all persisted board state. */
5457 public function destroy (string $ name ): void
5558 {
5659 $ this ->project ->board ($ name );
@@ -83,6 +86,7 @@ private function removeContainers(string $name, bool $removeImage): void
8386 }
8487 }
8588
89+ /** Returns missing, stopped, partial, running, or error. */
8690 public function status (string $ name ): string
8791 {
8892 $ compose = $ this ->project ->composePath ($ name );
@@ -159,6 +163,7 @@ protected function seedIfNeeded(string $name, string $preset): void
159163 return ;
160164 }
161165
166+ // The host marker makes automatic population idempotent across restarts.
162167 $ marker = $ this ->seedMarker ($ name , $ preset );
163168 if (file_exists ($ marker ))
164169 {
0 commit comments