If you want "foo" to be the checked against the contests of the files in ., do this:
.
grep . -rsni -e "foo"
for more options (-I, -T, ...) see man grep.
man grep
Assuming you want to search inside the files (not the filenames)
If you only want the current directory to be searched (not the tree)
grep * -nsie "foo"
if you want to scan the entire tree (from the current directory)
grep . -nsrie "foo"
shopt -s nullglobshopt -s nocaseglobfor file in *foo*........