{"id":22282628,"url":"https://github.com/carbonfive/glossy-bot","last_synced_at":"2025-07-22T19:35:48.104Z","repository":{"id":66259827,"uuid":"280548334","full_name":"carbonfive/glossy-bot","owner":"carbonfive","description":"Your friendly neighborhood glossary bot","archived":false,"fork":false,"pushed_at":"2020-08-24T23:40:39.000Z","size":179,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-03-25T19:51:22.950Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/carbonfive.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-07-18T00:04:28.000Z","updated_at":"2020-07-24T21:40:53.000Z","dependencies_parsed_at":"2023-02-23T09:45:19.791Z","dependency_job_id":null,"html_url":"https://github.com/carbonfive/glossy-bot","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/carbonfive/glossy-bot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/carbonfive%2Fglossy-bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/carbonfive%2Fglossy-bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/carbonfive%2Fglossy-bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/carbonfive%2Fglossy-bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/carbonfive","download_url":"https://codeload.github.com/carbonfive/glossy-bot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/carbonfive%2Fglossy-bot/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266561524,"owners_count":23948632,"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","status":"online","status_checked_at":"2025-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"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":[],"created_at":"2024-12-03T16:34:04.687Z","updated_at":"2025-07-22T19:35:48.071Z","avatar_url":"https://github.com/carbonfive.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GlossyBot\n\n...\n\nGenerated with [Raygun](https://github.com/carbonfive/raygun).\n\n# Development\n\n## Getting Started\n\n### Requirements\n\nTo run the specs or fire up the server, be sure you have these installed (and running):\n\n* Ruby 2.6 (see [.ruby-version](.ruby-version)).\n* PostgreSQL 11.2+ (`brew install postgresql`).\n* Heroku CLI (`brew install heroku`).\n\n### First Time Setup\n\n#### `bin/setup`\n\nAfter cloning, run [./bin/setup](bin/setup) to install missing gems and prepare the database.\n\nNote, `rake db:sample_data` (run as part of setup) loads a small set of data for development. Check out\n[db/sample_data.rb](db/sample_data.rb) for details.\n\n#### `.env`\n\nThe `bin/setup` script will create a `.env` file that defines settings for your local environment. Do not check this into source control. Refer to the [environment variables](#environment-variables) section below for what can be specified in `.env`.\n\n### Running the Specs\n\nTo run all Ruby and Javascript specs.\n\n    $ ./bin/rake\n\nNote: `./bin/rake` runs the springified version of rake (there's a `./bin/rspec` and `./bin/rails` too). You can add\n`./bin` to your PATH too, then you'll always use the springified bins when they exist. See\n[rails/spring](https://github.com/rails/spring) for additional information.\n\n### Running the Application Locally\n\nThe easiest way to run the app is using `yarn start`. This starts all the processes defined in `Procfile.dev`, including the Rails server and the webpack dev server.\n\n    $ yarn start\n\nThe app will then be accessible at \u003chttp://localhost:3000\u003e.\n\n### Webpack Dev Server\n\nBy default, webpacker will compile assets on demand. In other words, you don’t need to precompile all assets ahead of time — webpacker lazily compiles assets it has not served yet. However, you will need to manually reload your browser to see new changes when you edit an asset.\n\nAlternatively, for live code reloading, you can run `./bin/webpack-dev-server` in a separate terminal from `rails s`. This done for you automatically if you use `yarn start` to run the app. Asset requests are proxied to the dev server, and it will automatically refresh your browser when it detects changes to the pack.\n\nIf you stop the dev server, Rails automatically reverts back to on-demand compilation.\n\n## Conventions\n\n### Git\n\n* Branch `development` is auto-deployed to acceptance.\n* Branch `main` is auto-deployed to production.\n* Create feature branches off of `development` using the naming convention\n  `(features|chores|bugs)/a-brief-description-######`, where ###### is the tracker id.\n* Rebase your feature branch before merging into `development` to produce clean/compact merge bubbles.\n* Always retain merge commits when merging into `development` (e.g. `git merge --no-ff branchname`).\n* Use `git merge development` (fast-forward, no merge commit) from `main`.\n* Craft atomic commits that make sense on their own and can be easily cherry-picked or reverted if necessary.\n\n### Code Style\n\nRubocop is configured to enforce the style guide for this project.\n\n## Additional/Optional Development Details\n\n### Code Coverage (local)\n\nCoverage for the ruby specs:\n\n    $ COVERAGE=true rspec\n\nCode coverage is reported to Code Climate on every CI build so there's a record of trending.\n\n### Using Guard\n\nRun `guard` to automatically listen for file changes and run the appropriate specs:\n\n    $ bundle exec guard\n\n### Using Mailcatcher\n\n    $ gem install mailcatcher\n    $ mailcatcher\n    $ open http://localhost:1080/\n\nLearn more at [mailcatcher.me](http://mailcatcher.me/). And please don't add mailcatcher to the Gemfile.\n\n### Using ChromeDriver\n\nThe ChromeDriver version used in this project is maintained by the [webdrivers](https://github.com/titusfortner/webdrivers) gem.  This is means that the\nfeature specs are not running against the ChromeDriver installed previously on the machine, such as by Homebrew.\n\n### Headed vs headless Chrome\n\nSystem specs marked with `js: true` run using headless Chrome by default, in the interest of speed. When writing or troubleshooting specs, you may want to run the normal (i.e. \"headed\") version of Chrome so you can see what is being rendered and use the Chrome developer tools.\n\nTo do so, specify `HEADLESS=false` in your environment when running the specs. For example:\n\n    $ HEADLESS=false bin/rspec spec/system\n\n### Continuous Integration/Deployment with CircleCI and Heroku\n\nThis project is configured for continuous integration with CircleCI, see [.circleci/config.yml](.circleci/config.yml) for details.\n\nOn successful builds, Heroku will trigger a deployment via its\n[GitHub Integration](https://devcenter.heroku.com/articles/github-integration#automatic-deploys).\n\n# Server Environments\n\n### Hosting\n\nAcceptance and Production are hosted on Heroku under the _email@example.com_ account.\n\n### Environment Variables\n\nSeveral common features and operational parameters can be set using environment variables.\n\n**Required for deployment**\n\n* `DATABASE_URL` - URL of the PostgreSQL database; e.g. `postgres://user:password@host:port/database`\n* `NODE_ENV` - Set to `production` for all deployment environments\n* `RACK_ENV` - Set to `production` for all deployment environments\n* `RAILS_ENV` - Set to `production` for all deployment environments\n* `SECRET_KEY_BASE` - Secret key base for verifying signed cookies. Should be 30+ random characters and secret!\n\n**Optional**\n\n* `ASSET_HOST` - Load assets from this host (e.g. CDN) (default: none).\n* `BASIC_AUTH_PASSWORD` - Enable basic auth with this password.\n* `BASIC_AUTH_USER` - Set a basic auth username (not required, password enables basic auth).\n* `CANONICAL_HOSTNAME` - Canonical hostname for this application. Other incoming requests will be redirected to this hostname. Also used by mailers to generate full URLs.\n* `DB_POOL` - Number of DB connections per pool (i.e. per worker) (default: RAILS_MAX_THREADS or 5).\n* `FORCE_SSL` - Require SSL for all requests, redirecting if necessary (default: false).\n* `PORT` - Port to listen on (default: 3000).\n* `RACK_TIMEOUT_SERVICE_TIMEOUT` - Terminate requests that take longer than this time (default: 15s).\n* `RAILS_LOG_TO_STDOUT` - Log to standard out, good for Heroku (default: false).\n* `RAILS_MAX_THREADS` - Threads per worker (default: 5).\n* `RAILS_MIN_THREADS` - Threads per worker (default: 5).\n* `RAILS_SERVE_STATIC_FILES` - Serve static assets, good for Heroku (default: false).\n* `WEB_CONCURRENCY` - Number of puma workers to spawn (default: 1).\n\n### Third Party Services\n\n* Heroku for hosting.\n* CircleCI for continuous integration.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcarbonfive%2Fglossy-bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcarbonfive%2Fglossy-bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcarbonfive%2Fglossy-bot/lists"}