An unprecedented, deeply integrated AI assistant for the Apache NetBeans IDE, powered by Google’s Gemini models.
Visit our new website: anahata.uno
This plugin is not just a chatbot in a side panel. It’s a true AI partner with direct, programmatic access to the IDE’s core functionalities. It can read and understand your open projects, check for IDE errors, interact with the editor, and even invoke project actions like build
and run
.
In Sanskrit, “Anahata” refers to the heart chakrathe center of balance, compassion, and connection. This plugin is named with that spirit in mind. Our goal is to create an AI assistant that doesn’t just execute commands, but works in harmony with the developer. Anahata is designed to be an intuitive partner, one that understands the context of your work and helps you stay in the creative flow, making the development process feel less like a task and more like a seamless extension of your thoughts.
The Anahata AI Assistant is the premier showcase for the gemini-java-client
, our powerful, enterprise-ready library for integrating Google Gemini into any Java application.
gemini-java-client
is available for developers to build their own custom AI-powered tools and applications. It features a robust tool-calling framework, built-in Swing UI components, and a flexible configuration system. The client is available under a dual-license model (AGPLv3 for open-source, commercial for proprietary use).The key to this plugin’s power is the NetBeansGeminiConfig
class. Unlike traditional AI assistants that receive only a text prompt, this plugin’s configuration class dynamically constructs a rich, detailed set of system instructions for the AI on every single turn of the conversation.
This payload includes:
Projects.getOverview
).Editor.getOpenFiles
).IDE.getAllIDEAlerts
).By providing this live, structured data directly to the model, the assistant can reason about the state of your IDE and take meaningful, context-aware actions using its suite of tools.
AnahataTopComponent
: The main UI window for the assistant, registered to appear in the IDE’s “output” area.NetBeansGeminiConfig
: The central configuration class that bridges the generic gemini-java-client
with the NetBeans environment. It provides the host-specific system instructions and registers the NetBeans-specific tools.functions.spi
package: Contains all the tool implementations that interact directly with NetBeans APIs.(Instructions to be added once the plugin is packaged for distribution).
This project is licensed under the Apache License 2.0. See the LICENSE file for details.