Frequently Asked Questions

How do I know if Neo is working on it?

When assigned work or mentioned on a comment, Neo will promptly reply with a comment or a thumbs-up emoji to confirm that it is working on it.

If everything goes well, Neo will add another comment a few minutes later confirming that it is done with the job. This could be a link to a pull request, a series of questions, or a description of actions it took.

If something doesn’t go well Neo will add a comment saying so. We have internal alerts to see these errors, but if you want to help giving us some context, Neo’s comment contains a trace-id which you can supply to us.

⚠️ There are sometimes bugs or outages which cause Neo to fail silently without a comment. If Neo has not come back with a response within 15 minutes, please Contact Support since these are hard for us to detect.

How long does it take for Neo to complete a task?

Normally Neo takes around 3 minutes, sometimes it can take 5 or 10 minutes. If you have asked Neo to edited dozens or hundreds of files, it could take longer. The timing is dominated by the response of the models and the complexity of the task.

The first time you use Neo on a large repository it will take 5 minutes longer, as it does its initial investigation of the codebase.

What is Neo good and not good at?

Neo can be good at large and complex tasks, so don’t shy away from asking Neo to do this type of work. Other solutions often claim to be “a junior developer” or “an intern”. Neo is not that. Ask Neo both easy things and complex things. Anything you have specified well enough so that you could get someone to help you, Neo will probably be able to help you as well.

Should I expect Neo to always complete my tasks successfully?

Don’t always expect Neo to get things 100% right - but even then Neo’s output can be very useful. Just as with others on the team, it’s very common that you will have an opinion on the code that was submitted.

This is why we have brought Neo to your tools, so that your reviewing and refining is as natural as with others in the team. And just as with your colleagues’ code, sometimes it’s easier to finish the work yourself rather than explaining how and why you want it in a different way.

It is extremely satisfying when Neo sends a complex pull request modifying 5 to 10 files, passes CI, and the code is ready to merge, or requires only one or two comments!

However, a common way to have Neo work on complex items is for Neo to perform 80% of the work successfully and then manually check out the branch and finish the job. We are seeing 2x and 3x productivity gains when using Neo this way - ambitiously and cooperatively.

See Workflows for coding with Neo for more ideas.

How do I get Neo to work on other repositories?

Currently Neo maps project issues to a code repositories, as long as one issue (task) only requires work on one repository. To do this, there needs to be a deterministic way of knowing when an issue should be resolved against a given repo. This could be using components, labels, custom fields, ….

See Configure Code Repository for more information.

At the moment Neo is not able to reference code from other private repositories. If you want to reference code in a public repository, you can paste links in the tasks you assign to Neo.

Can I setup Neo to send Pull Requests as Drafts?

Yes! Any repository can be set up so that Neo’s Pull Requests are sent as final or draft. See Draft PRs for more information.