{"id":19550953,"url":"https://github.com/nicmcd/devsearch","last_synced_at":"2025-07-28T14:08:09.050Z","repository":{"id":62567913,"uuid":"44344156","full_name":"nicmcd/devsearch","owner":"nicmcd","description":"A project find and goto system.","archived":false,"fork":false,"pushed_at":"2021-03-25T22:47:59.000Z","size":29,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-29T21:04:28.190Z","etag":null,"topics":["project-management","python"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nicmcd.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}},"created_at":"2015-10-15T20:38:21.000Z","updated_at":"2022-03-28T14:03:26.000Z","dependencies_parsed_at":"2022-11-03T16:30:43.846Z","dependency_job_id":null,"html_url":"https://github.com/nicmcd/devsearch","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/nicmcd/devsearch","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nicmcd%2Fdevsearch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nicmcd%2Fdevsearch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nicmcd%2Fdevsearch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nicmcd%2Fdevsearch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nicmcd","download_url":"https://codeload.github.com/nicmcd/devsearch/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nicmcd%2Fdevsearch/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267527835,"owners_count":24102019,"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-28T02:00:09.689Z","response_time":68,"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":["project-management","python"],"created_at":"2024-11-11T04:09:36.789Z","updated_at":"2025-07-28T14:08:09.009Z","avatar_url":"https://github.com/nicmcd.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DevSearch\n\nThis project implements a simple system for finding a desired project to work on and changing the current directory to it.\nThis is really useful when you have lots of projects on your machine or when you use deep directory hierarchies.\n\n## Usage\nSimple example:\n```bash\nme@tux:~/$ dev linux\nme@tux:~/projs/torvalds/linux$\n```\n\nIf there is more than one match, an option list will be presented:\n```bash\nme@tux:~/$ dev linux\n1 : linux [git] ~/projs/torvalds/linux\n2 : linux [git] ~/projs/raspberrypi/linux\n3 : linux [git] ~/projs/svenkatr/linux\nselection: 2\nme@tux:~/projs/raspberrypi/linux$\n```\n\nRegex's can be used:\n```bash\nme@tux:~/$ dev [s,S]im[0-9]+\n1 : booksim2 [git] ~/projs/booksim/booksim2\n2 : Sim2600  [git] ~/projs/gregjames/Sim2600\nselection: 1\nme@tux:~/projs/booksim/booksim2$\n```\nor\n```bash\nme@tux:~/$ dev google\\|hplabs\n1 : paramgmt  [git] ~/projs/google/paramgmt\n2 : protobuf  [git] ~/projs/google/protobuf\n3 : cacti     [git] ~/projs/hplabs/cacti\n4 : mcpat     [git] ~/projs/hplabs/mcpat\n5 : supersim  [git] ~/projs/hplabs/supersim\nselection: cacti\nme@tux:~/projs/hplabs/cacti\n```\n\nSearching is recursive:\n```bash\nme@tux:~/$ dev lib\n1 : libjson         [git] ~/projs/vincenthz/libjson\n2 : libjson-rpc-cpp [git] ~/projs/cinemast/libjson-rpc-cpp\n3 : libevent        [git] ~/projs/nmathewson/libevent\n4 : libevhtp        [git] ~/projs/ellzey/libevhtp\n5 : zlib            [git] ~/projs/madler/zlib\nselection: lib[a-z]+\n1 : libjson         [git] ~/projs/vincenthz/libjson\n2 : libjson-rpc-cpp [git] ~/projs/cinemast/libjson-rpc-cpp\n3 : libevent        [git] ~/projs/nmathewson/libevent\n4 : libevhtp        [git] ~/projs/ellzey/libevhtp\nselection: event\nme@tux:~/projs/nmathewson/libevent\n```\n\n## Installation\nThe `dev` command shown above is an alias which calls `source devsearch`. Add the following to your startup script (e.g., ~/.bashrc):\n```bash\nalias dev='source devsearch'\n```\n\nInstallation of the `devsearch` program is done with pip:\n\n```bash\npip3 install devsearch\n```\n\n\n## Configuration\n`devsearch` is configured using an RC file.\nThe RC file specifies root directories in the file system that will be searched for projects.\nThe RC file specifies which version control systems will be considered valid.\ngit, svn, mercurial(hg), and cvs are supported.\n```bash\nme@tux:~/$ cat ~/.devsearchrc\n[devsearch]\nroot = ~/projs:/classified/projects/:/tmp/garbage/projects\nvcs = git:svn:hg:cvs\n```\n\n## Uninstallation\nThe following command will uninstall `devsearch`:\n```bash\npip3 uninstall devsearch\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnicmcd%2Fdevsearch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnicmcd%2Fdevsearch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnicmcd%2Fdevsearch/lists"}