Small services can use a simple layered layout:
src/
main.carrier
00_models/
10_types/
20_actions/
30_routes/
40_async/
Larger services usually benefit from domain folders:
src/
main.carrier
10_patient/
00_models.carrier
10_types.carrier
20_actions.carrier
30_routes.carrier
20_encounter/
00_models.carrier
10_types.carrier
20_actions.carrier
30_routes.carrier
Reusable local modules belong under modules/<org>/<name>/src/. Bare imports such as import "walknorth/forms" resolve from modules/walknorth/forms/src/, and imported declarations remain namespaced behind the module name.