{"id":13566000,"url":"https://github.com/hakanu/code_surf","last_synced_at":"2025-04-10T01:33:24.101Z","repository":{"id":37198245,"uuid":"228268328","full_name":"hakanu/code_surf","owner":"hakanu","description":"Simple electron based code search UI for ag","archived":false,"fork":false,"pushed_at":"2023-03-03T11:21:53.000Z","size":1458,"stargazers_count":6,"open_issues_count":8,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-01T12:11:40.038Z","etag":null,"topics":["ag","code","electron","search","search-interface","silver-searcher"],"latest_commit_sha":null,"homepage":"http://hakanu.github.io/code_surf","language":"JavaScript","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/hakanu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":["https://www.buymeacoffee.com/haku"]}},"created_at":"2019-12-15T23:36:24.000Z","updated_at":"2024-02-04T17:00:34.000Z","dependencies_parsed_at":"2024-01-19T07:01:43.364Z","dependency_job_id":"ba710cd1-feff-45ad-90b9-e783a16bdfcb","html_url":"https://github.com/hakanu/code_surf","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hakanu%2Fcode_surf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hakanu%2Fcode_surf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hakanu%2Fcode_surf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hakanu%2Fcode_surf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hakanu","download_url":"https://codeload.github.com/hakanu/code_surf/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248140823,"owners_count":21054355,"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":["ag","code","electron","search","search-interface","silver-searcher"],"created_at":"2024-08-01T13:01:59.838Z","updated_at":"2025-04-10T01:33:24.078Z","avatar_url":"https://github.com/hakanu.png","language":"JavaScript","funding_links":["https://www.buymeacoffee.com/haku"],"categories":["JavaScript"],"sub_categories":[],"readme":"# CodeSurf\n\nPersonal codebase search tool, totally private.\nIt's a simple electron based UI to the great code search tool [The Silver Searcher aka ag](https://github.com/ggreer/the_silver_searcher).\nAlthough I love using ag from command line, I seek to have a UI with some tangible navigation systems in between my codebase.\n\n## Install\n\n* Download CodeSurf's latest release from [releases page](https://github.com/hakanu/code_surf/releases).\n* Install  Silver searcher from [its own docs](https://github.com/ggreer/the_silver_searcher/blob/master/README.md)\n\n## Features\n\n* Fast, really fast search (thanks to ag)\n  * Whole linux kernel files (3.7GB) are searched in mere 12 seconds\n  (with 10 letter search query) in my \n  machine which is probably not a good benchmark but I scan the spinning disk\n  with i5 8th gen with 32GB memory.\n  * Since it does regexp match, the length of search query is important.\n\n![](linux_kernel_files.png)\n\n![](speed.png)\n\n* Keyboard first navigation\n* Respects .gitignore and .hgignore files as ag does.\n* Clean UI\n* All private, no internet access is needed.\n* Keyboard shortcuts to bring it to focus whenever needed (ctrl + shift + J)\n* Small memory footprint\n\n![](memory.png)\n\n![](quick_usage_zoomed_in.gif)\n\n\u003ciframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/bAuW-iKSVU0\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen\u003e\u003c/iframe\u003e\n\n## Dev notes\n\nMade this in some afternoon sitting so don't judge me:P Still learning electron.\nThe code is based on pure js + a little bit jquery + bootstrap4 styles and lots of rooms for improvements.\n\n```shell\nnpm install\n\nnpm start\n```\n\n## Roadmap \n\n* ~~Un-render in show source code file.~~\n* jump with ctrl + g in the show source code window. \n* Add support to different search backends like ripgrep, ack, grep etc.\n* Make windows installer\n* Maybe add some analytics.\n* Add app to electronjs apps page.\n* For large searches, app becomes blank, make it somehow more informative.\n* Add filters to the search:\n  * f:folder/foo/bar =\u003e Give directory name\n    * Something better: fuzzy search for file names too.\n  * lang:py =\u003e Search only python files\n* Add ids and class names into constants.\n* ~~Open from editor directly.~~\n* ~~Add stats.~~\n* ~~Check if binaries are installed, if not warn them.~~\n* Show binary selection under the search bar.\n* Show case sensitivity under the search bar.\n* Add ignore patterns into settings to add into path-to-ignore.\n\n## Better name or any other feedback?\n\nShoot it to hi[at]hakanu.com or open an issue.\n\n## Contribute\n\nFeel free to send a pull request.\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhakanu%2Fcode_surf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhakanu%2Fcode_surf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhakanu%2Fcode_surf/lists"}