First, you'll need to install the dependencies. In addition to the normal requirements for compiling code, Ag requires PCRE. On Ubuntu, run
apt-get install -y libpcre3-dev to install it. On RHEL/CentOS, run
yum install automake pkgconfig pcre-devel zlib-devel xz-devel to get dependencies. OS X has an older version of PCRE which works fine, but is slower. If you want 20% faster searching, install homebrew, then run
brew install pcre. You can also build and install PCRE manually. The latest tarballs are here.
Once you have the dependencies, run
./build.sh to build Ag.
sudo make install
Basic usage of Ag is simple:
cd to the directory you want to search and run
ag blah to find instances of "blah". You can also run
ag blah /some/path if you don't want to
If you want to learn more options, run
ag --help for usage or
man ag for even more help.
For more advanced usage, see Advanced Usage.
The best way to improve Ag is to submit a pull request. Code speaks louder than words. That said, if you have ideas for improvements, feel free to suggest them in an issue.
My goal with Ag is to build a program that does one thing well, so I'm a little wary of feature creep. I'm especially averse to anything that introduces more dependencies. It's entirely possible that my needs differ from yours, so don't take it personally if your pull request isn't merged. The entire project is Apache Licensed, so you can take the code and do whatever you want.