# Project structure ## Minimal project ```text project/ - dcr.toml - src/ - - main.c ``` ## Typical generated/optional files ```text project/ - dcr.toml - dcr.lock - src/ - - ... source files ... - target/ - - debug/ - - - obj/ - - - deps/ - - release/ - - - obj/ - - - deps/ ``` ## Meaning - `dcr.toml`: main project configuration. - `dcr.lock`: generated lock file for resolved path dependencies. - `src/`: recursively scanned source directory. - `target///obj/`: cached object files for incremental rebuild (where `` is `native` or target triple). - `target///deps/`: synchronized copies of path dependencies. - `target///` (or `.exe` on Windows): output for `kind = "bin"`. - `target///lib.a` (or `.lib` on Windows): output for `kind = "staticlib"`. - `target///lib.so` (or `.dylib` on macOS, `.dll` on Windows): output for `kind = "sharedlib"`. If `build.target` is set, the final artifact is written to that custom directory, while object cache still stays in `target///obj`.