PyCharm/IntelliJ IDEA plugin for PicoCode RAG Assistant with per-project persistent storage.
- Per-Project Storage: Indexes each project into
.local_ragdirectory - Secure API Key Storage: Uses IDE's built-in password safe
- Real-time Responses: Streams responses from the coding model
- File Navigation: Click on retrieved files to open them in the editor
- Progress Tracking: Visual progress indicator during indexing
- Status Bar Integration: Shows indexing status in the IDE status bar
cd ide-plugins
# Build with default version (0.2.0)
./gradlew buildPlugin
# Or build with a specific version
./gradlew buildPlugin -Pversion=0.2.1The plugin ZIP will be in build/distributions/ with the name intellij-plugin-{version}.zip.
- Build the plugin or download from releases
- In PyCharm/IntelliJ IDEA:
Settings→Plugins→⚙️→Install Plugin from Disk - Select the plugin ZIP file
- Restart IDE
- Open the PicoCode RAG tool window (right sidebar)
- Click "Start Server" to launch the Python backend
- Click "Index Project" to index your current project
- Ask questions in the query box and click "Query"
The status bar (bottom of the IDE) shows the current indexing status:
- ⚡ PicoCode: Indexing... - Project is currently being indexed
- ✓ PicoCode: N files - Project is indexed and ready (shows file count)
- ○ PicoCode: Not indexed - Project created but not indexed yet
- ✗ PicoCode: Error - Indexing error occurred
- PicoCode - Status unknown (server may not be running)
Hover over the status to see detailed information including file and embedding counts.
- PyCharm/IntelliJ IDEA 2023.1 or later
- Python 3.8+ installed and in PATH
- PicoCode backend dependencies installed (
pip install -r pyproject.toml)
- Server Management: Plugin starts Python server as subprocess in project directory
- API Communication: HTTP REST API for project management and queries
- Secure Storage: API keys stored using IntelliJ's
PasswordSafeAPI - File Navigation: Uses IntelliJ's Open API to navigate to retrieved files
- Status Polling: Status bar widget polls
/api/projects/{id}endpoint every 5 seconds
POST /api/projects- Create/get projectGET /api/projects/{id}- Get project status and indexing statsPOST /api/projects/index- Start indexingPOST /api/code- Query with RAG contextGET /api/projects- List projects
To modify the plugin:
- Open
ide-plugins/in IntelliJ IDEA - Make changes to Kotlin files
- Run
./gradlew runIdeto test in a sandbox IDE - Build with
./gradlew buildPlugin(optionally with-Pversion=x.y.z)