{"id":18408868,"url":"https://github.com/daishe/change-repo","last_synced_at":"2026-04-28T18:05:11.645Z","repository":{"id":61623911,"uuid":"535265661","full_name":"daishe/change-repo","owner":"daishe","description":"A simple CLI utility to change the current working directory to one containing Git repository.","archived":false,"fork":false,"pushed_at":"2023-02-12T18:26:33.000Z","size":25,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-16T05:14:31.361Z","etag":null,"topics":["git","repositories","repository"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/daishe.png","metadata":{"files":{"readme":"README.md","changelog":"change-repo.go","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}},"created_at":"2022-09-11T10:41:22.000Z","updated_at":"2023-02-19T14:34:55.000Z","dependencies_parsed_at":"2024-06-20T16:21:06.373Z","dependency_job_id":"0000f45f-8200-447d-a49a-1111f8c876ed","html_url":"https://github.com/daishe/change-repo","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daishe%2Fchange-repo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daishe%2Fchange-repo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daishe%2Fchange-repo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daishe%2Fchange-repo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/daishe","download_url":"https://codeload.github.com/daishe/change-repo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248637832,"owners_count":21137538,"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":["git","repositories","repository"],"created_at":"2024-11-06T03:21:59.615Z","updated_at":"2026-04-28T18:05:11.638Z","avatar_url":"https://github.com/daishe.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Change repo\n\n[![Latest version](https://img.shields.io/github/v/tag/daishe/change-repo?label=latest%20version\u0026sort=semver)](https://github.com/daishe/change-repo/releases)\n[![Latest release status](https://img.shields.io/github/actions/workflow/status/daishe/change-repo/release.yaml?label=release%20build\u0026logo=github\u0026logoColor=fff)](https://github.com/daishe/change-repo/actions/workflows/release.yaml)\n\n[![Go version](https://img.shields.io/github/go-mod/go-version/daishe/change-repo?label=version\u0026logo=go\u0026logoColor=fff)](https://golang.org/dl/)\n[![License](https://img.shields.io/github/license/daishe/change-repo)](https://github.com/daishe/change-repo/blob/master/LICENSE)\n\nA simple CLI utility to change the current working directory to one containing Git repository.\n\n## Usage\n\nJust run the CLI and it will scan the provided directory recursively and present a list of all found Git repositories, allowing you to choose from that list:\n\n```sh\nchange-repo .\n```\n\nWhen you pick from the list it will open a new shell in the selected location. You can also configure a set of standard locations using `CHANGE_REPO_PATH` environment variable:\n\n```sh\nexport CHANGE_REPO_PATH=\"/path/to/location:/path/to/other/location\"\n```\n\nand then invoke application without any arguments:\n\n```sh\nchange-repo\n```\n\nit will first allow you to pick the directory containing Git repositories from the list of locations in `CHANGE_REPO_PATH` environment variable and then will recursively scan the selected directory and present the list of all Git repositories in it, allowing you to chose from that list.\n\nThat's it!\n\n## Help\n\nTo get the complete list of all flags, use\n\n```sh\nchange-repo --help\n```\n\nMost likely you will also be interested in creating an alias\n\n```sh\nalias cr=\"change-repo\"\n```\n\nOr an other alias that do not creates any sub-shells\n\n```sh\nalias cr='cd \"$(change-repo --ignore-soft-errors --show || echo .)\"'\n```\n\n## Options\n\nChange-repo has several options that control its behavior:\n\n- `--help` - display help message\n- `--maxdepth` - controls recursion depth when scanning for Git repositories (default: 20)\n- `--version` - display version and copyright information\n\n## Configuration\n\nChange-repo can be configured using the following environment variables:\n\n- `CHANGE_REPO_PATH` - list of paths to directories containing Git repositories. Used when invoking change-repo without any arguments. When empty or not set defaults to current working directory.\n- `CHANGE_REPO_SHELL` - when set, its value will be used instead of `SHELL` environment variable.\n- `SHELL` - shell to invoke when changing directory.\n\n## License\n\nChange-repo is open-sourced software licensed under the [GNU General Public License version 3 or later](https://www.gnu.org/licenses/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaishe%2Fchange-repo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdaishe%2Fchange-repo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaishe%2Fchange-repo/lists"}