I have found that makefiles (yes, the ones you use for compiling software) are a powerful way to at the same time automate and document what you do. The basic syntax of makefiles in my mind fits very well with what you would like to capture for documentation purposes:
the_file_you_made: an_input_file another_input_file
some_command --important-option $< > $@
In other words you write down which files you make, from which other files, by running which commands. Best of all, you write it down in a computer-readable from, which allows you to easily rerun everything that needs to rerun if you discover a mistake in some step.
Better yet, the wildcard options allows you to automate all the bread-and-butter bioinformatics tasks:
# Convert Genbank file to FASTA format.
%.fasta: %.gbk
gbk2fasta $< > $@
I find that the latter way of using makefiles have several desirable effects. Firstly, it gives people a motivation to actually use makefiles (and as a nice side effect document what they did). Secondly, such rules rely heavily on how you name files, which encourages people to standardize how they name files.
I have used this on many projects over the years, starting back when I did my M.Sc. thesis. A large part of the project was to analyze the S. cerevisiae genome (which still quite new at the time). Imagine downloading a new, improved assembly and annotation of the genome in Genbank format, typing make
, and have every analysis redone based on your "lab notebook". That was what I did just one month before handing in my report :-)
Strict is a loose term. A convention could be as simple as "document what you did" so that a reasonable person doesn't have to spend valuable time doing forensic bioinformatics to reverse engineer a directory full of results just to make sure they understand how they were derived. Most bioinformaticians I work with document nothing. If you're working as part of a group, conventions are important. Exactly how they are spelled out is less important than doing nothing and leaving problems. If people can't understand what you did, it doesn't count. (BTW, I too use MoinMoin)
You're right, all should document what they did, for their own good, to re-use their own protocols. Documenting everything for others would take too much time, though. And you cannot know which of your protocols will be any useful for others. As solution, other people from your group should more or less know what you do and what tools you use, and then if they need sth, they ask, and if you can help, you send them the protocol adding the explanations.