Project Examples
Simple monolith app
In this common setup, you have a single repo with many branches.my-elixir-phoenix-app
acai.json
features
...
acai push, the system will either create a new Implementation, or update an existing Implementation, depending on which branch you pushed from.
Each implementation tracks 1 branch. For example, Production implementation tracks main branch, and your Staging implementation tracks dev branch.
When you merge work from dev to main, you can run acai inherit to automatically promote all your progress updates and QA notes from Staging to Production, or set up a github action to do that automatically.
Multi-repo projects
In this more complex setup, you may have isolated services in their own git repos with their own git history.nextjs-frontend-repo
acai.json
features
...
fastapi-backend-repo
acai.json
...
payments-microservice-repo
acai.json
...
- You start by
pushing thefeature.yamlfiles, which in this case were in thefrontendrepo. Let’s call this implementation “Production”. - You tell acai to track 2 additional branches;
backend/mainandmicroservice/main. - You make changes on any of the branches, and running
push. Any changes you made to the spec, to the requirements, or to code & test references will appear in that implementation. - If you merge a downstream PR into one of those branches, you can use
acai inheritto bring in the QA notes and statuses too!