Reading the question properly, I think it's worth:
* Updating the manual to use needed, and at that point explain the
distinction between need and needed:
https://github.com/ndmitchell/shake/issues/344. Part of the reason for
more reference to need is that need came first, and needed (which is
just need with a check) came much later. I think it's probably worth
rephrasing things to treat them as the two first-class dependency
mechanisms.
* Adding proper docs on lint checking,
https://github.com/ndmitchell/shake/issues/342. If you have proper
trackUse annotations then it's very easy to see that a file is used
before being depended upon. In the next release these features get a
massive boost with a new type of linter that automatically calls
trackUse, making such an error easy to spot.
Thanks, Neil