The way I structure projects is that the package root is the repository root (the directory holding te source code) and the Racket package is a multi-collection package.
The PACKAGE_NAME variable is initially the same as the name of project directory.
If the package has a CLI (command-line interface) the file to run that interface should be named "PACKAGE_NAME/main.rkt" (controlled by the ENTRYPOINT variable).
Scribblings are in "PACKAGE_NAME/scribblings" directory and the main scribble file is named "PACKAGE_NAME.scrbl".
Generated binary (exe target) appears in "bin" directory and documentation in doc (docs target).