{"id":30288305,"url":"https://github.com/joakimen/scriv","last_synced_at":"2026-04-03T16:03:14.406Z","repository":{"id":223320579,"uuid":"758562960","full_name":"joakimen/scriv","owner":"joakimen","description":"A CLI tool for detecting Git repositories.","archived":false,"fork":false,"pushed_at":"2025-04-07T12:17:46.000Z","size":23,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-03-01T18:51:44.576Z","etag":null,"topics":["cobra-cli","git","go"],"latest_commit_sha":null,"homepage":"","language":"Go","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/joakimen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"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,"zenodo":null}},"created_at":"2024-02-16T15:35:08.000Z","updated_at":"2025-04-07T12:17:49.000Z","dependencies_parsed_at":"2024-02-19T17:19:43.370Z","dependency_job_id":"b47b34ff-2312-41bd-aca3-bb22fe923484","html_url":"https://github.com/joakimen/scriv","commit_stats":null,"previous_names":["joakimen/scriv"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/joakimen/scriv","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joakimen%2Fscriv","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joakimen%2Fscriv/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joakimen%2Fscriv/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joakimen%2Fscriv/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/joakimen","download_url":"https://codeload.github.com/joakimen/scriv/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joakimen%2Fscriv/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31362712,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-03T15:19:21.178Z","status":"ssl_error","status_checked_at":"2026-04-03T15:19:20.670Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["cobra-cli","git","go"],"created_at":"2025-08-16T22:03:12.667Z","updated_at":"2026-04-03T16:03:14.385Z","avatar_url":"https://github.com/joakimen.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# scriv\n\n\u003e \"We found him wandering around, with a candle.\"\n\n## Summary\n\n[Scriv](https://kingkiller.fandom.com/wiki/Scriv) is a CLI tool that detects Git repositories.\n\n## Description\n\nScriv detects Git repositories by searching recursively in one or more directories configured by the user, and returns a list of absolute paths to the discovered repositories.\n\nA repository is defined here as a directory that contains a .git subdirectory.\n\nSearching is done recursively, and with a depth specified on a per-path basis.\n\n## Install\n\nWith Go:\n\n```sh\ngo install github.com/joakimen/scriv@latest\n```\n\n## Usage\n\nList repositories\n\n```sh\n$ scriv list\n/Users/joakim/dev/github.com/joakimen/scriv\n/Users/joakim/dev/github.com/joakimen/fzf.clj\n...\n```\n\nPrint resolved configuration\n\n```sh\n$ scriv config\n{\n  \"Paths\": [\n    {\n      \"Path\": \"~/dev/github.com\",\n      \"Depth\": 2\n    },\n    {\n      \"Path\": \"~/bin\",\n      \"Depth\": 0\n    }\n  ],\n  \"Settings\": {\n    \"Ignore\": [\n      \"node_modules\",\n      \"vendor\",\n      \"dist\",\n      \"build\",\n      \"target\"\n    ]\n  },\n  \"Logger\": {}\n}\n```\n\n## Configuration\n\nConfiguration is done by specifying one or more paths, along with their desired search depth.\n\n### Example\n\n```json\n{\n  \"paths\": [\n    { \"path\": \"~/dev/github.com\", \"depth\": 2 },\n    { \"path\": \"~/bin\", \"depth\": 0 }\n  ],\n  \"settings\": {\n    \"ignore\": [\"node_modules\", \"target\"]\n  }\n}\n```\n\n### Configuration keys\n\n#### `.paths[].path`\n\nRequired.\n\nThe root path under which to search for repos. The root path may itself be a repo.\n\n#### `.paths[].depth`\n\nOptional.\n\nThe search depth for the associated path.\n\nDefault: 0\n\nTune this according to your project layout, as this is the primary determining factor for the discovery performance.\n\n##### Examples\n\n###### Example 1: `~/dev/github.com + depth: 2`\n\n- `~/dev/github.com/repo1` will be returned\n- `~/dev/github.com/dir1/repo1` will be returned\n- `~/dev/github.com/dir1/dir2/repo1` will **not** be returned\n\n###### Example 2: `~/bin + depth: 0`\n\n- `~/bin` will be returned\n- `~/bin/repo1` will **not** be returned\n\n#### `.settings.ignore`\n\nOptional.\n\nPaths to ignore during search.\nDefault: `\"node_modules\", \"vendor\", \"dist\", \"build\", \"target\"`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoakimen%2Fscriv","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjoakimen%2Fscriv","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoakimen%2Fscriv/lists"}