It just occured to me that it would be good to do an 'aptitude search blah' and only have non-graphical applications shown.
I know it's not a biggy but the docs don't seem to mention it and I would find it useful to know.
That will search for all packages that don't depend on
I hope that gets you started. Here's more info on aptitude's search terms.
This kind of classification is done by Debtags and you can use aptitude to search packages based on debtags. You can exclude all packages tagged
But instead of excluding X11 apps, you can be more specific, you can look for text based interface only:
Or web-based interface with interface::web. And you can mix that with all other search features of aptitude.
You can also do this search on the web by selecting/excluding more and more tags until you have a small set of packages that you can inspect more closely.