Git ready
You can now sync a 3B space to a Git repository. Every space becomes a directory of workflows in your repo, changes made in 3B open as pull requests, and merges sync back into 3B. Your workflows get the same review, history, and CI as the rest of your code.
A Git integration has been on our minds since we started building 3B. Most teams already keep their code in some Git provider, so it only made sense to let users store 3B code there too. And the design came together more easily than I initially expected! A workflow is already a directory of files and a space is a directory of workflows. 3B’s native version control also maps closely onto Git’s, so we could mirror much of what Git does under the hood.
My favorite part about this feature is how a sync actually runs. Each one executes in the same isolated sandbox we use for workflows, and authenticates to your repo through a connector, so your Git credentials are handled securely like any other secret.
Another part I'm excited about is a space can be synced to a subdirectory of an existing repository, not just a repo of its own, so you can keep all your spaces under /spaces in your monorepo. We use this feature internally to store our workflow code alongside the 3B application code, so all our pull requests are opened against one repository and are subject to the same code quality checks.
For non-technical users that want nothing to do with Git, we made the sync bidirectional, so they can continue to work in 3B and sync changes to the remote with ease.
We had a lot of fun building this and hope you enjoy it, or at least never have to think about it! Next up, we plan to add the ability to run workflow step tests as part of your existing CI.
Find out more about the feature in our docs.