If you use ranger, the console-based file manager, you can benefit of its plugin system to get it easily entangled with git-annex. As far as I know, there 2 main types of extensions:
Custom commands
ranger lets you define custom commands that can be called. Basically you could easily write proxy ranger commands for all git-annex commands you use. Here have written
:ga_whereisfor outputting whereis information;:ga_setand:ga_tagfor metadata changing;:ga_getand:ga_dropfor quick fetching from remotes and dropping them from local (really useful).
Linemodes
The small string of information that shows on each file line, aligned to the right, is called a infostring. Linemodes in ranger lets you change between its default linemodes or add your own custom linemodes. I have written two git-annex linemodes:
- git-annex-metadata, which shows tags and metadata fields from git-annex; and
- git-annex-whereis, which shows the name of the repositories where each file is (except the current repository, as that should be clear from the ranger colours).
To switch linemodes, just type :linemode git-annex-whereis or :linemode git-annex-metadata.
You can also set default_linemode path=/your/annex/path/.* git-annex-whereis, for example, to have that linemode automatically set whenever you browse your git-annex folder on ranger.
Beware of folders with too many files, as this will read output from git-annex for all the files, so ranger can freeze for some seconds.
As I didn't have any better place to put the code, eveything here is referenced in my dotfiles repository on GitHub. Just copy the two referenced files to your ~/.config/ranger/plugins/ folder and ~/.config/ranger/commands.py file to get this working.
Much other interesting commands and plugins can still be added. Modify this page if you come up with other ideas.

Just find some related / complimentary work for this. It is a bunch of ranger functions that wrap git-annex commands inside ranger:
The code is at https://github.com/matze/ranger-annex
More information on this blog post.