App
Directories inside are just a special case of components. These components are roots of your application. Think of them as rooms if your application is a building.
Components
Components are real things you can touch as a user. If something has source in user action it's a part of a component. Treat these as items you can place wherever you want in your rooms. If a component is not reusable and it's specific for one place keep it in room subdirectory though.
In Pro component is a fullstack concept and it contains also backend.
Services
Services just like components are reusable but they are not material. They are pure ideas you can use in components, jobs or both.
Jobs
As components lives in users world jobs are in hands of operators. They may be fired periodically or manually. As you don't need to care about latency here you might want to run it on a separate server with a separate message bus.
Tools
This is the most amazing part of Pro. Here are placed implementations of different technologies. All of them know and share the structure. That's why you can be polyglot and use whatever language you want in one application.
Procfile
This is a configuration file of Foreman. If you want to support some technology you need to choose the server and tell how to boot it in here.
Component example
articles/
article/
index.jsxindex.jsx
to_pdf.py
edit.rb
article.scss
icon.png
get.rb
README.md