{"id":13878192,"url":"https://github.com/alxlion/eyeloupe","last_synced_at":"2025-07-16T14:31:43.303Z","repository":{"id":172298370,"uuid":"643529920","full_name":"alxlion/eyeloupe","owner":"alxlion","description":"The elegant Rails debug assistant. AI powered.","archived":false,"fork":false,"pushed_at":"2024-06-23T08:53:05.000Z","size":2009,"stargazers_count":197,"open_issues_count":1,"forks_count":3,"subscribers_count":7,"default_branch":"main","last_synced_at":"2024-10-29T02:09:11.873Z","etag":null,"topics":["ai","ai-assisted-development","debug","debugging","debugging-tool","monitoring","openai","rails","ruby","telescope"],"latest_commit_sha":null,"homepage":"","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/alxlion.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"MIT-LICENSE","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":"2023-05-21T13:09:10.000Z","updated_at":"2024-08-17T03:52:06.000Z","dependencies_parsed_at":"2023-10-16T08:20:43.357Z","dependency_job_id":"5ebca5c8-77fd-4487-8fa1-a3ec9eaca746","html_url":"https://github.com/alxlion/eyeloupe","commit_stats":null,"previous_names":["alxlion/eyeloupe"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alxlion%2Feyeloupe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alxlion%2Feyeloupe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alxlion%2Feyeloupe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alxlion%2Feyeloupe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alxlion","download_url":"https://codeload.github.com/alxlion/eyeloupe/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":226138849,"owners_count":17579496,"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":["ai","ai-assisted-development","debug","debugging","debugging-tool","monitoring","openai","rails","ruby","telescope"],"created_at":"2024-08-06T08:01:42.357Z","updated_at":"2024-11-24T07:30:50.906Z","avatar_url":"https://github.com/alxlion.png","language":"Ruby","funding_links":[],"categories":["Ruby"],"sub_categories":[],"readme":"## Project no longer under active development - Looking for new contributors\n\n[![Gem Version](https://badge.fury.io/rb/eyeloupe.svg)](https://badge.fury.io/rb/eyeloupe)\n\n[![Contributors][contributors-shield]][contributors-url]\n[![Forks][forks-shield]][forks-url]\n[![Stargazers][stars-shield]][stars-url]\n[![Issues][issues-shield]][issues-url]\n[![MIT License][license-shield]][license-url]\n\n\u003cbr /\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://github.com/alxlion/eyeloupe\"\u003e\n    \u003cimg src=\"app/assets/images/eyeloupe/logo.png\" width=120 alt=\"Logo\" \u003e\n  \u003c/a\u003e\n\n\u003ch3 align=\"center\"\u003eEyeloupe\u003c/h3\u003e\n\n  \u003cp align=\"center\"\u003e\n    The elegant Rails debug assistant. AI powered.\n    \u003cbr /\u003e\n    \u003ca href=\"https://github.com/alxlion/eyeloupe/issues\"\u003eReport Bug\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/alxlion/eyeloupe/issues\"\u003eRequest Feature\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n[![Eyeloupe screenshot][eyeloupe-screen]](https://github.com/alxlion/eyeloupe)\n\nEyeloupe is the elegant Rails debug assistant. It helps you to debug your Rails application by providing a simple and elegant interface to view your incoming/outgoing requests and exceptions, powered by AI.\n\n## Installation\nAdd this line to your application's Gemfile:\n\n```ruby\ngem \"eyeloupe\"\n```\n\nAnd then execute:\n```bash\n$ bundle\n```\n\nInstall Eyeloupe migrations into your project:\n```bash\n$ rails eyeloupe:install:migrations\n```\n\nAnd run the migrations:\n```bash\n$ rails db:migrate\n```\n\nTo access Eyeloupe dashboard you need to add the following route to your `config/routes.rb` file:\n```ruby\nmount Eyeloupe::Engine =\u003e \"/eyeloupe\"\n```\n\n## Configuration\n\nThis is an example of the configuration you can add to your `initializers/eyeloupe.rb` file:\n\n```ruby\nEyeloupe.configure do |config|\n  config.excluded_paths = %w[assets favicon.ico service-worker.js manifest.json]\n  config.capture = Rails.env.development?\n  config.openai_access_key = \"your-openai-access-key\"\n  config.openai_model = \"gpt-4\"\n  config.database = 'eyeloupe'\nend\n```\n\n- `excluded_paths` is an array of paths you want to exclude from Eyeloupe capture. Eyeloupe adds these excluded paths to the default ones: ` %w[mini-profiler eyeloupe active_storage]`\n- `capture` is a boolean to enable/disable Eyeloupe capture. By default, it's set to `true`.\n- `openai_access_key` is the access key to use the OpenAI API. You can get one [here](https://platform.openai.com/).\n- `openai_model` is the model to use for the OpenAI API. You can find the list of available models [here](https://platform.openai.com/docs/models).\n- `database` is an optional database config Eyeloupe will use ([Database](#database)).\n\n\n### Database\n\nBy default, Eyeloupe uses the same database as your application. If you want to use a different database to keep your production environment clean, you can add a new database config in your `config/database.yml` file:\n\n```yml\ndevelopment:\n  primary:\n    \u003c\u003c: *default\n    database: db/development.sqlite3\n  eyeloupe:\n    \u003c\u003c: *default\n    database: db/eyeloupe.sqlite3\n    migrations_paths: \u003c%= Gem.loaded_specs['eyeloupe'].full_gem_path + '/db/migrate' %\u003e\n    schema_dump: false\n```\n\nUsing this you can skip the `eyeloupe:install:migrations` step, but do not forget to run `rails db:migrate RAILS_ENV=eyeloupe` to setup the database.\n\n### Exception handling\n\nTo be able to handle exceptions, be sure to disable the default Rails exception handling in your environment config file (e.g. `config/environments/development.rb`):\n\n```ruby\nconfig.consider_all_requests_local = false\n```\n\n## Usage\n\nEyeloupe is exclusively developed for the Rails framework.\n\nYou can use it in your development environment to debug your application but it's not recommended to use it in production.\n\n### Auto-refresh\n\nBy activating auto-fresh, every _3 seconds_ the page will be refreshed to show you the latest data.\n\n### Delete all data\n\nYou can delete all the data stored by Eyeloupe by clicking on the trash button.\n\n### AI Assistant\n\nWhen you define an OpenAI access key in the configuration, you could see a new section in the exception details page. This section is powered by the OpenAI API and it's able to give you a solution to solve your exception.\nIt sends the entire content of the file containing the exception to have the best answer to your problem.\n\n![Eyeloupe ai_assistant](/doc/img/ai-assistant.gif)\n\n## Upgrade\n\nWhen your upgrade Eyeloupe to the latest version, be sure to run the following commands:\n\n```bash\n$ rails eyeloupe:install:migrations\n$ rails db:migrate\n```\n\n## Q/A\n\n### Why the request time is not the same on rack-mini-profiler ?\n\nEyeloupe is not a performance-oriented tool, the request time is the same you can view in the Rails log. If you want more details about your load time, you can use rack-mini-profiler along with Eyeloupe.\n\n### Is this the Laravel Telescope for Rails ?\n\nYes, Eyeloupe is inspired by Laravel Telescope. A lot of people coming from Laravel are missing Telescope or looking for something similar, so Eyeloupe is here to fill this gap.\n\n## Contributing\nContributions are what makes the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.\n\nIf you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag \"enhancement\".\nDon't forget to give the project a star! Thanks again!\n\n1. Fork the Project\n2. Create your Feature Branch (`git checkout -b feature/amazing_feature`)\n3. Commit your Changes (`git commit -m 'Add some amazing feature'`)\n4. Push to the Branch (`git push origin feature/amazing_feature`)\n5. Open a Pull Request\n\n## License\nThe gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).\n\n## Contact\n\n[![](https://img.shields.io/badge/@alxlion__-000000?style=for-the-badge\u0026logo=x\u0026logoColor=white)](https://x.com/alxlion_)\n\nProject Link: [https://github.com/alxlion/eyeloupe](https://github.com/alxlion/eyeloupe)\n\n\n\n\u003c!-- MARKDOWN LINKS \u0026 IMAGES --\u003e\n\u003c!-- https://www.markdownguide.org/basic-syntax/#reference-style-links --\u003e\n[contributors-shield]: https://img.shields.io/github/contributors/alxlion/eyeloupe.svg?style=for-the-badge\n[contributors-url]: https://github.com/alxlion/eyeloupe/graphs/contributors\n[forks-shield]: https://img.shields.io/github/forks/alxlion/eyeloupe.svg?style=for-the-badge\n[forks-url]: https://github.com/alxlion/eyeloupe/network/members\n[stars-shield]: https://img.shields.io/github/stars/alxlion/eyeloupe.svg?style=for-the-badge\n[stars-url]: https://github.com/alxlion/eyeloupe/stargazers\n[issues-shield]: https://img.shields.io/github/issues/alxlion/eyeloupe.svg?style=for-the-badge\n[issues-url]: https://github.com/alxlion/eyeloupe/issues\n[license-shield]: https://img.shields.io/github/license/alxlion/eyeloupe.svg?style=for-the-badge\n[license-url]: https://github.com/alxlion/eyeloupe/blob/master/MIT-LICENSE.txt\n[eyeloupe-screen]: /doc/img/screen.png\n[gem-version]: https://badge.fury.io/rb/eyeloupe.svg\n[gem-url]: https://rubygems.org/gems/eyeloupe\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falxlion%2Feyeloupe","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falxlion%2Feyeloupe","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falxlion%2Feyeloupe/lists"}