CodeBot

CodeBot is your smart, AI-based coding assistant, integrated directly into the Fire and Water development environments.

CodeBot provides a chat-based interface and can help you write, analyze, test, and review code. It has (optional) access to your project, can suggest and make changes for you, and in many cases, even complete entire coding tasks on its own.

Think of CodeBot as a junior pair programmer who’s always ready to help.

Using CodeBot

Before using CodeBot for the first time, you’ll need to set it up, which includes choosing an AI provider and model, and deciding how much access to your code you want to give it.

Once that’s done, you can open CodeBot in the new right-hand panel of Fire or Water by pressing ⌘8/Ctrl+8, or by choosing "Show CodeBot" from the View menu. You can hide it the same way once you no longer need it.

CodeBot provides a chat interface that will feel instantly familiar.

You type your messages into the bottom half of the CodeBot panel and send them with ⌥Enter/Alt+Enter (the default), or simply Enter if you’ve configured it that way.

Your messages and CodeBot’s replies will appear in the top panel—your messages on a gray background, and CodeBot’s on a colored one (yellow in Fire, blue in Water). If CodeBot includes code snippets in its replies, they’ll often come with action links—such as inserting the code directly into your project.

When appropriate (and if you allow it—which is the default), CodeBot can interact with Fire and Water to inspect your project, make changes, add new files, start builds, or run EUnit tests. The chat panel will always inform you of any actions CodeBot performs.

While CodeBot is generating a response, the message field turns gray. You won’t be able to send another message until it finishes (though you can start typing the next one). If it takes too long—or, heaven forbid, gets stuck—you can click the "Cancel" link at the bottom of the chat log.

At the bottom of the chat panel, you may also see two options: "New" and "Clear".

  • New starts a fresh conversation. Your next message will not consider the previous chat context. A black separator line in the log will mark the break.
  • Clear also starts a new session, but removes the previous conversation from the visible chat log entirely.

CodeBot from the Editor

Instead of typing questions or tasks manually, you can also invoke CodeBot directly from the code editor’s context menu. For example, you can select a piece of code and ask CodeBot to analyze it for issues or explain what it does.

Paste & Convert with CodeBot

The "Paste & Convert" submenu, which traditionally uses the deterministic Oxidizer tool to convert code into your language of choice, now also includes a "Paste & Convert with CodeBot" option that leverages AI for the conversion.

Depending on the code snippet, you may get better results with one or the other—if Oxidizer doesn’t do what you want, try CodeBot, and vice versa.

  • Oxidizer uses a strict language parser to interpret the syntax of the original code and converts it to the target language using CodeGen4. It always produces syntactically valid output, but has no semantic understanding of what the code actually does. It can fail if the input is incomplete or contains edge cases.

  • CodeBot, on the other hand, uses a language model to interpret and convert the code. It tends to generate more natural and idiomatic code, but it may introduce small changes or inaccuracies. It might also adjust the intent of the code (sometimes in unexpected ways)—for example, changing APIs or adapting usage patterns.

See Also