Idiomatic project directory structure?

My project GitHub - kj4tmp/gatorcat: An EtherCAT MainDevice Written in Zig consists of

  1. A module
  2. An executable CLI application to assist users
  3. Examples, which are each executables
  4. Tests

How should I organize this?

Like this?

src/ : source of the executable cli app
lib/ : source of the module
example/example1/ : source of the first executable example
example/example2/ : source of the second executable example

tests next to the stuff they test, 
scattered across source files, mostly in lib/

Does root.zig go in lib/?

Like this?
It’s mostly the same for me.

If the project has multiple executable, it will make apps folder.

apps/
    app1/
        src/
        build.zig : build configuration for `app1`
    app2/
        src/
        build.zig : build configuration for `app2`
lib/
    src/
        root.zig
        build.zig : build configuration for lib
        ....
build.zig : build configuration for workspace. build all app/test here.

If I’ve planed e2e test, it will make tests folder.