Interesting library. I think I could use for agents running in virtual volumes. I maintain an agentic runtime written on Go. What is the best way to incorporate bashkit.sh?
Yeh, bashkit was in general developed mostly for agentic runtimes. So it might be a good fit, especially if there is a need to run agent in some isolation.
Regarding incorporating in Go, it is actually long due to make sure that bashkit have stable ABI, I think I need to look at it next week, that would allow having support for Go, C++ and Zig.
I however would rather recomend starting from https://github.com/ewhauser/gbash , this library is philosophically very similar, and it is native Go.
I integrated the gbash and benchmarked it. gbash is not production grade yet. There are issues with tools implementation and compatibility (I added findings as issues) and performance issues (avg ~30% slower than system C utilities, grep is way slower). Here is full report: https://loomcycle.dev/blog/bashbox-in-process-shell-sandbox
Thank you for good advise. The agentic runtime I'm developing uses system Bash and has to spawn system processes. The pure Go is better match. Checking the repo.
Regarding incorporating in Go, it is actually long due to make sure that bashkit have stable ABI, I think I need to look at it next week, that would allow having support for Go, C++ and Zig.
I however would rather recomend starting from https://github.com/ewhauser/gbash , this library is philosophically very similar, and it is native Go.