Examples (TL;DR)

Find files containing "foo", and print the line matches in context:

ag foo

Find files containing "foo" in a specific directory:

ag foo path/to/directory

Find files containing "foo", but only list the filenames:

ag -l foo

Find files containing "FOO" case-insensitively, and print only the match, rather than the whole line:

ag -i -o FOO

Find "foo" in files with a name matching "bar":100:

ag foo -G bar

Find files whose contents match a regular expression:

ag '^ba(r|z)$'

Find files with a name matching "foo":

ag -g foo

https://www.mankier.com/1/ag