archive, incompatible changes are unlikely to be accepted. But you can easily overload any default behavior with a custom add-on, so why don't you try that out, potentially share that add-on, and if a lot of users like that, it may finally be included in the main app. I wonder though that the todo.txt file would grow all the time if archiving doesn't strip empty lines, doesn't it?
addtoto add the tag automatically. I really just need a unique key/identifier for each task item to implement blockers and dependencies. I was hoping that could be the line number, but it's probably easier with just a new piece of slightly redundant metadata.
archiveand adapt all line number references as preceding lines are removed (and ensure through configuration that other actions like
deldo not remove lines). Actually, I've implemented such a scheme as part of my todo.txt customizations (https://github.com/inkarkat/todo.txt-cli-ex); there's a dedicated
defragmentaction that is invoked by a custom
archive. Dependencies are marked via
w:42; you can check out the test (https://github.com/inkarkat/todo.txt-cli-ex/blob/master/tests/t2090-dependency-workflow.sh) for an overview of the dependency workflow. I cannot wholeheartedly recommend that you just take my customizations - they reflect my own idiosyncratic view, but feel free to use it, maybe just bits and pieces, or maybe decide that it's all too complex and instead use a simple implementation with custom markers...
todo.sh add ...will do just fine, and are just a bit longer to type. Speaking of typing, many people define a shorthand (
alias t=todo.sh) to avoid typing that much. You'll find many tutorials about basic shell usage that teach you this and much more with regards to effective and efficient editing. The shell has a steep learning curve, but it can be worthwhile. On the other hand, if you're not into programming and don't want to become a power user, there are many alternative todo.txt clients that let you do the same task management through a more common graphical or web interface.