A powerful GitHub Code & Repo Analysis CLI for Researchers, designed to track activities, scrape and parse repository contexts, and search intelligentlyโwithout leaving YOUR terminal.
- GhResearcher ๐ฌ
GhResearcher is a terminal-based toolkit built for researchers, developers, and tech enthusiasts who need to keep a close eye on the open-source ecosystem. Instead of navigating through web interfaces, GhResearcher leverages the GitHub REST API and GitHub CLI (gh) to bring timelines, repository structures, and multi-domain searches directly to your command line.
Whether you want to track a specific expert's "feed", monitor the activities of a lab/organization, or quickly dump a repository's structure into an LLM-friendly context file, GhResearcher provides the necessary utilities in a clean, terminal-native format powered by Rich and Typer.
- Curing "Free-Range" Research: Many researchers and grad students (especially in computational fields) feel isolated without daily guidance. This tool acts as your academic "social feed" for code. By tracking what experts and labs are actively working on, it keeps you involved, gives you clear targets, and ensures you stay motivated and closely aligned with mainstream developments.
- Terminal First: Keep you in the flow. No context switching to a web browser.
- Data Density: Present maximum information with minimal clutter. Long commit hashes are truncated; pagination is handled automatically.
- LLM-Friendly: Commands like
parseare explicitly designed to generate.mdfiles that can be directly fed into Language Models for code analysis and project understanding. - Privacy & Security: Relies entirely on your local
ghauthentication. No third-party servers, no telemetry.
- Dynamic Tracking (
monitor):- Track events from Users, Organizations (
--org), or specific Repositories (--repo). - Read a user's GitHub Feed (
--received) to see what experts are paying attention to. - Seamless pagination handling to bypass standard API constraints.
- Track events from Users, Organizations (
- Repository Parser (
parse):- Default mode exports README + repository tree into a Markdown file(similar to tree command).
--viewopens a pager instead of writing files.--view-mode readmeusesgh repo viewdirectly for README-only paging.--view-mode treeshows only the repository tree.--sourcelists savedAgent Parser(like DeepWiki OR some GitHub LLM-based parsers)source URLs for the repository.--sources-file <file>loads extra or overridden savedAgent Parsersource URLs from JSON.- Single-file targets like
owner/repo/path/to/filefetch file contents directly without cloning. - Supports
direct download of file contentin addition to paginated viewing.
- Multi-domain Search (
search):- Quickly search across repos, code, issues, and pull requests.
- Python 3.8+
- GitHub CLI (
gh): You must have the GitHub CLI installed and authenticated.# 1. Install gh (Ubuntu/Debian example) # follow https://github.com/cli/cli/blob/trunk/docs/install_linux.md#debian (type -p wget >/dev/null || (sudo apt update && sudo apt install wget -y)) \ && sudo mkdir -p -m 755 /etc/apt/keyrings \ && out=$(mktemp) && wget -nv -O$out https://cli.github.com/packages/githubcli-archive-keyring.gpg \ && cat $out | sudo tee /etc/apt/keyrings/githubcli-archive-keyring.gpg > /dev/null \ && sudo chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg \ && sudo mkdir -p -m 755 /etc/apt/sources.list.d \ && echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null \ && sudo apt update \ && sudo apt install gh -y # 2. Authenticate with your GitHub account gh auth login
Clone the repository and install it via pip:
git clone https://github.com/MaybeBio/GhResearcher.git
cd GhResearcher
pip install -e .Verify the installation:
ghresearcher --helpThe monitor command provides a unified chronological timeline of GitHub activities.
Three important commands daily for me:
# you can change the target file to your own file
# yesterday to today activities of my followed experts
ghresearcher monitor -f /data2/GhResearcher/tests/target_user.txt --since $(date -d "1 day ago" +%Y-%m-%d) --expand-commitsUsage: ghresearcher monitor [OPTIONS] [TARGET]
โฏ ghresearcher monitor --help
Usage: ghresearcher monitor [OPTIONS] [TARGET_NAME]
Track and view the recent events of specific GitHub user(s), organization(s), or repos. Supports single target directly or batch targets via file. Events from
multiple targets are combined into a global chronological timeline.
โญโ Arguments โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ target_name [TARGET_NAME] The GitHub user, org, or repo to monitor โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
โญโ Options โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ --file -f TEXT File containing GitHub targets (one per line) โ
โ --received -r Fetch feed instead of user's own events โ
โ --org -O Treat target as an Organization instead of a User โ
โ --repo -R Treat target as a Repository (owner/repo format) โ
โ --limit -l INTEGER Number of events to fetch per target [default: 30] โ
โ --since TEXT Filter events on or after this date (YYYY-MM-DD) โ
โ --until TEXT Filter events on or before this date (YYYY-MM-DD) โ
โ --expand-commits Make additional API calls to get commit details for PushEvents if missing โ
โ --help Show this message and exit. โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏTrack the public actions of a specific developer (e.g., pushes, stars, forks).
# Monitor my activities (single user)
ghresearcher monitor MaybeBio -l 5
# Monitor multiple users (file input)
ghresearcher monitor -f users_to_track.txt
# ghresearcher monitor -f ./tests/target_user.txt --since 2026-05-11 --expand-commitswhat you get is:
Fetching events for target(s): MaybeBio...
2026-05-12 23:12:28 | โญ๏ธ MaybeBio starred alchaincyf/huashu-design
2026-05-12 20:07:14 | ๐ MaybeBio pushed to MaybeBio/GhResearcher (no commit info)
2026-05-12 19:10:24 | ๐ MaybeBio pushed to MaybeBio/bioinfor_script_modules (no commit info)
2026-05-12 19:02:18 | ๐ MaybeBio pushed to MaybeBio/GhResearcher (no commit info)
2026-05-12 18:59:39 | ๐ MaybeBio created branch 'main' at MaybeBio/GhResearcherif multiple, you get is
Fetching events for target(s): alexholehouse, Junjie-Zhu, HFChenLab, sirius777coder, Zuricho, Immortals-33, lujiarui, ChenDdon, AspirinCode, bjing2016, tyang816, prokia, Gonglab-THU...
2026-05-13 08:50:23 | โญ๏ธ prokia starred yliust/Tactile
2026-05-13 03:04:54 | โญ๏ธ Zuricho starred jsdoc/jsdoc
2026-05-12 23:14:59 | ๐ AspirinCode pushed to AspirinCode/awesome-AI4MolConformation-MD
- [cc88d0d] (expanded) Update README.md
2026-05-12 22:54:36 | ๐ AspirinCode pushed to AspirinCode/papers-for-molecular-design-using-DL
- [c062c62] (expanded) Update README.md
2026-05-12 20:29:29 | โญ๏ธ sirius777coder starred aqlaboratory/genie3
2026-05-12 20:01:38 | โญ๏ธ Immortals-33 starred obra/superpowers
2026-05-12 19:54:51 | โญ๏ธ Zuricho starred nicobailon/visual-explainer
2026-05-12 19:48:18 | โญ๏ธ Zuricho starred RomeroLab/BioDesignBench
2026-05-12 19:17:07 | ๐น bjing2016 performed MemberEvent on MihirBafna/boltzgen
2026-05-12 19:08:38 | ๐ AspirinCode pushed to AspirinCode/awesome-AI4MolConformation-MD
- [042c4c9] (expanded) Update README.md
2026-05-12 18:54:19 | ๐ AspirinCode pushed to AspirinCode/awesome-AI4MolConformation-MD
- [6a0bac1] (expanded) Update README.md
2026-05-12 18:50:17 | ๐ AspirinCode pushed to AspirinCode/awesome-AI4MolConformation-MD
- [348fb9f] (expanded) Update README.md
2026-05-12 18:24:54 | โญ๏ธ AspirinCode starred HealthRex/PhysicianBench
2026-05-12 16:23:29 | โญ๏ธ Zuricho starred yliust/Tactile
2026-05-12 16:19:36 | โญ๏ธ Zuricho starred smiles724/Proteo-R1
2026-05-12 09:56:57 | โญ๏ธ AspirinCode starred yaochenr/LLM-TPD-Extraction
2026-05-12 00:07:44 | ๐ฌ tyang816 created issue 'Trouble recreating zero shot results on protein gym' in ai4protein/VenusREM
2026-05-11 23:30:54 | โญ๏ธ AspirinCode starred Yuan1z0825/nature-skills
2026-05-11 18:08:37 | ๐ฌ Junjie-Zhu created issue 'Availability of pretrained weights' in Vincentx15/atomsurf
2026-05-11 17:51:13 | โญ๏ธ Immortals-33 starred openai/pluginsTrack the collective public events of an entire organization or lab. This is highly useful for following research groups' release updates or code pushes.
# Monitor GENTEL-lab's activities (single organization)
ghresearcher monitor GENTEL-lab --org
# Monitor multiple organizations (file input)
ghresearcher monitor -f labs_to_track.txt --org
# ghresearcher monitor -f ./tests/target_org.txt --since 2026-05-11 what you get is
Fetching events for target(s): GENTEL-lab...
2026-05-12 01:33:27 | โญ๏ธ justiniao starred GENTEL-lab/EVA
2026-05-11 10:59:50 | โญ๏ธ linjing-lab starred GENTEL-lab/VCWorld
2026-05-10 16:57:58 | โญ๏ธ NoahQue starred GENTEL-lab/VCWorld
2026-05-10 16:27:29 | โญ๏ธ Stern-612 starred GENTEL-lab/EnzymeCAGE
2026-05-09 21:31:27 | โญ๏ธ homandp starred GENTEL-lab/EVA
2026-05-09 15:54:25 | โญ๏ธ evacia starred GENTEL-lab/EVA
2026-05-09 08:40:08 | โญ๏ธ 7psusanpruitt40 starred GENTEL-lab/EVA
2026-05-09 00:21:22 | โญ๏ธ ardonw20 starred GENTEL-lab/EVA
2026-05-08 20:00:48 | โญ๏ธ CourageSiame starred GENTEL-lab/VCWorld
2026-05-08 16:44:58 | โญ๏ธ Aspectin starred GENTEL-lab/EnzymeCAGE
2026-05-08 08:24:37 | โญ๏ธ danserjeunjoline starred GENTEL-lab/EVA
2026-05-08 07:54:05 | โญ๏ธ inoue0426 starred GENTEL-lab/VCWorld
2026-05-08 07:11:21 | โญ๏ธ jpetchez starred GENTEL-lab/EVA
2026-05-08 06:25:01 | โญ๏ธ sb8587-a starred GENTEL-lab/EVA
2026-05-08 04:56:58 | โญ๏ธ evakagmadrit starred GENTEL-lab/EVA
2026-05-08 00:22:04 | โญ๏ธ Namkyeong starred GENTEL-lab/VCWorld
2026-05-07 21:13:59 | โญ๏ธ alexdebelka starred GENTEL-lab/VCWorld
2026-05-07 15:10:20 | ๐ liwenqi-BGI opened issue in GENTEL-lab/EnzymeCAGE: 'FileNotFound'
2026-05-07 11:17:52 | ๐ด yishutu forked GENTEL-lab/GerNA-Bind
2026-05-06 14:46:47 | โญ๏ธ yifanfeng97 starred GENTEL-lab/EnzymeCAGE
2026-05-06 12:30:08 | โญ๏ธ bbyun28 starred GENTEL-lab/OriGene
2026-05-05 16:44:04 | โญ๏ธ heidban starred GENTEL-lab/EVA
2026-05-05 15:15:19 | โญ๏ธ FengxuSysbio starred GENTEL-lab/VCWorld
2026-05-05 15:06:26 | โญ๏ธ dingrenjie12 starred GENTEL-lab/EVA
2026-05-05 03:37:59 | โญ๏ธ stottlemartinsth starred GENTEL-lab/EVA
2026-05-05 02:58:17 | โญ๏ธ WaveoffBioMed starred GENTEL-lab/OriGene
2026-05-04 10:42:04 | โญ๏ธ shayeedew44d starred GENTEL-lab/EVA
2026-05-02 20:01:46 | โญ๏ธ ron5428-blantonl starred GENTEL-lab/EVA
2026-05-02 18:47:23 | โญ๏ธ william2014-jw starred GENTEL-lab/EVA
2026-05-02 18:09:32 | โญ๏ธ 81davejohnson80 starred GENTEL-lab/EVAif multiple, you get is
Fetching events for target(s): kiharalab, honig-lab, ai4protein, GENTEL-lab, steineggerlab, biomed-AI, BioComputingUP, ProteinDesignLab, sparks-lab-org, baker-laboratory, Graylab, isblab, THGLab, idptools, holehouse-lab,
Pappulab, KULL-Centre...
2026-05-13 09:37:56 | ๐ฌ jmcavanagh created issue 'Getting invalid SMILES string while trying tutorial in T4 Colab' in THGLab/SmileyLlama
2026-05-13 06:29:17 | ๐ jmcavanagh pushed to THGLab/SmileyLlama (no commit info)
2026-05-13 06:29:16 | ๐ GbAlteri merged PR in THGLab/SmileyLlama
2026-05-13 06:10:58 | ๐ท๏ธ AntiMatter568 published release v1.0.1 in kiharalab/DAQplugin
2026-05-13 06:10:42 | ๐ AntiMatter568 pushed to kiharalab/DAQplugin (no commit info)
2026-05-13 04:42:31 | ๐ฌ MichaelChungyoun created issue 'Intuition of calculating the ProGen2 likelihood of the reverse sequence' in Graylab/FLAb
2026-05-13 04:42:31 | ๐ MichaelChungyoun closed issue in Graylab/FLAb: 'Intuition of calculating the ProGen2 likelihood of the reverse sequence'
2026-05-13 04:36:09 | ๐ MichaelChungyoun closed issue in Graylab/FLAb: 'missing data in immunogenicity data folder'
2026-05-13 04:36:08 | ๐ฌ MichaelChungyoun created issue 'missing data in immunogenicity data folder' in Graylab/FLAb
2026-05-13 04:23:23 | ๐น AntiMatter568 performed DeleteEvent on kiharalab/DAQplugin
2026-05-13 04:21:16 | ๐ AntiMatter568 pushed to kiharalab/DAQplugin (no commit info)
2026-05-13 04:16:46 | ๐ท๏ธ AntiMatter568 published release v1.0.0 in kiharalab/DAQplugin
2026-05-13 04:16:19 | ๐ AntiMatter568 pushed to kiharalab/DAQplugin (no commit info)
2026-05-13 03:55:16 | ๐ด BankBro forked biomed-AI/DiffDec
2026-05-13 03:46:31 | ๐ MichaelChungyoun closed issue in Graylab/FLAb: ''tm' folder is missing'
2026-05-13 03:46:30 | ๐ฌ MichaelChungyoun created issue ''tm' folder is missing' in Graylab/FLAb
2026-05-13 03:44:29 | ๐น MichaelChungyoun performed DeleteEvent on Graylab/FLAb
2026-05-13 03:44:08 | ๐ MichaelChungyoun pushed to Graylab/FLAb (no commit info)
2026-05-13 03:43:59 | ๐ MichaelChungyoun pushed to Graylab/FLAb (no commit info)
2026-05-13 03:33:53 | ๐ MichaelChungyoun pushed to Graylab/FLAb (no commit info)
2026-05-13 03:33:44 | ๐ MichaelChungyoun pushed to Graylab/FLAb (no commit info)
2026-05-13 03:30:45 | ๐ MichaelChungyoun pushed to Graylab/FLAb (no commit info)
2026-05-13 03:30:06 | ๐ MichaelChungyoun created branch 'flab2-dev' at Graylab/FLAb
2026-05-13 03:27:22 | ๐น MichaelChungyoun performed DeleteEvent on Graylab/FLAb
2026-05-13 03:26:54 | ๐น MichaelChungyoun performed DeleteEvent on Graylab/FLAb
2026-05-13 03:24:26 | ๐ MichaelChungyoun pushed to Graylab/FLAb (no commit info)
2026-05-13 03:22:54 | ๐ MichaelChungyoun pushed to Graylab/FLAb (no commit info)
2026-05-13 03:20:52 | ๐ MichaelChungyoun pushed to Graylab/FLAb (no commit info)
2026-05-13 03:20:36 | ๐ MichaelChungyoun pushed to Graylab/FLAb (no commit info)
2026-05-13 03:06:54 | ๐ MichaelChungyoun closed issue in Graylab/FLAb: 'When is the article updated'
2026-05-13 03:06:51 | ๐ฌ MichaelChungyoun created issue 'When is the article updated' in Graylab/FLAb
2026-05-13 02:59:37 | ๐ MichaelChungyoun closed issue in Graylab/FLAb: 'Rosace et al. binding data are likely in M'
2026-05-13 02:59:35 | ๐ฌ MichaelChungyoun created issue 'Rosace et al. binding data are likely in M' in Graylab/FLAb
2026-05-13 02:59:11 | ๐ MichaelChungyoun pushed to Graylab/FLAb (no commit info)
2026-05-13 02:53:53 | ๐ MichaelChungyoun pushed to Graylab/FLAb (no commit info)
2026-05-13 02:51:54 | ๐ MichaelChungyoun pushed to Graylab/FLAb (no commit info)
2026-05-13 02:38:15 | ๐ MichaelChungyoun closed issue in Graylab/FLAb: 'HCDR3s swapped with trastuzumab HCDR1 in Shanehsazzadeh zero-shot dataset'
2026-05-13 02:38:13 | ๐ฌ MichaelChungyoun created issue 'HCDR3s swapped with trastuzumab HCDR1 in Shanehsazzadeh zero-shot dataset' in Graylab/FLAb
2026-05-13 02:30:27 | ๐ MichaelChungyoun pushed to Graylab/FLAb (no commit info)
2026-05-13 02:25:12 | ๐ MichaelChungyoun pushed to Graylab/FLAb (no commit info)
2026-05-13 01:28:10 | โญ๏ธ alanfwilliams starred baker-laboratory/RoseTTAFold-All-Atom
2026-05-13 01:05:12 | ๐ zlr-zmm pushed to ai4protein/VenusFactory2 (no commit info)
2026-05-13 01:02:35 | ๐ zlr-zmm pushed to ai4protein/VenusFactory2 (no commit info)
2026-05-13 01:02:33 | ๐ Patiskey merged PR in ai4protein/VenusFactory2
2026-05-13 00:40:24 | โญ๏ธ DSamuelHodge starred ProteinDesignLab/dEVA
2026-05-12 22:46:44 | ๐ sudhir2016 opened issue in THGLab/SmileyLlama: 'Getting invalid SMILES string while trying tutorial in T4 Colab'
2026-05-12 22:26:19 | โญ๏ธ qianyhpku starred biomed-AI/DRlinker
2026-05-12 20:27:13 | ๐ sooyoung-cha opened PR in steineggerlab/foldseek
2026-05-12 20:25:13 | ๐ sooyoung-cha pushed to steineggerlab/foldseek (no commit info)
2026-05-12 20:14:03 | ๐ sooyoung-cha pushed to steineggerlab/foldseek (no commit info)
2026-05-12 20:14:01 | ๐ sooyoung-cha merged PR in steineggerlab/foldseek
2026-05-12 20:13:46 | ๐ sooyoung-cha opened PR in steineggerlab/foldseek
2026-05-12 18:54:09 | โญ๏ธ zmzhang starred THGLab/SmileyLlama
2026-05-12 17:03:15 | โญ๏ธ zhimingzhang275 starred ai4protein/VenusX
2026-05-12 15:16:35 | โญ๏ธ Abbbbyyyy starred ai4protein/Pro-Prime
2026-05-12 14:40:01 | โญ๏ธ DrDiscoDao starred THGLab/HiQBind
2026-05-12 12:58:09 | โญ๏ธ insilicoscientist starred baker-laboratory/RoseTTAFold-All-Atom
2026-05-12 11:39:18 | โญ๏ธ hajuchan starred steineggerlab/foldseek
2026-05-12 06:05:49 | โญ๏ธ lorcai starred steineggerlab/StrucTTY
2026-05-12 05:47:44 | ๐ gterashi pushed to kiharalab/DAQplugin (no commit info)
2026-05-12 05:47:19 | ๐ AntiMatter568 pushed to kiharalab/DAQplugin (no commit info)
2026-05-12 05:37:45 | ๐ gterashi pushed to kiharalab/DAQplugin (no commit info)
2026-05-12 03:53:09 | ๐ฌ dmoypal created issue 'Missing Alignment Visualizations in html Output' in steineggerlab/foldseek
2026-05-12 02:38:03 | ๐ ryanemenecker pushed to idptools/goose (no commit info)
2026-05-12 02:35:14 | ๐ Patiskey opened PR in ai4protein/VenusFactory2
2026-05-12 02:33:55 | ๐ ryanemenecker pushed to idptools/goose (no commit info)
2026-05-12 02:31:48 | ๐ ryanemenecker pushed to idptools/goose (no commit info)
2026-05-12 02:28:56 | ๐ ryanemenecker pushed to idptools/goose (no commit info)
2026-05-12 02:27:42 | ๐ท๏ธ ryanemenecker published release v0.2.5.1 in idptools/goose
2026-05-12 02:14:56 | ๐ ryanemenecker pushed to idptools/goose (no commit info)
2026-05-12 01:33:27 | โญ๏ธ justiniao starred GENTEL-lab/EVA
2026-05-12 00:56:26 | โญ๏ธ rujinlong starred steineggerlab/StrucTTY
2026-05-12 00:27:15 | โญ๏ธ damrane starred ProteinDesignLab/dEVA
2026-05-12 00:07:44 | ๐ฌ tyang816 created issue 'Trouble recreating zero shot results on protein gym' in ai4protein/VenusREM
2026-05-11 23:36:06 | ๐ adelbke pushed to BioComputingUP/nest-mongo-acl (no commit info)
2026-05-11 23:35:26 | ๐ adelbke pushed to BioComputingUP/nest-mongo-acl (no commit info)
2026-05-11 23:01:28 | ๐ LunaJang pushed to steineggerlab/StrucTTY (no commit info)
2026-05-11 18:42:35 | ๐ LunaJang pushed to steineggerlab/StrucTTY (no commit info)
2026-05-11 18:21:16 | โญ๏ธ Hidroxiapatito starred steineggerlab/colabfold-protocol
2026-05-11 13:41:39 | ๐น gamcil performed DeleteEvent on steineggerlab/foldmason
2026-05-11 13:41:35 | ๐ gamcil pushed to steineggerlab/foldmason (no commit info)
2026-05-11 13:41:34 | ๐ gamcil merged PR in steineggerlab/foldmason
2026-05-11 13:40:56 | ๐ gamcil opened PR in steineggerlab/foldmason
2026-05-11 13:05:16 | ๐ gamcil pushed to steineggerlab/foldmason (no commit info)
2026-05-11 10:59:50 | โญ๏ธ linjing-lab starred GENTEL-lab/VCWorld
2026-05-11 10:33:03 | โญ๏ธ samuelmcurtis starred baker-laboratory/RoseTTAFold-All-Atom
2026-05-11 10:19:35 | โญ๏ธ chengwilliamlin starred idptools/starling
2026-05-11 09:06:44 | โญ๏ธ AndyCycle starred steineggerlab/foldseek
2026-05-11 09:02:37 | ๐ gterashi pushed to kiharalab/DAQplugin (no commit info)
2026-05-11 02:55:34 | โญ๏ธ wyqmath starred idptools/starlingFocus cleanly on the event stream of a single repository (e.g., releases, issues, PRs, stars).
# Monitor a single repository (isblab/disobind)
ghresearcher monitor isblab/disobind --repo -l 20
# Monitor multiple repositories (file input)
ghresearcher monitor -f repos_to_track.txt --repowhat you get is
Fetching events for target(s): isblab/disobind...
2026-05-01 18:18:10 | โญ๏ธ Raghav0573 starred isblab/disobind
2026-04-29 16:40:05 | ๐ด ipcamit forked isblab/disobind
2026-04-23 13:41:51 | ๐ด paolellopotanovic-ctrlxiaoke forked isblab/disobindDiscover new tools by looking at what an expert is watching. This fetches the "received events" feed (similar to the GitHub homepage feed).
ghresearcher monitor teorth --receivedwhat you get is
Fetching events for target(s): teorth...
2026-05-12 21:48:31 | ๐ด benediktjohannes forked teorth/estimates
2026-05-12 21:48:20 | ๐ด benediktjohannes forked teorth/equational_theories
2026-05-12 21:22:02 | ๐ด benediktjohannes forked AlexKontorovich/PrimeNumberTheoremAnd
2026-05-12 20:36:01 | ๐ Milian0402 opened PR in teorth/erdos-guy-selfridge
2026-05-12 20:14:06 | โญ๏ธ jonahinthewhale starred AlexKontorovich/PrimeNumberTheoremAnd
2026-05-12 14:35:22 | ๐ด nachose forked teorth/erdos-guy-selfridge
2026-05-12 12:04:37 | ๐น teorth performed GollumEvent on AlexKontorovich/PrimeNumberTheoremAnd
2026-05-12 12:00:33 | ๐ teorth pushed to AlexKontorovich/PrimeNumberTheoremAnd (no commit info)
2026-05-12 12:00:33 | ๐ teorth closed issue in AlexKontorovich/PrimeNumberTheoremAnd: '[CH2]: Limiting integral formula for smoothly
truncated Dirichlet series (Proposition 2.3)'
2026-05-12 12:00:31 | ๐ anhhuyalex merged PR in AlexKontorovich/PrimeNumberTheoremAnd
2026-05-12 12:00:26 | ๐น teorth performed PullRequestReviewEvent on AlexKontorovich/PrimeNumberTheoremAnd
2026-05-12 11:59:56 | ๐น teorth performed GollumEvent on AlexKontorovich/PrimeNumberTheoremAnd
2026-05-12 11:40:39 | ๐ github-actions assigned issue in AlexKontorovich/PrimeNumberTheoremAnd: '[BKLNW]: Uniform medium size bound on
theta (Corollary 8.1b)'
2026-05-12 11:40:23 | ๐ฌ Yu-Misaka created issue '[BKLNW]: Uniform medium size bound on theta (Corollary 8.1b)' in
AlexKontorovich/PrimeNumberTheoremAnd
2026-05-12 09:17:18 | ๐ github-actions assigned issue in AlexKontorovich/PrimeNumberTheoremAnd: '[CH2]: Limiting integral formula for
smoothly truncated Dirichlet series (Proposition 2.3)'
2026-05-12 09:17:14 | ๐ฌ anhhuyalex created issue '[CH2]: Limiting integral formula for smoothly truncated Dirichlet series (Proposition
2.3)' in AlexKontorovich/PrimeNumberTheoremAnd
2026-05-12 09:17:10 | ๐ฌ anhhuyalex created issue '[CH2]: Limiting integral formula for smoothly truncated Dirichlet series (Proposition
2.3)' in AlexKontorovich/PrimeNumberTheoremAnd
2026-05-12 09:15:31 | ๐ anhhuyalex opened PR in AlexKontorovich/PrimeNumberTheoremAnd
2026-05-12 09:10:35 | ๐ github-actions assigned issue in AlexKontorovich/PrimeNumberTheoremAnd: '[FKS2]: Converting bounds for theta into
bounds for pi (Theorem 6)'
2026-05-12 09:10:24 | ๐ฌ Osalotioman created issue '[FKS2]: Converting bounds for theta into bounds for pi (Theorem 6)' in
AlexKontorovich/PrimeNumberTheoremAnd
2026-05-12 08:45:29 | ๐ teorth closed issue in AlexKontorovich/PrimeNumberTheoremAnd: '[FKS2]: Matching lower bound on E_ฯ (Theorem 6,
substep 2), cowritten with Grok'
2026-05-12 08:44:44 | ๐ teorth pushed to AlexKontorovich/PrimeNumberTheoremAnd (no commit info)
2026-05-12 08:44:44 | ๐ teorth closed issue in AlexKontorovich/PrimeNumberTheoremAnd: '[FKS2]: Upper bound on E_pi (Theorem 6, substep
1)'
2026-05-12 08:44:43 | ๐ Osalotioman merged PR in AlexKontorovich/PrimeNumberTheoremAnd
2026-05-12 08:44:38 | ๐น teorth performed PullRequestReviewEvent on AlexKontorovich/PrimeNumberTheoremAnd
2026-05-12 06:11:25 | ๐ illdreamt opened issue in AlexKontorovich/PrimeNumberTheoremAnd: '[FKS2]: Matching lower bound on E_ฯ (Theorem 6,
substep 2), cowritten with Grok'
2026-05-12 03:10:59 | โญ๏ธ orfyus starred teorth/symmetric_project
2026-05-12 02:14:48 | ๐ Milian0402 opened PR in teorth/erdos-guy-selfridge
2026-05-12 00:31:13 | โญ๏ธ orfyus starred AlexKontorovich/PrimeNumberTheoremAnd
2026-05-12 00:00:59 | ๐ฌ Osalotioman created issue '[FKS2]: Upper bound on E_pi (Theorem 6, substep 1)' in
AlexKontorovich/PrimeNumberTheoremAndPass a text file with multiple targets (one per line) to merge their activities into a single global timeline.
ghresearcher monitor -f experts.txt --since 2026-05-01 --until 2026-05-12By default, long pushes are truncated. Use --expand-commits to fetch detailed commit messages via additional API calls.
ghresearcher monitor teorth --expand-commitswhat you get is
Fetching events for target(s): teorth...
2026-05-13 08:57:32 | ๐ teorth pushed to teorth/erdos-guy-selfridge
- [617f9ad] (expanded) Merge pull request #101 from Milian0402/maxiboi/readme-roadmap
2026-05-13 08:57:21 | ๐น teorth performed PullRequestReviewEvent on teorth/erdos-guy-selfridge
2026-05-13 08:52:04 | ๐ teorth pushed to teorth/erdos-guy-selfridge
- [0da591c] (expanded) Merge pull request #102 from Milian0402/maxiboi/c1-constant-docs
2026-05-13 08:51:57 | ๐น teorth performed PullRequestReviewEvent on teorth/erdos-guy-selfridge
2026-05-13 06:17:43 | ๐ teorth pushed to leanprover-community/mathlib-at-ICERM26
- [bcfd513] (expanded) integral form of additivity
2026-05-13 05:37:12 | ๐ teorth pushed to leanprover-community/mathlib-at-ICERM26
- [fc850d0] (expanded) trim docstring
2026-05-13 05:35:07 | ๐ teorth pushed to leanprover-community/mathlib-at-ICERM26
- [a75fbf5] (expanded) Merge branch 'stieltjes' of https://github.com/leanprover-community/mathlib-at-ICERM26 into stieltjes
2026-05-13 02:10:07 | ๐ teorth pushed to leanprover-community/mathlib-at-ICERM26
- [92e6786] (expanded) redefine Stieltjes integral to handle backwards integral
2026-05-12 22:30:35 | ๐ teorth pushed to leanprover-community/mathlib-at-ICERM26
- [ad35844] (expanded) some map API
2026-05-12 20:20:08 | ๐ teorth pushed to leanprover-community/mathlib-at-ICERM26
- [2bce97a] (expanded) some simple lemmas about intervals
2026-05-12 16:57:47 | ๐ teorth pushed to leanprover-community/mathlib-at-ICERM26
- [c025070] (expanded) integration of constants
2026-05-12 15:38:00 | ๐ teorth pushed to leanprover-community/mathlib-at-ICERM26
- [3ffc66b] (expanded) remove warning
2026-05-12 15:35:29 | ๐ teorth pushed to leanprover-community/mathlib-at-ICERM26
- [e297d8a] (expanded) add connections to standard integrals
2026-05-12 15:28:46 | ๐ teorth pushed to leanprover-community/mathlib-at-ICERM26
- [92c1ea3] (expanded) notation for integral
2026-05-12 15:22:09 | ๐ teorth pushed to leanprover-community/mathlib-at-ICERM26
- [e7fbac7] (expanded) even more linearity API
2026-05-12 15:18:39 | ๐ teorth pushed to leanprover-community/mathlib-at-ICERM26
- [09e1ecb] (expanded) more linearity API
2026-05-12 15:06:36 | ๐ teorth pushed to leanprover-community/mathlib-at-ICERM26
- [bcfd5f1] (expanded) sectioning
2026-05-12 15:03:06 | ๐ teorth pushed to leanprover-community/mathlib-at-ICERM26
- [98ae4aa] (expanded) Stieltjes integral linearity API
2026-05-12 14:44:10 | ๐ teorth pushed to leanprover-community/mathlib-at-ICERM26
- [bedff9f] (expanded) automated style fixes
2026-05-12 14:38:46 | ๐ teorth pushed to leanprover-community/mathlib-at-ICERM26
- [0f90350] (expanded) bundle ofDiff as a hom
2026-05-12 13:59:52 | ๐ teorth pushed to leanprover-community/mathlib-at-ICERM26
- [18d419b] (expanded) BoxAdditiveMap API
2026-05-12 13:29:05 | ๐ teorth pushed to leanprover-community/mathlib-at-ICERM26
- [2a43bd9] (expanded) fix lean
2026-05-12 13:28:23 | ๐ teorth pushed to leanprover-community/mathlib-at-ICERM26
- [096a002] (expanded) fix lean
2026-05-12 13:27:31 | ๐ teorth pushed to leanprover-community/mathlib-at-ICERM26
- [3425dd1] (expanded) add other predicates for Stieltjes integrability
2026-05-12 13:16:48 | ๐ teorth pushed to leanprover-community/mathlib-at-ICERM26
- [6d9643a] (expanded) notational golf
2026-05-12 13:10:50 | ๐ teorth pushed to leanprover-community/mathlib-at-ICERM26
- [5198afa] (expanded) change interval to Ioc
2026-05-12 13:08:16 | ๐ teorth pushed to leanprover-community/mathlib-at-ICERM26
- [354ba9b] (expanded) generalize integration against summatory function
2026-05-12 13:00:43 | ๐ teorth pushed to leanprover-community/mathlib-at-ICERM26
- [44a86ee] (expanded) golf namespaces
2026-05-12 12:54:26 | ๐ teorth pushed to leanprover-community/mathlib-at-ICERM26
- [a692262] (expanded) add docstring
2026-05-12 12:49:38 | ๐ teorth pushed to leanprover-community/mathlib-at-ICERM26
- [cfc0361] (expanded) change from Unit to Fin 1Parses a repository, file, or saved source catalog into terminal-friendly text. The default repository path uses GitHub's Trees API first, so it does not need to clone the repository unless the API response is truncated or unavailable.
Usage: ghresearcher parse [TARGET] [--view] [--view-mode readme|tree|both] [--source] [--sources-file FILE]
โฏ ghresearcher parse --help
Usage: ghresearcher parse [OPTIONS] TARGET
Parse a repository, file, or source URL into Markdown/text.
โญโ Arguments โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ * target TEXT The GitHub repo (owner/repo) or file (owner/repo/path/to/file) [required] โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
โญโ Options โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ --output -o TEXT Output file path โ
โ --view View in a pager instead of writing to disk โ
โ --view-mode TEXT View mode for repositories: both, readme, or tree [default: both] โ
โ --source List saved source URLs for the repository โ
โ --sources-file TEXT JSON file containing extra or overridden source URLs โ
โ --help Show this message and exit. โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
โ ๏ธ Parse logic is global, i.e., not adding--viewoption will download the repository content to a file. Adding--viewoption will only view in a pager, without writing to disk.
# Write README + tree to a file
ghresearcher parse isblab/disobind -o Disobind_Context.md
# View README + tree in a pager
ghresearcher parse isblab/disobind --view
# README-only pager using the native `gh repo view` experience
ghresearcher parse isblab/disobind --view --view-mode readme
# Tree-only pager
ghresearcher parse isblab/disobind --view --view-mode tree
# Single file, e.g., README.md, you can directly append the file path after owner/repo
ghresearcher parse isblab/disobind/README.md --view
# Saved source catalog for the repository (we provide some default urls)
ghresearcher parse isblab/disobind --source --view
# Load extra sources from a JSON file (except default urls, you can also add your own urls in the JSON file, we will merge them together)
ghresearcher parse isblab/disobind --source --sources-file ./sources.json --viewCurrent default sources:
[
{"name": "deepwiki", "kind": "template", "url": "https://deepwiki.com/{owner}/{repo}"},
{"name": "zreadai", "kind": "template", "url": "https://zread.ai/{owner}/{repo}"},
{"name": "readmex", "kind": "template", "url": "https://readmex.com/{owner}/{repo}"},
{"name": "gitdiagram", "kind": "template", "url": "https://gitdiagram.com/{owner}/{repo}"},
]Implementation notes:
- Repository trees are fetched from the GitHub Trees API first.
- If the Trees API is truncated or fails for a very large repository, GhResearcher falls back to a temporary shallow clone to generate the tree.
--view --view-mode readmeusesgh repo viewdirectly, so it keeps GitHub CLI's native pager behavior.sources.jsoncan define both template sources and fixed URLs.- You can point
--sources-fileat any JSON file containing extra or overridden saved source URLs. - A ready-to-edit example lives at
sources.example.jsonin the repository root.
๐ A Simple Example like:
I want to view the README of a repository, I first check the README to quickly understand the project.
ghresearcher parse Junjie-Zhu/IDPFold --view --view-mode readmeand then I want to quickly understand the file structure of the repository, so I can check where the main code lives, and where the data lives.
ghresearcher parse Junjie-Zhu/IDPFold --view --view-mode treee.g., I am pretty interested in script /src/common/pdb_utils.py, I can check it by running the following command:
ghresearcher parse Junjie-Zhu/IDPFold/src/common/pdb_utils.py --view finally, I want to check if there are any LLM Annotations for this script.
hresearcher parse Junjie-Zhu/IDPFold --source --viewI can directly open the default smart reading page in the browser to view the detailed information of the project.
Perform tailored searches from the terminal.
Usage: ghresearcher search [item_type] [query]
# Search for repositories related to "Deep Learning"
ghresearcher search repos "Deep Learning" -L Python -l 10GhResearcher exposes GitHub's search through ghresearcher search (a thin wrapper around gh search). This section summarizes the advanced search syntax, common qualifiers, and practical examples you can run directly from the CLI.
Core idea
- GitHub search accepts a free-form query string that can include qualifiers (key:value pairs) and boolean operators. Qualifiers such as
repo:,language:,path:,filename:,extension:,topic:,user:,org:,stars:,size:narrow results efficiently.
How to use with GhResearcher
- Basic form:
ghresearcher search <item_type> "<query>" [options]where<item_type>is one ofrepos,code,issues,prs,commits,users. - The CLI helper flags (
--language,--owner,--repo,--topic,--extension,--filename) append equivalent qualifiers to the query. --limit,--sort, and--orderare passed toghto control result count and ordering.
Useful qualifiers and examples
repo:owner/nameโ restrict search to a repository. Example:repo:MaybeBio/GhResearcher.language:Pythonโ filter by language for repos/code.path:docs/โ search only inside a path in a repository.filename:README.mdโ find files namedREADME.md.extension:pyโ search files by extension.topic:bioinformaticsโ filter repos by topic.user:username/org:orgnameโ filter by owner or organization.stars:>100/stars:10..50โ numeric ranges.
Practical examples
# Find Python repos mentioning "LLM" with >50 stars
ghresearcher search repos "LLM language:Python stars:>50" -l 20
# Search code for TODO comments inside a specific repo
ghresearcher search code "TODO repo:MaybeBio/GhResearcher" --filename "*.py" -l 50
# Find issues containing "crash" in the MaybeBio organization
ghresearcher search issues "crash org:MaybeBio" -l 100
# Search code by extension and path inside repos (code search)
ghresearcher search code "def my_function extension:py path:src/" -l 50Tips & caveats
- Use quotes for exact phrases:
"memory leak". - Combine conditions with
ORand exclude terms with-(e.g.bug OR error,-wip). gh searchsupports JSON output when needed โ for machine parsing prefergh's--jsonoption directly.- GitHub search semantics and available qualifiers differ slightly by domain (
codevsreposvsissues). Refer to the official docs indocs/for details. - Rate limits and result pagination may apply โ use
--limitto bound results.
References
- See the
docs/folder for harvested GitHub search documentation (docs_github_com_en_search-github_*).
- GitHub API Limits: The
monitortimeline is restricted to a maximum of 300 recent events or events within the past 90 days due to GitHub API constraints. - Parser Size: The
parsecommand can still be expensive for extremely large repositories because tree rendering and pager output may be large. When the Trees API is truncated, the tool falls back to a temporary shallow clone. - Rate Limiting: Heavy use of
--expand-commitsor batch mapping large lists may quickly consume your GitHub API rate limit. Use with care.



