{"id":15285865,"url":"https://github.com/gitgrep-com/gitgrep","last_synced_at":"2025-10-07T01:30:25.878Z","repository":{"id":61627691,"uuid":"156471231","full_name":"gitgrep-com/gitgrep","owner":"gitgrep-com","description":"Lightning fast code searching made easy","archived":false,"fork":true,"pushed_at":"2018-12-03T05:31:14.000Z","size":2145,"stargazers_count":3,"open_issues_count":13,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-10-01T15:07:58.870Z","etag":null,"topics":["bitbucket","code-search","code-search-engine","git","gitgrep-com","github","gitlab","grep","regex","regexp","search"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"hound-search/hound","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gitgrep-com.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":"2018-11-07T01:13:46.000Z","updated_at":"2023-02-08T21:35:24.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/gitgrep-com/gitgrep","commit_stats":null,"previous_names":["gitgrep-com/hound"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitgrep-com%2Fgitgrep","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitgrep-com%2Fgitgrep/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitgrep-com%2Fgitgrep/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitgrep-com%2Fgitgrep/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gitgrep-com","download_url":"https://codeload.github.com/gitgrep-com/gitgrep/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":235569500,"owners_count":19011184,"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":["bitbucket","code-search","code-search-engine","git","gitgrep-com","github","gitlab","grep","regex","regexp","search"],"created_at":"2024-09-30T15:07:58.910Z","updated_at":"2025-10-07T01:30:20.409Z","avatar_url":"https://github.com/gitgrep-com.png","language":"JavaScript","readme":"# Hound\n\n[![Build Status](https://travis-ci.org/etsy/hound.svg?branch=master)](https://travis-ci.org/etsy/hound) [![Join the chat at https://gitter.im/etsy/Hound](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/etsy/Hound?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge)\n\nHound is an extremely fast source code search engine. The core is based on this article (and code) from Russ Cox:\n[Regular Expression Matching with a Trigram Index](http://swtch.com/~rsc/regexp/regexp4.html). Hound itself is a static\n[React](http://facebook.github.io/react/) frontend that talks to a [Go](http://golang.org/) backend. The backend keeps an up-to-date index for each repository and answers searches through a minimal API. Here it is in action:\n\n![Hound Screen Capture](screen_capture.gif)\n\n## Quick Start Guide\n\n### Using Go Tools\n\n1. Use the Go tools to install Hound. The binaries `houndd` (server) and `hound` (cli) will be installed in your $GOPATH.\n\n```\ngo get github.com/gitgrep-com/hound/cmds/...\n```\n\n2. Create a [config.json](config-example.json) in a directory with your list of repositories.\n\n3. Run the Hound server with `houndd` and you should see output similar to:\n```\n2015/03/13 09:07:42 Searcher started for statsd\n2015/03/13 09:07:42 Searcher started for Hound\n2015/03/13 09:07:42 All indexes built!\n2015/03/13 09:07:42 running server at http://localhost:6080...\n```\n\n### Using Docker (1.4+)\n\n1. Create a [config.json](config-example.json) in a directory with your list of repositories.\n\n2. Run\n```\ndocker run -d -p 6080:6080 --name hound -v $(pwd):/data gitgrep-com/hound\n```\n\nYou should be able to navigate to [http://localhost:6080/](http://localhost:6080/) as usual.\n\n\n## Running in Production\n\nThere are no special flags to run Hound in production. You can use the `--addr=:6880` flag to control the port to which the server binds. Currently, Hound does not support TLS as most users simply run Hound behind either Apache or nginx. Adding TLS support is pretty straight forward though if anyone wants to add it.\n\n## Why Another Code Search Tool?\n\nWe've used many similar tools in the past, and most of them are either too slow, too hard to configure, or require too much software to be installed.\nWhich brings us to...\n\n## Requirements\n* Go 1.4+\n\nYup, that's it. You can proxy requests to the Go service through Apache/nginx/etc., but that's not required.\n\n\n## Support\n\nCurrently Hound is only tested on MacOS and CentOS, but it should work on any *nix system. Hound on Windows is not supported but we've heard it compiles and runs just fine.\n\nHound supports the following version control systems:\n\n* Git - This is the default\n* Mercurial - use `\"vcs\" : \"hg\"` in the config\n* SVN - use `\"vcs\" : \"svn\"` in the config\n* Bazaar - use `\"vcs\" : \"bzr\"` in the config\n\nSee [config-example.json](config-example.json) for examples of how to use each VCS.\n\n## Private Repositories\n\nThere are a couple of ways to get Hound to index private repositories:\n\n* Use the `file://` protocol. This allows you to index a local clone of a repository. The downside here is that the polling to keep the repo up to date will\nnot work. (This also doesn't work on local folders that are not of a supported repository type.)\n* Use SSH style URLs in the config: `\"url\" : \"git@github.com:foo/bar.git\"`. As long as you have your\n[SSH keys](https://help.github.com/articles/generating-ssh-keys/) set up on the box where Hound is running this will work.\n\n## Keeping Repos Updated\n\nBy default Hound polls the URL in the config for updates every 30 seconds. You can override this value by setting the `ms-between-poll` key on a per repo basis in the config. If you are indexing a large number of repositories, you may also be interested in tweaking the `max-concurrent-indexers` property. You can see how these work in the [example config](config-example.json).\n\n## Editor Integration\n\nCurrently the following editors have plugins that support Hound:\n\n* [Sublime Text](https://github.com/bgreenlee/SublimeHound)\n* [Vim](https://github.com/urthbound/hound.vim)\n* [Emacs](https://github.com/ryoung786/hound.el)\n* [Visual Studio Code](https://github.com/sjzext/vscode-hound)\n\n## Hacking on Hound\n\n### Editing \u0026 Building\n\n#### Requirements:\n * make\n * Node.js ([Installation Instructions](https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager))\n\nHound includes a `Makefile` to aid in building locally, but it depends on the source being added to a proper Go workspace so that\nGo tools work accordingly. See [Setting GOPATH](https://github.com/golang/go/wiki/SettingGOPATH) for further details about setting\nup your Go workspace. With a `GOPATH` set, the following commands will build hound locally.\n\n```\ngit clone https://github.com/gitgrep-com/hound.git ${GOPATH}/src/github.com/gitgrep-com/hound\ncd ${GOPATH}/src/github.com/gitgrep-com/hound\nmake\n```\n\n### Testing\n\nThere are an increasing number of tests in each of the packages in Hound. Please make sure these pass before uploading your Pull Request. You can run the tests with the following command.\n\n```\nmake test\n```\n\n### Working on the web UI\n\nHound includes a web UI that is composed of several files (html, css, javascript, etc.). To make sure hound works seamlessly with the standard Go tools, these resources are all bundled inside of the `houndd` binary. Note that changes to the UI will result in local changes to the `ui/bindata.go` file. You must include these changes in your Pull Request.\n\nTo bundle UI changes in `ui/bindata.go` use:\n\n```\nmake ui\n```\n\nTo make development easier, there is a flag that will read the files from the file system (allowing the much-loved edit/refresh cycle).\n\nFirst you should ensure you have all the dependencies installed that you need by running:\n\n```\nmake dev\n```\n\nThen run the hound server with the --dev option:\n\n```\nbin/houndd --dev\n```\n\n## Get in Touch\n\nCreated at [Etsy](https://www.etsy.com) by:\n\n* [Kelly Norton](https://github.com/kellegous)\n* [Jonathan Klein](https://github.com/jklein)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgitgrep-com%2Fgitgrep","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgitgrep-com%2Fgitgrep","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgitgrep-com%2Fgitgrep/lists"}