# Gleam `dev` Currently Gleam code has to reside in one of two directories. - `src`: The directory for production code that is part of the application or library itself. - `test`: The directory for non-production code. This is likely mostly test code, but it could also include development helpers, code generation, etc. The non-production directory being called `test` has been a repeat source of confusion. The name implies it is only for test code, and so some folks have taken to adding development code to their production application or library by putting it in `src`. It's also unclear how to add development specific code to your application and it is not uncommon to have development-only code such as environment management live within the `src` directory. ## The proposal I think renaming the `test` directory to `dev` would resolve this problem, setting clearer expectations about how to structure Gleam projects. The `test` directory would continue to be loaded if `dev` is absent, but the name would be deprecated and would emit a warning if used to house Gleam code. `gleam fix` could rename `test` to `dev` if it contains Gleam code. Further a `gleam dev` command could be added, which would be similar to `gleam test`, serving as a shorthand for `gleam -m "$PACKAGE"_dev`, which would be an optional development entrypoint for the project. This new entrypoint function would be the recommended place to setup or inject development specific behaviour into the application defined in `src`.