lsbproject / phpxc
PHPXC. CLI to manage PHP project creation 📦
v1.1.0
2021-08-06 21:26 UTC
Requires
- php: ^8
- ext-posix: *
- ext-yaml: *
- czproject/git-php: ^4.0
- jetbrains/phpstorm-attributes: ^1.0
- mcstreetguy/composer-parser: v1.1.0
- php-school/cli-menu: ^4.1
- symfony/config: ^5.3
- symfony/console: ^v5.3
- symfony/dependency-injection: ^5.3
- symfony/yaml: ^5.3
- twig/twig: ^3.0
Requires (Dev)
- roave/security-advisories: dev-latest
This package is auto-updated.
Last update: 2024-10-30 01:59:23 UTC
README
CLI to manage PHP project creation 📦
There are a lot of tools nowadays to setup your very first project such as configuring linters, static analyzers, testing, preparing composer configuration, CI, CD, containerization...
PHPXC is a CLI that helps you manage all that stuff.
Highly inspired of TSDX
Why not just create a template on GitHub?
- You need to keep up to date your dependencies
- You will probably need to remove some tools you are not needed for a specific project
- You will create a plenty of repositories to cover basic use-cases
What you can do with a PHPXC?
- Create a specific project which meets your needs
- Create custom template, reuse it and share
- Automate creation with a commands and cover with validations
- Be up to date with the latest version and get most actual and hype technologies without any effort
Requirements
- PHP 8.0 + yarn extension
Installation
composer global require lsbproject/phpxc
or use docker
docker run -v "$PWD":/home/phpxc -it 22116/phpxc
Usage
There is a main command create
to build a template. (Also there are several
developing helper commands which this documentation will not cover)
phpxc create <project-path>
This will trigger default standard
template to be asked. You can also change this behaviour
specifying template option:
phpxc create -t <template-path/saved-template-name/repository-url> <project-path>
Pass all questions and chill.
ToDo
- Improve
standard
template with a more options - Make
standard
template review. Probably it should be split with several templates (cli / web / library / microservice...), because of anarchy in the code right now - Add more templates
- (Might not be) Consider to make template inheritance