Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pmjones/AutoShell
https://github.com/pmjones/AutoShell
Last synced: 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/pmjones/AutoShell
- Owner: pmjones
- License: mit
- Created: 2022-11-08T21:26:29.000Z (about 2 years ago)
- Default Branch: 1.x
- Last Pushed: 2023-09-27T20:38:29.000Z (over 1 year ago)
- Last Synced: 2024-10-28T11:41:28.097Z (3 months ago)
- Language: PHP
- Size: 143 KB
- Stars: 49
- Watchers: 3
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README-SYMFONY.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
Awesome Lists containing this project
- awesome-resources - AutoShell - A shell without further dependencies. I/O not included (use something like CLImate). (Libraries / Libraries)
- awesome-resources - AutoShell - A shell without further dependencies. I/O not included (use something like CLImate). (PHP / PHP Libraries)
- awesome-resources - AutoShell - A shell without further dependencies. I/O not included (use something like CLImate). (PHP / PHP Libraries)
README
# Comparison to Symfony Console
Much of the difference from Symfony Console relates to what AutoShell
does *not* do.## Pro
- Automatically discovers command classes by matching the command line
input to a namespace hierarchy.- Does not require you to register commands via an _Application_.
- Does not require you to extend a _Command_ class.
- Arguments are defined as parameters on the command `__invoke()` method.
- All help is defined via attributes.
- Does not instantiate the command just to generate help output.
- Options are composable.
## Con
- Does not offer console completion.
- Does not support registering "inline" commands via _Application_.
## ???
- Help looks like a `man` page (black and white, bold, underline, dim).
- Options are defined as properties with attributes in a class separate from
the command.- Does not come with I/O classes; use your own in your own commands, whether a
echo/printf, a logger, or a complex I/O system like CLImate.