- ๐ญ Iโm currently working on ProjectCLI
- ๐ฏ Iโm looking to collaborate on interesting PHP projects
Environment management in your terminal
License: MIT License
Format %y
is not a valid format anymore.
stat: illegal option -- c
usage: stat [-FlLnqrsx] [-f format] [-t timefmt] [file ...]
jq: error: syntax error, unexpected $end (Unix shell quoting issues?) at <top-level>, line 1:
.updated_at =
jq: 1 compile error
An install script can be defined as
project compose exec db sh -c 'echo \"$MYSQL_ROOT_PASSWORD\"'
and becomes
docker-compose -f docker-compose.local.yml exec db sh -c echo "$MYSQL_ROOT_PASSWORD"
Only systems - everything else should be added by scripts.
Load variables from ./.env
and use them for commands / tasks in pro-cli.json
.
project xdebug enable
project xdebug disable
project xdebug status
{
"require": [
"chriha/pro-cli-laravel",
"https://github.com/chriha/pro-cli-share.git"
]
}
If the require
property is defined, pro-cli should check if the according plugin is installed. If not, ask to install it. This operation should be remembered and not performed again. Further more, project require
should install all plugins that are needed for the current project.
pro-cli should provide an ability to show notifications.
... and allow update of the project instead of its structure.
How about a project deploy
command, which is like the project install
and executes multiple commands.
project plugin search magento
Would output something like:
- pro-cli-magento: Initialise new Magento projects within seconds and add Magento commands for easy usage
project plugin info pro-cli-magento
Would output something like:
Name: pro-cli-magento
Description: Initialise new Magento projects within seconds and add Magento commands for easy usage
Version: 1.x.x
Repository: https://github.com/chriha/pro-cli-magento
Install via:
project plugin install chriha/pro-cli-magento
Sometimes setup script fails adding / updating the PATH variable in bash profile.
Before starting Containers:
Hey dude,
I get parse error on project up
in version v0.9.6-beta
parse error: Expected another key-value pair at line 16, column 3
Greez!!
With option -v
for verbose output.
If install command available in config, ask to run installation after cloning the project via project clone REPO_URL
Don't use external repos, instead add environment
dir where all environments are stored and copied from.
Check if the according web service is already running, then use exec as it's faster, otherwise keep using run.
Show hints from time to time like:
You can list available plugins via
project plugins show -a
You can disable hints via
project config hints disabled
Install a new plugin via
project plugins install PATH_TO_GIT_REPO
etc. Of course it should be possible to disable them (see hint above). Show hints every 30 minutes. Display a hint for 5 seconds, remove it again and go on with the command that was supposed to be executed. List a random hint via project hints -r
, list all via project hints
The src/.env
has to exist for Docker, when it's starting the container. On the other hand, projects can not directly be created via composer inside of a non-empty directory.
Workaround:
# create project in sub-directory
project composer create-project PROJECT YOUR_FOLDER
# and move everything in the upper dir
mv src/YOUR_FOLDER/{.,}* src && rm -rf src/YOUR_FOLDER
Add project top
to provide display of running processes for all or by specific services.
pro-cli.json
configuration:
{
"builds": {
"stage": {
"path": "Test-Project/job/Stage",
"params": {
"branch": "develop"
}
},
"production": {
"confirm": true,
"path": "Test-Project/job/Production",
"params": {
"branch": "master"
}
}
}
}
Builds that have the confirm
option, will show a prompt where the user has to confirm the build.
Jenkins configuration need to be set globally:
project config -g jenkins.url "http://JENKINS"
project config -g jenkins.user USER
project config -g jenkins.token TOKEN
To run the builds:
project build stage [--branch=develop --delay=0sec]
project status stage
Parameters used in the build command will overwrite existing parameters from pro-cli.json
.
Add ability to define the specific services in pro-cli.json
:
{
"services": {
"web": "backend",
"node": "npm"
}
}
They still need to be updated in the docker-compose.local.yml
though:
services:
backend:
...
npm:
...
Docker runs as root on Linux, that means everything created by Docker has the owner and group root
. So, a Docker-created temp
directory makes it impossible to write in it while inside of a container, as the user inside the container is the host-user (!= root). Let pro-cli check for the right owner:group of temp
, fix it if possible or print a warning.
Hey,
would be nice to implement the ability to add a description to custom command scripts in pro-cli.json
Like so:
"scripts": {
"clean": {
"command": "project composer clear-cache && project artisan optimize",
"description": "Clean up the project"
}
}
If you type project
you can display description there for custom commands.
Greez
and ask for installation, if not met.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.