-
Because a complex feature can touch many codebases and branches.
backend/feat/my-feature+frontend/feat/my-feature+db_service/123_migrate_my_tables
- Because the same feature can have many implementations, for example: A) Production implementation B) Dev implementation C) Experimental / POC implementation
- Your Dev implementation tracks a feature branch:
feat/my-feature-1 - You and your agents review the Dev implementation and you mark all requirements as
ACCEPTEDin acai.sh - You merge
feat/my-feature-1intomain - Acai.sh automatically promotes your Dev implementation to Production. The Dev implementation is marked as stale or deleted.
- Your Production implementation tracks the default branch:
mainormaster
- Your Dev implementation tracks two feature branches:
frontend/feat/my-feature-1andbackend/feat/my-feature-1 - Process is similar to example 1. Acai.sh detects when both branches have been merged to the default branches
frontend/mainandbackend/main- then auto-promotes the feature from Dev to Production in acai.sh.
- The microservice team creates a new acai.sh teamspace, creates a new product in it, and writes a standalone feature specs. The advantage is that a microservice spec only need to focus on serving the needs of it’s users (e.g. serving data to the iOS and Android teams)
- The separate teams coordinate by sharing access to eachothers workspaces and by flagging dependencies across them.
- Agents can ship across all repos and products while sharing acai.sh as a central source of truth.