Rails like command line for kemalyst
You can build the kgen
tool from source:
$ git clone git@github.com:kemalyst/kemalyst-generator.git
$ cd kemalyst-generator/
$ shards install
$ make
You should now have a bin/kgen file to run.
You can symlink this to a more global location like /usr/local/bin to make it easier to use:
$ ln -sf $(pwd)/bin/kgen /usr/local/bin/kgen
Optionally, you can use homebrew to install.
$ brew tap kemalyst/kgen
$ brew install kgen
$ ./bin/kgen --help
kgen [OPTIONS] SUBCOMMAND
Kemalyst Generator
Subcommands:
c alias for console
console
g alias for generate
generate
i alias for init
init
m alias for migrate
migrate
w alias for watch
watch
Options:
-h, --help show this help
-v, --version show version
kgen init app [your_app] -d [pg | mysql | sqlite] -t [slang | ecr] --deps
cd [your_app]
options: -d
defaults to pg. -t
defaults to slang. --deps
will run crystal deps
for you.
This will generate a traditional web application:
Generate scaffolding for a resource:
kgen generate scaffold Post name:string body:text draft:bool
This will generate scaffolding for a Post:
To test the demo app locally:
[your_app]_development
config/database.yml
export DATABASE_URL=postgres://[username]:[password]@localhost:5432/[your_app]_development
which overrides the config/database.yml
.kgen migrate up
. You should see output like Migrating db, current version: 0, target: [datetimestamp] OK [datetimestamp]_create_shop.sql
crystal spec
kgen watch
http://0.0.0.0:3000/
Note: The kgen watch
command uses Sentry to watch for any changes in your source files, recompiling automatically.
If you don't want to use Sentry, you can compile and run manually:
crystal build --release src/[your_app].cr
./[your_app]
http://0.0.0.0:3000/
See opened issues.