How amanprojects-ops/phpstart works
PHPStart is a command-line project scaffolder. The main workflow parses a user command, dispatches it, selects a project-type scaffolder, and generates a project from stub files. The graph also includes the documented project-type catalog, version command, installer and backup-panel templates, and Laravel setup. Sampled source confirms core/API generation and shared template-writing behavior; MVC/Laravel implementation details and some command wiring are represented only at the documented or directory level.
Main entry points: NewCommand.php New project · Application.php Command router · BaseScaffolder.php Scaffold helpers · Output.php Console output
Components 21
CLI commands
- CLI entry
bin/phpstart - Argument parser
src/Console/Input.php - Command router
src/Application.php - New project
src/Commands/NewCommand.php - Type catalog
src/Commands/ListCommand.php - Help command
src/Commands/HelpCommand.php - Version command
src/Commands/VersionCommand.php - Console output
src/Console/Output.php
Project generation
- Core scaffolder
src/Scaffolders/CorePhpScaffolder.php - MVC scaffolder
src/Scaffolders/MvcScaffolder.php - API scaffolder
src/Scaffolders/ApiScaffolder.php - Laravel setup
src/Scaffolders/LaravelScaffolder.php - Scaffold helpers
src/Scaffolders/BaseScaffolder.php - Generated project
Project templates
- Core templates
stubs/core - API templates
stubs/api - MVC templates
stubs/mvc - Installer and backup
stubs/common
Other components
- CLI user
- Composer service
- Version metadata
composer.json
Connections 28
- CLI user → CLI entry: runs command
- CLI entry → Command router: starts
- Command router → Argument parser: reads arguments
- Command router → New project: dispatches
- Command router → Type catalog: dispatches
- Command router → Help command: dispatches
- Command router → Version command: dispatches
- New project → Argument parser: reads options
- New project → Core scaffolder: selects core
- New project → MVC scaffolder: selects MVC
- New project → API scaffolder: selects API
- New project → Laravel setup: selects Laravel
- New project → Console output: reports progress
- Core scaffolder → Scaffold helpers: uses helpers
- API scaffolder → Scaffold helpers: uses helpers
- Scaffold helpers → Core templates: loads templates
- Scaffold helpers → API templates: loads templates
- Scaffold helpers → MVC templates: loads templates
- Scaffold helpers → Installer and backup: loads templates
- Core scaffolder → Generated project: generates
- MVC scaffolder → Generated project: generates
- API scaffolder → Generated project: generates
- Laravel setup → Generated project: sets up
- Laravel setup → Composer service: runs setup
- Version command → Version metadata: updates metadata
- Version command → Console output: prints version
- Type catalog → Console output: prints types
- Help command → Console output: prints help