Every time I use init to generate a new project, I manually remove LICENSE
and .travis.yml
. It would be nice if you could ignore them by modifying the crystal’s configuration file. But now crystal seems to be unable to configure.
I agree, but there is no crytal configuration file…
Maybe it could only generate the bare minimum (no ci / license / etc…) with crystal init
and have some flags like --add-license
or --add-ci
(with interactivity to select circleci &/ travis &/ other…).
The minimal crystal init
would have a message at the end to tell the user what to do if he wants a licence / ci scripts / etc
Crystal is doing good work for newbies - I wouldn’t consider adding CI, or MIT license, or Readme, or specs to my projects if Crystal didn’t add them by default.
So i think default behaviour should stay the same.
Maybe env vars, like CRYSTAL_INIT_CONFIG="–no-license" could be marginally useful, but i think manually deleting two files isn’t much harder.
It seems weird that init would generate a travis ci since it is a specific vendor. I guess there is no generic ci file that could be generated.
crystal init
is a really basic tool. It’s meant to be a good place to start for newcomers, so it adds a few obviously opinionated features which should help to get you started.
I don’t think it should be made more complex by allowing to much customization. Experienced developers would have very specific expectations for this tool anyway. I think they’re best met by a completely custom init script, which is simple enough to set up.