A darcs working tree (or a repository; the difference is only in your mind) keeps some special files in the directory _darcs in the top level, and nowhere else.
This directory contains a directory called pristine.1 In this directory, an unchanged copy of your files is stored. This is used to find what has been changed from what has been recorded.
There is also an inventory file, which lists all patches that have been applied, in the correct order. The actual patches are stored in the patches directory. The inventories directory contains older inventory files, which describe the history before certain “tags” in the tree. cl-darcs can read repositories with tags, but can't yet create them.
The directory checkpoints contains checkpoints that have been made to eliminate the need of getting every patch since the tree was created. cl-darcs can neither use nor create such checkpoints, though.
The prefs directory contains files that the user is free to edit. The files boring and binaries were described above; see Boring files, and Binary files. The file defaultrepo contains the default repository to pull from, and repos contains repositories you have pulled from at some time. motd contains the “message of the day”, which is printed when you get or pull from this repository.
 Older versions of the original darcs client call it current instead.