I use (and abuse) TaskWarrior and Taskopen
Some examples of use:
task add ExampleName
task
Output
ID Age Project Tag Recur Description Urg 3 7s ExampleName 0
task 3 annotate Nice Annotation
task 3 annotate /path/to/file
task 3 annotate http://arnaud.fortier-family.com
task 3 modify +NiceTag
taskopen 3 Please select an annotation: 1) /path/to/file ("ExampleName") -- 3 2) http://arnaud.fortier-family.com ("ExampleName") -- 3 Type number(s):
Other nice examples: