Klue Langcraft
Domain Specific Language Crafting
Installation
Add this line to your application's Gemfile:
gem 'klue-langcraft'
And then execute:
bundle install
Or install it yourself as:
gem install klue-langcraft
Stories
Main Story
As a DSL designer, I want to testing out Domain Specific Language designs for different usecases, so that I can develop DSLs quickly and effectively
See project plan
Use Cases
Development
Checkout the repo
git clone https://github.com/appydave/klue-langcraft
After checking out the repo, run bin/setup
to install dependencies. Then, run rake spec
to run the tests.
You can also run bin/console
for an interactive prompt that will allow you to experiment.
bin/console
klue-langcraft
is setup with Guard, run guard
, this will watch development file changes and run tests automatically, if successful, it will then run rubocop for style quality.
To release a new version, update the version number in version.rb
, build the gem and push the .gem
file to rubygems.org.
rake publish
rake clean
Git helpers used by this project
Add the follow helpers to your alias
file
function kcommit()
{
echo 'git add .'
git add .
echo "git commit -m "$1""
git commit -m "$1"
echo 'git pull'
git pull
echo 'git push'
git push
sleep 3
run_id="$(gh run list --limit 1 | grep -Eo "[0-9]{9,11}")"
gh run watch $run_id --exit-status && echo "run completed and successful" && git pull && git tag | sort -V | tail -1
}
function kchore () { kcommit "chore: $1" }
function kdocs () { kcommit "docs: $1" }
function kfix () { kcommit "fix: $1" }
function kfeat () { kcommit "feat: $1" }
function ktest () { kcommit "test: $1" }
function krefactor () { kcommit "refactor: $1" }
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/klueless-io/klue-langcraft. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.
License
The gem is available as open source under the terms of the MIT License.
Code of Conduct
Everyone interacting in the Klue Langcraft project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.
Copyright
Copyright (c) David Cruwys. See MIT License for further details.