Developer Docs

Codebots and Git

A codebot commits to a git repository in the same manner a human would with one small difference, a codebot always commits only to the develop branch.

When a codebot writes code and commits it, it always uses the same git commit message Re-write target application. The reason for this message is that a bot is always directed by a human in the changes it makes. As far as the bot is concerned, it always performs the same action: writes the code based on the model.

Given a bot is directed by a human, it will attribute any changes made to the person who directed it to write the code (press the build button).

An example of a commit log from a bot will appear as follows:


As can be seen in this commit log, the top three commits where performed by the bot when it re-wrote the code as directed to by Kellie.

The first commit was performed by Codebots, not the bot, and the second from the bottom was a human commit.

Versioning and branching with a bot

The bot only writes code to the develop branch of a repository. For some versioning and branching policies this may cause issues; as developers we become concerned with how we can trust a branch which can easily change (potentially every time a person presses the build button).

There are many ways of working with this problem. One solution is to create a new branch to allow for the manual management of bot written code and human written code. For this example, this branch will be called develop-human.


In this flow, we allow the human developers to maintain strict control over the codebase whilst still having the benefits of using a codebot.

On this page