IntelliJ IDEA plugin for AI-powered code assistance via local or remote Ollama API. Provides a Copilot-like experience with chat and agent modes.
Developed by Turknet DevOps Team
- Chat Mode (Ask): Normal chat with Ollama
- Agent Mode: Analyzes entire project and provides code assistance
- Persistent Chat History: Workspace-based chat history with multiple sessions
- File Mentioning: Use @ to mention files/folders in chat
- Config File Support: YAML or JSON config files
- Environment Variables: Read settings from environment variables
- IntelliJ Settings UI: Configuration from settings panel
To build the plugin:
./gradlew buildPluginThe built file is located at:
build/distributions/lucid-chat-intellij-1.0.0-plugin.zip
- Open IntelliJ IDEA
- Go to File > Settings (or
Cmd+,/Ctrl+,) - Select Plugins from the left menu
- Click the βοΈ (Settings) icon in the top right
- Select Install Plugin from Disk...
- Select the following file:
build/distributions/lucid-chat-intellij-1.0.0-plugin.zip - Click OK
- Restart IntelliJ (Restart IDE button will appear)
cd /path/to/lucid-jbx
./gradlew runIdeThis command opens a new IntelliJ IDEA window with the plugin installed.
- After restarting IntelliJ:
- Go to File > Settings > Lucid Chat
- Configure the settings:
- Ollama Endpoint:
http://localhost:11434(or your Ollama address) - Model Name:
llama3(or the model you use) - API Key: (optional) If Ollama requires an API key
- Configure other settings as needed
- Ollama Endpoint:
You can configure settings from File > Settings > Lucid Chat.
Create .lucid/config.yaml or .lucid/config.json file in project root or home directory:
config.yaml example:
ollamaEndpoint: "http://localhost:11434"
modelName: "llama3"
ollamaApiKey: ""
ollamaApiKeyHeaderName: "Authorization"
enableInlineCompletion: true
inlineCompletionTemperature: 0.2
enableStreamingStatus: false
ollamaExtraHeaders:
X-Request-Source: "lucid-intellij"config.json example:
{
"ollamaEndpoint": "http://localhost:11434",
"modelName": "llama3",
"ollamaApiKey": "",
"enableInlineCompletion": true
}export OLLAMA_API_KEY="llm-..."
export OLLAMA_ENDPOINT="http://localhost:11434"
export OLLAMA_MODEL="llama3"
export OLLAMA_EXTRA_HEADERS='{"X-Request-Source":"lucid-intellij"}'- IntelliJ Settings UI (highest priority)
- Config File (medium priority)
- Environment Variables (lowest priority)
- Open tool window from
Tools > Show Lucid Chat- Or find the Lucid Chat tab among the tool windows on the right
- When the tool window opens, the chat interface will appear
- Select Ask or Agent mode:
- Ask: Normal chat mode
- Agent: Analyzes project files and provides code assistance
- Type a prompt and click Send
- Responses from Ollama will be displayed in the chat panel
Used like normal chat. Responses from Ollama are displayed in the chat panel.
Example:
Prompt: "Write a function to reverse a string in Kotlin"
Analyzes project files and provides code assistance. You can mention specific files using @:
- Type
@to see file list - Select files to include in context
- Agent will prioritize mentioned files
Example:
@AgentHandler.kt What does this file do?
@plugin/src/main/kotlin/com/lucid/chat/ Review this folder
- Get a new build:
./gradlew buildPlugin
- In IntelliJ, go to File > Settings > Plugins
- Find the Lucid Chat plugin
- Click Update or remove the old plugin and install the new one
- Restart IntelliJ
- Do File > Invalidate Caches / Restart
- Make sure Ollama is running:
curl http://localhost:11434/api/tags - Check that the endpoint in Settings is correct
- Select Lucid Chat from View > Tool Windows menu
- Or run the Tools > Show Lucid Chat command
# Build the plugin
./gradlew build
# Test in IDE
./gradlew runIde
# Package the plugin
./gradlew buildPluginThis project uses GitHub Actions for automated releases with semantic versioning.
- Go to Actions tab in GitHub
- Select Release Plugin workflow
- Click Run workflow
- Choose version bump type:
- patch: 1.0.0 β 1.0.1 (bug fixes)
- minor: 1.0.0 β 1.1.0 (new features)
- major: 1.0.0 β 2.0.0 (breaking changes)
- Click Run workflow
The workflow will:
- Automatically increment the version
- Build the plugin
- Create a GitHub release
- Upload the plugin ZIP file as a release asset
- Commit version changes back to the repository
Alternatively, you can create a release by pushing a tag:
git tag v1.0.1
git push origin v1.0.1The workflow will automatically:
- Build the plugin
- Create a GitHub release with the tag version
- Upload the plugin ZIP file
- Config files should be saved as
.lucid/config.yamlor.lucid/config.json - Config file is searched in project root, home directory, or current working directory
- Chat history is stored workspace-based under
~/.lucid-intellij/chatHistory/ - Multiple chat sessions are supported - use "New Chat" to start a new session
- Chat history will be empty when the plugin is first opened
- Separate chat history is maintained for each workspace
- Settings changes take effect immediately (no restart required)
MIT