lucky_cli
lucky_cli copied to clipboard
A Crystal command-line tool for generating new Lucky Web Applications.
Lucky CLI
This is the CLI utility used for generating new Lucky Framework Web applications.
If you're looking for the Lucky core shard, you'll find that at https://github.com/luckyframework/lucky
Installing the CLI
To install the Lucky CLI, read Installing Lucky guides for your Operating System.
Development
Building the CLI
NOTE: this should be used for working on the CLI and submitting PRs.
- Install Crystal first.
- Clone the repo
git clone https://github.com/luckyframework/lucky_cli - Go to the repo directory
cd lucky_cli - Run the setup
./script/setup - Run
crystal build src/lucky.cr -o /usr/local/bin/lucky(instead of/usr/local/bin/destination you can choose any other directory that in$PATH)
Run which lucky from the command line to make sure it is installed.
If you're generating a Lucky web project, install the required dependencies. Then run lucky init
API Documentation
Contributing
- Fork it ( https://github.com/luckyframework/lucky_cli/fork )
- Create your feature branch (git checkout -b my-new-feature)
- Commit your changes (git commit -am 'Add some feature')
- Push to the branch (git push origin my-new-feature)
- Check that specs on GitHub Actions CI pass
- Create a new Pull Request
Testing Deployment to Heroku
Testing deployment to Heroku is skipped locally by default. The easiest way to run the deployment tests is to push up a branch and open a PR. This will run tests against Heroku to make sure deployment is working as expected.
If you want though, you can also test deployment locally:
- Sign up for a Heroku account and install the CLI.
- Run
heroku authorizations:create --description="Lucky CLI Integration Tests". - Grab the token from that command and put it in the generated
.envfile. - Change
RUN_HEROKU_SPECSfrom0to1in the.envfile. - Run
script/setupto make sure all dependencies are installed. - Run
script/testto test everything, or runscript/test specs/integration/deploy_to_heroku_spec.cr
Contributors
- paulcsmith Paul Smith - creator, maintainer