sourcegraph.md

 1Search code across public repositories using Sourcegraph's GraphQL API.
 2
 3<usage>
 4- Provide search query using Sourcegraph syntax
 5- Optional result count (default: 10, max: 20)
 6- Optional timeout for request
 7</usage>
 8
 9<basic_syntax>
10
11- "fmt.Println" - exact matches
12- "file:.go fmt.Println" - limit to Go files
13- "repo:^github\.com/golang/go$ fmt.Println" - specific repos
14- "lang:go fmt.Println" - limit to Go code
15- "fmt.Println AND log.Fatal" - combined terms
16- "fmt\.(Print|Printf|Println)" - regex patterns
17- "\"exact phrase\"" - exact phrase matching
18- "-file:test" or "-repo:forks" - exclude matches
19  </basic_syntax>
20
21<key_filters>
22Repository: repo:name, repo:^exact$, repo:org/repo@branch, -repo:exclude, fork:yes, archived:yes, visibility:public
23File: file:\.js$, file:internal/, -file:test, file:has.content(text)
24Content: content:"exact", -content:"unwanted", case:yes
25Type: type:symbol, type:file, type:path, type:diff, type:commit
26Time: after:"1 month ago", before:"2023-01-01", author:name, message:"fix"
27Result: select:repo, select:file, select:content, count:100, timeout:30s
28</key_filters>
29
30<examples>
31- "file:.go context.WithTimeout" - Go code using context.WithTimeout
32- "lang:typescript useState type:symbol" - TypeScript React useState hooks
33- "repo:^github\.com/kubernetes/kubernetes$ pod list type:file" - Kubernetes pod files
34- "file:Dockerfile (alpine OR ubuntu) -content:alpine:latest" - Dockerfiles with base images
35</examples>
36
37<boolean_operators>
38
39- "term1 AND term2" - both terms
40- "term1 OR term2" - either term
41- "term1 NOT term2" - term1 but not term2
42- "term1 and (term2 or term3)" - grouping with parentheses
43  </boolean_operators>
44
45<limitations>
46- Only searches public repositories
47- Rate limits may apply
48- Complex queries take longer
49- Max 20 results per query
50</limitations>
51
52<tips>
53- Use specific file extensions to narrow results
54- Add repo: filters for targeted searches
55- Use type:symbol for function/method definitions
56- Use type:file to find relevant files
57</tips>