Many people find themselves eventually supporting multiple applications, and desire to share code between apps. This leads to the concept of microservice architecture, and all-package apps. Essentially, the code from the entire classic directory structure is refactored out into packages.
Even though there is no hard-coded logic for directories in packages, we find that it's a good practice to use the classic directory structure when creating packages. This creates a natural refactor path as features are prototyped in the app, and then extracted into packages to be published and shared. The directory names are shared, so there's less confusion among team members.
client/ # client application code packages/ # place for all your atmosphere packages packages/foo/client # client application code packages/foo/lib # any common code for client/server packages/foo/server # server code packages/foo/tests # tests server/ # server code