As noted earlier, the goals of an archive and the goals of a working TeX system are sometimes in conflict. We encourage package authors to consider how their packages fit into a working TDS system and to document (or, preferably, automate) how the files should be moved from the archive structure into the TDS structure.
For example, a package for Martian language typesetting that works with Plain TeX and LaTeX might be distributed as the following:
martian-1.0/README martian-1.0/doc/martdoc.tex martian-1.0/doc/example.tex martian-1.0/hyphen/marthyph.tex martian-1.0/plain/martian.tex martian-1.0/latex/martian.sty martian-1.0/latex/OT1mart.fd martian-1.0/fonts/martian.mf martian-1.0/fonts/mart10.mf martian-1.0/fonts/mart10.tfm
Documentation accompanying the distribution should describe how to construct the corresponding TDS structure:
texmf/doc/latex/martian/README texmf/doc/latex/martian/martdoc.tex texmf/doc/latex/martian/example.tex texmf/doc/plain/martian/README texmf/tex/generic/hyphen/marthyph.tex texmf/tex/plain/martian/martian.tex texmf/tex/latex/martian/martian.sty texmf/tex/latex/martian/OT1mart.fd texmf/fonts/source/public/martian/martian.mf texmf/fonts/source/public/martian/mart10.mf texmf/fonts/tfm/public/martian/mart10.tfm
Note that the main documentation is stored in the latex section of the documentation tree, but a README file also occurs in the plain section---presumably to point users to the latex files.