- Define the package in `<name>.nimble` with `version`, `author`, `description`, `license`, and `srcDir = "src"` — list runtime dependencies with `requires "pkg >= 1.0.0"`.
- Use `nimble tasks` to define project-specific automation: `task docs, "Generate docs": exec "nim doc src/mylib.nim"`.
- Pin dependency versions with exact or bounded constraints: `requires "chronicles >= 0.10.0 & < 1.0.0"` — avoid open-ended `>= x` constraints that break on major releases.
- Use `nimble develop` to install a local package in development mode so changes are reflected immediately without reinstalling.