Motivation
Many AI-powered code automation tools, such as those for documentation generation and pull request reviews, operate as black boxes. They typically rely on predefined means of interacting with LLM APIs, limiting user control over the underlying language model and how it is used. This lack of direct access makes it difficult to customize behavior or fine-tune the tool for specialized use cases. Instead, we simply provide the mechanism and infrastructure to execute automations, and leave the underlying implementations to you (with great starting points from our open-source automations).
We abstract away only the tedious aspects of automation: dedicated runtimes, integrations, and interfacing with git providers (commenting, committing, opening pull requests, etc.). With these components, you can build nearly anything (including Devin), and we think you’ll be surprised with how easy it is to create tailored automations.
We’re not completely throwing you into the dark, though. Pre-built automations are available on the Hub which can be installed and used directly, or used as a starting point for your own automations.
Why Python?
We chose Python because AI automations are at the core of the platform. With respect to this bias, Python has the best ecosystem for AI tooling. We’d like to support other languages in the future, but Python can accomplish many use cases for the time being.
While AI automations are the intended use case, you can also write non-AI automations just as easily. Blocks can function as a drop-in for some subset of CI/CD automations. Relative to YAML and bash scripts, Python provides a more robust means for abstraction, extensibility, error handling, and testabililty.