{"id":14969834,"url":"https://github.com/magrathealabs/mecha","last_synced_at":"2026-03-01T02:32:05.135Z","repository":{"id":56883144,"uuid":"82506057","full_name":"magrathealabs/mecha","owner":"magrathealabs","description":"Generate a Rails app using MLabs defaults","archived":false,"fork":false,"pushed_at":"2019-08-17T20:25:42.000Z","size":89,"stargazers_count":25,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-12-04T11:25:26.857Z","etag":null,"topics":["ruby","ruby-cli","ruby-on-rails","rubygem"],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/magrathealabs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null}},"created_at":"2017-02-20T02:00:31.000Z","updated_at":"2024-05-25T21:23:49.000Z","dependencies_parsed_at":"2022-08-20T23:10:55.492Z","dependency_job_id":null,"html_url":"https://github.com/magrathealabs/mecha","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/magrathealabs/mecha","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/magrathealabs%2Fmecha","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/magrathealabs%2Fmecha/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/magrathealabs%2Fmecha/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/magrathealabs%2Fmecha/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/magrathealabs","download_url":"https://codeload.github.com/magrathealabs/mecha/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/magrathealabs%2Fmecha/sbom","scorecard":{"id":612162,"data":{"date":"2025-08-11","repo":{"name":"github.com/magrathealabs/mecha","commit":"050789dfcc76cd31e036c7593a4872831be1feac"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.4,"checks":[{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Code-Review","score":3,"reason":"Found 10/29 approved changesets -- score normalized to 3","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 12 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-21T02:55:06.617Z","repository_id":56883144,"created_at":"2025-08-21T02:55:06.617Z","updated_at":"2025-08-21T02:55:06.617Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29959055,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-01T01:47:18.291Z","status":"online","status_checked_at":"2026-03-01T02:00:07.437Z","response_time":124,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["ruby","ruby-cli","ruby-on-rails","rubygem"],"created_at":"2024-09-24T13:42:28.115Z","updated_at":"2026-03-01T02:32:05.092Z","avatar_url":"https://github.com/magrathealabs.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Mecha\n\n[![Gem Version](https://badge.fury.io/rb/mecha.svg)](https://badge.fury.io/rb/mecha)\n[![Build Status](https://travis-ci.org/magrathealabs/mecha.svg?branch=master)](https://travis-ci.org/magrathealabs/mecha)\n[![Code Climate](https://codeclimate.com/github/magrathealabs/mecha/badges/gpa.svg)](https://codeclimate.com/github/magrathealabs/mecha)\n[![Test Coverage](https://codeclimate.com/github/magrathealabs/mecha/badges/coverage.svg)](https://codeclimate.com/github/magrathealabs/mecha/coverage)\n\nMecha generates Rails apps with the defaults used in Magrathea Labs projects.\n\n## Installation\n\nInstall the mecha gem:\n\n```bash\ngem install mecha\n```\n\n## Usage\n\n```bash\nmecha \u003cprojectname\u003e --devise --bitbucket-pipelines --sentry\n```\n\nThis will create a Rails app with name `\u003cprojectname\u003e` and add all our defaults. It configures the app to use sass, remove Turbolinks and CoffeeScript, configure Guard, Rubocop and Simplecov. Also, installs Factory Girl, Faker, Timecop, Capybara, Poltergeist, Database Rewinder.\n\n### Available Generators\n\n**Danger**\n\n`--danger` installs and add config for [Danger](http://danger.systems/ruby/). If SimpleCov is installed `danger-simplecov_json` gem is also installed.\n\n**Devise**\n\n`--devise` installs Devise, generates `User`, i18n files and the internationalized views for English and Brazilian Portuguese.\n\n**Bitbucket Pipelines**\n\n`--bitbucket-pipelines` generates the `bitbucket-pipelines.yml` and a special database config for it.\n\n**Pronto**\n\n`--pronto` installs and add config for [Pronto](https://github.com/prontolabs/pronto). If SimpleCov is installed `pronto-simplecov` gem is also installed.\n\n**RSpec**\n\n`--rspec` installs RSpec and adds configs for tests.\n\n**Sentry**\n\n`--sentry` installs Sentry and adds configs to `application.rb` and `application_controller.rb`. Remember to create an environment\nvariable with you DSN key. `ENV['DNS']`.\n\n**Simplecov**\n\n`--simplecov` installs Simplecov and adds configs to `test/test_helper.rb`.\n\n## Development\n\nRun `rake test` or simply just `rake` to run tests.\n\nTo install Mecha in your local environment run:\n\n```bash\nrake install\n```\n\n## Contributing\n\nBug reports and pull requests are welcome on [GitHub](https://github.com/magrathealabs/mecha/issues). This project is\nintended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the\n[Contributor Covenant](http://contributor-covenant.org) code of conduct.\n\n\n## License\n\nThe gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).\n\n## Thanks\n\nThis project is based on [suspenders](https://github.com/thoughtbot/suspenders) from thoughtbot.\n\n## About Magrathea Labs\n\nMecha is maintained by Magrathea Labs. The names and logos for Magrathea Labs are trademarks of Magrathea Labs.\n\nMagrathea Labs is a team of specialists in Software Engineering, Distributed Systems, Artificial Intelligence and\nData Science. We love to solve challenging problems and build amazing things. Want to do something amazing with us?\nWe are available for [hire](mailto:contact@magrathealabs.com).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmagrathealabs%2Fmecha","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmagrathealabs%2Fmecha","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmagrathealabs%2Fmecha/lists"}