{"id":22350947,"url":"https://github.com/johnae/sentry","last_synced_at":"2026-06-20T23:31:19.707Z","repository":{"id":32295337,"uuid":"35870269","full_name":"johnae/sentry","owner":"johnae","description":"See https://github.com/johnae/spook instead.","archived":false,"fork":false,"pushed_at":"2015-09-23T14:55:07.000Z","size":140,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-26T11:47:22.545Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Shell","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/johnae.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}},"created_at":"2015-05-19T08:47:56.000Z","updated_at":"2017-01-28T10:44:23.000Z","dependencies_parsed_at":"2022-09-19T11:41:47.419Z","dependency_job_id":null,"html_url":"https://github.com/johnae/sentry","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/johnae/sentry","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnae%2Fsentry","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnae%2Fsentry/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnae%2Fsentry/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnae%2Fsentry/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/johnae","download_url":"https://codeload.github.com/johnae/sentry/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnae%2Fsentry/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34589204,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-20T02:00:06.407Z","response_time":98,"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":[],"created_at":"2024-12-04T12:11:53.454Z","updated_at":"2026-06-20T23:31:19.650Z","avatar_url":"https://github.com/johnae.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"### Skip using this\n\nSee [Spook](https://github.com/johnae/spook) instead.\n\n\n### Poor mans guard: sentry\n\nThis is a very simple tool with some of the functionality of guard: https://github.com/guard/guard\n\nIt's meant to be lightweight and simple to use without too many bells and whistles. What it CAN do is enable the same code/test/repeat feedback loop as guard gives, namely: edit and save your code to disk and watch the specs for that file run.\n\nIt's using a naive approach currently where it simply looks for a file in the spec dir called:\n\n```\ndirname-of-the-file-with-code/name-of-file-with-code_spec.*\n```\n\nIn practice this has worked on a few projects for me but ymmv. For this to work it's absolutely essential that you install the entr command, see http://entrproject.org or https://bitbucket.org/eradman/entr/commits/all. This project wouldn't be possible at all without entr.\n\n## Installing sentry\n\nThe easiest way to install sentry is probably by doing this:\n\n```\ncurl https://raw.githubusercontent.com/johnae/sentry/master/install | sudo bash\n```\n\nThe easiest way to uninstall it is probably by doing this:\n\n```\ncurl https://raw.githubusercontent.com/johnae/sentry/master/uninstall | sudo bash\n```\n\nHowever, if you don't like running scripts from the internet as root blindly, you can clone this repo and copy everything in bin/ to somewhere in your PATH. Or you can take a look at the install script which is pretty straightforward.\n\nPlease remember, you must install entr for it to work. You will be notified about this during the installation as well as if you try to run it without having entr installed.\n\n## Running sentry\n\nIf you are in a rails project, you might run it like this (from within the project directory).\n\n```\nsentry watch rspec -f d\n```\n\nThe default watch dirs are:\n\nsrc/\nlib\napp/\nspec/\ntest/\n\nYou may add additional watch dirs by creating a file in your project directory called .sentry and add dirs like this:\n\nSENTRY_WATCH_DIRS=\"mysrc mylib\"\n\nThose will be appended to the defaults. Only dirs that exist will actually be watched.\n\n## More configuration\n\nThere is very basic mapping capability through .sentry_mapping - a file in your project dir. It is expected to contain:\n\n```\nspec/path/file_spec.ext app/path/somecode.ext\nspec/path/other_spec.ext app/path/*/stuff_*.ext\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnae%2Fsentry","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjohnae%2Fsentry","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnae%2Fsentry/lists"}