{"id":13747492,"url":"https://github.com/agilecreativity/gem_bootstrap","last_synced_at":"2025-05-09T08:33:23.360Z","repository":{"id":16834753,"uuid":"19594240","full_name":"agilecreativity/gem_bootstrap","owner":"agilecreativity","description":"Bootstrap the creation of ruby gem with sensible default so that we don't have to start from scratch.","archived":true,"fork":false,"pushed_at":"2017-12-31T02:12:35.000Z","size":73,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-02T22:48:40.745Z","etag":null,"topics":["bootstrap","command-line","generator","ruby","rubygems","starter-template","thor"],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"wojons/cloudflare-lb","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/agilecreativity.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-05-09T01:02:38.000Z","updated_at":"2023-01-28T06:56:33.000Z","dependencies_parsed_at":"2022-07-25T05:46:22.162Z","dependency_job_id":null,"html_url":"https://github.com/agilecreativity/gem_bootstrap","commit_stats":null,"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agilecreativity%2Fgem_bootstrap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agilecreativity%2Fgem_bootstrap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agilecreativity%2Fgem_bootstrap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agilecreativity%2Fgem_bootstrap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/agilecreativity","download_url":"https://codeload.github.com/agilecreativity/gem_bootstrap/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253217322,"owners_count":21873067,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bootstrap","command-line","generator","ruby","rubygems","starter-template","thor"],"created_at":"2024-08-03T06:01:31.037Z","updated_at":"2025-05-09T08:33:23.078Z","avatar_url":"https://github.com/agilecreativity.png","language":"Ruby","funding_links":[],"categories":["Ruby"],"sub_categories":[],"readme":"## gem_bootstrap\n\n[![Gem Version](https://badge.fury.io/rb/gem_bootstrap.svg)][gem]\n[![Dependency Status](https://gemnasium.com/agilecreativity/gem_bootstrap.png)][gemnasium]\n[![Code Climate](https://codeclimate.com/github/agilecreativity/gem_bootstrap.png)][codeclimate]\n\n[gem]: http://badge.fury.io/rb/gem_bootstrap)\n[gemnasium]: https://gemnasium.com/agilecreativity/gem_bootstrap\n[codeclimate]: https://codeclimate.com/github/agilecreativity/gem_bootstrap\n\nGenerate the starting template for creating ruby gem in ruby in just one command.\n\nFirst install the gem\n\n```sh\ngem install gem_bootstrap\n```\n\nthen generate the new gem\n\n```sh\ngem_bootstrap awesome_gem --github-id awesome_developer --email cool@awesomedev.com --author 'John Guru II'\n```\n\nor the short version\n\n```sh\ngem_bootstrap awesome_gem -g awesome_developer -e cool@awesomedev.com -a 'John Guru II'\n```\n\nrather use rspec instead of the default minitest\n\n```sh\ngem_bootstrap awesome_gem -g awesome_developer -e cool@awesomedev.com -a 'John Guru II' -t rspec\n```\n\nNote: this gem will be release following the [Semantic Versioning][] start from `0.1.0`\n\n### Features:\n\n- Test framework using [Minitest][] or [Rspec][]\n- Document with [Yard][]\n- Style check with [Rubocop][]\n- Debug with [Pry][]\n- TDD/BDD with [Guard][]\n- Initial git commit with [Grit] gem\n- Build on top of the most popular [Thor][] framework\n- Give you simple working structure that you can build upon but not dictate on\n  how you should do it\n- Templates files are customizable to suite your specific need\n\n### Requirements\n\n#### Mandatory\n\n- [Git][] the free and opensource distributed version control system.\n\n### Optional\n\n- Valid [Github][] account so that you can share your awesome gem with the community.\n\n### Installation\n\nInstall the ruby gem\n\n```sh\ngem install gem_bootstrap\n```\n\nThen just run the `gem_bootstrap` without any argument for list of help\n\n```\n# Usage/Synopsis:\ngem_bootstrap [GEM_NAME] -g, --github-id [GITHUB_ID] -e, --email [EMAIL] -a, --author [AUTHOR] --test-framework [FRAMEWORK]\n\n# Create a gem name 'awesome_gem' with minitest as a testing framework (default)\ngem_bootstrap awesome_gem -g awesome_developer -e cool@awesomedev.com -a 'John Guru II'\n\n# Create a gem name 'awesome_gem' with rspec as a testing framework\ngem_bootstrap awesome_gem -g awesome_developer -e cool@awesomedev.com -a 'John Guru II' -t rspec\n```\n\n### Basic Usage\n\n- For testing with [Minitest][] (default test framework)\n\n```\ngem_bootstrap awesome_gem --github-id awesome_developer --email cool@awesomedev.com --author 'John Guru II'\n```\n\nShould see the output like:\n\n```\ncreate  awesome_gem/README.md\ncreate  awesome_gem/CHANGELOG.md\ncreate  awesome_gem/.yardopts\ncreate  awesome_gem/.gitignore\ncreate  awesome_gem/Gemfile\ncreate  awesome_gem/.rubocop.yml\ncreate  awesome_gem/bin/awesome_gem\ncreate  awesome_gem/lib/awesome_gem.rb\ncreate  awesome_gem/lib/awesome_gem/version.rb\ncreate  awesome_gem/lib/awesome_gem/cli.rb\ncreate  awesome_gem/lib/awesome_gem/awesome_gem.rb\ncreate  awesome_gem/Rakefile\ncreate  awesome_gem/Guardfile\ncreate  awesome_gem/awesome_gem.gemspec\ncreate  awesome_gem/test/test_helper.rb\ncreate  awesome_gem/test/lib/awesome_gem/test_awesome_gem.rb\ncreate  awesome_gem/LICENSE\n```\n\n- For testing with [Rspec][]\n\n```\ngem_bootstrap awesome_gem --github-id awesome_developer --email cool@awesomedev.com --author 'John Guru II' --test-framework rspec\n```\n\nShould see the output like:\n\n```\ncreate  awesome_gem/README.md\ncreate  awesome_gem/CHANGELOG.md\ncreate  awesome_gem/.yardopts\ncreate  awesome_gem/.gitignore\ncreate  awesome_gem/Gemfile\ncreate  awesome_gem/.rubocop.yml\ncreate  awesome_gem/bin/awesome_gem\ncreate  awesome_gem/lib/awesome_gem.rb\ncreate  awesome_gem/lib/awesome_gem/version.rb\ncreate  awesome_gem/lib/awesome_gem/cli.rb\ncreate  awesome_gem/lib/awesome_gem/awesome_gem.rb\ncreate  awesome_gem/Rakefile\ncreate  awesome_gem/Guardfile\ncreate  awesome_gem/awesome_gem.gemspec\ncreate  awesome_gem/spec/spec_helper.rb\ncreate  awesome_gem/spec/lib/awesome_gem/awesome_gem_spec.rb\ncreate  awesome_gem/LICENSE\n```\n\n```sh\n# Change directory to the generated gem\ncd awesome_gem\n\n# Build the gem\nbundle\n\n# Run the default rake task (minitest and rubocop)\nrake\n\n# Install the gem to your local system\nrake install\n\n# You should have the basic command line that you can run like\nawesome_gem\n```\n\n- Now you are ready to add your own logic/implementation in `./awesome_gem/lib/awesome_gem.rb`\n\n### Contributing\n\n1. Fork it\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Commit your changes (`git commit -am 'Add some feature'`)\n4. Push to the branch (`git push origin my-new-feature`)\n5. Create new Pull Request\n\n[Git]: http://git-scm.com/\n[github]: https://github.com/\n[Grit]: https://github.com/mojombo/grit\n[Minitest]: https://github.com/seattlerb/minitest\n[Rspec]: https://github.com/rspec/rspec\n[Thor]: https://github.com/erikhuda/thor\n[Yard]: https://github.com/lsegal/yard\n[Rubocop]: https://github.com/bbatsov/rubocop\n[Pry]: https://github.com/pry/pry\n[Guard]: https://github.com/guard/guard\n[Semantic Versioning]: http://semver.org\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagilecreativity%2Fgem_bootstrap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fagilecreativity%2Fgem_bootstrap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagilecreativity%2Fgem_bootstrap/lists"}