So it looks like roc dev and roc run produce binaries that don't have any extensions ... is it a way to have the files have extensions? That would make it easier to .gitignore them.
linux and mac binaries don't tend to have extensions, so that would be a bit strange to do by default. That said, you can always use --output to set it to whatever you like
I guess the lack of extension is why most build systems put everything in a build directory. In like in the case of rust/zig ./target and ./zig-out. We probably should do something similar for roc to make it easy to gitignore. That is the more "correct" solution
Just like for a number of our intermediate artifacts, we should either move them to the global .cache/roc or some sort of local roc-cache or ./roc-cache. I think this would all be welcome improvements (of course with a bit of discussion on the exact order/location/name for the pieces).
We also potentially will want two different folders, which is a bit odd. One in the platform directory if you have a locally compiled platform. One for where actual apps are built.
This sounds like a good idea.
I like the idea of a roc-cache, but not the idea of a build directory. In my time as a go developer, it never was a problem to add /my-binary to .gitignore. Yes, it is not so generic, but I only have to add it once. This is very little work for the convenient having the binary at the place, where I built it. It is nice to call roc build && ./main.
For someone without any knowledge of rust, it took me some time to find the roc-binary after running cargo build.
I think roc dev and roc run should not put binaries in the local directory. A tempdir seems fine for now, if someone wants to make that change!
long-term, I want to avoid having roc builds create any local directories unless you explicitly ask for them (via --output)
Sweet yeah that sounds great to me.
Can we still put (or at least accept) a subfolder in the platform directory for all of the roc related output....actually I think this may already be planned as part of the platform changes. I think we plan to enable the platform to specify the exact file path. So then the platform can put it wherever.
Last updated: Nov 09 2025 at 12:14 UTC