{"id":34725355,"url":"https://github.com/emilianbold/claude-code-netbeans","last_synced_at":"2025-12-25T02:26:28.826Z","repository":{"id":313013511,"uuid":"1049671379","full_name":"emilianbold/claude-code-netbeans","owner":"emilianbold","description":"A NetBeans IDE plugin that provides integration with Claude Code through the Model Context Protocol (MCP).","archived":false,"fork":false,"pushed_at":"2025-10-23T20:32:35.000Z","size":204,"stargazers_count":8,"open_issues_count":2,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-10-23T22:23:56.340Z","etag":null,"topics":["claude","claude-code","netbeans","plugin"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/emilianbold.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-03T10:22:11.000Z","updated_at":"2025-10-23T20:32:39.000Z","dependencies_parsed_at":"2025-09-03T12:26:26.634Z","dependency_job_id":"38bf2e5c-f9f2-40d1-a5f2-391589bd2400","html_url":"https://github.com/emilianbold/claude-code-netbeans","commit_stats":null,"previous_names":["emilianbold/claude-code-netbeans"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/emilianbold/claude-code-netbeans","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emilianbold%2Fclaude-code-netbeans","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emilianbold%2Fclaude-code-netbeans/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emilianbold%2Fclaude-code-netbeans/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emilianbold%2Fclaude-code-netbeans/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/emilianbold","download_url":"https://codeload.github.com/emilianbold/claude-code-netbeans/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emilianbold%2Fclaude-code-netbeans/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28017200,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-25T02:00:05.988Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["claude","claude-code","netbeans","plugin"],"created_at":"2025-12-25T02:26:24.197Z","updated_at":"2025-12-25T02:26:28.819Z","avatar_url":"https://github.com/emilianbold.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Claude Code NetBeans Plugin\n\nA NetBeans IDE plugin that provides integration with Claude Code through the Model Context Protocol (MCP).\n\n![Downloads](https://img.shields.io/endpoint?url=https://openbeans.org/plugin-counter/api/118)\n\n## Features\n\n- **Automatic Detection**: Creates a lock file that Claude Code CLI can discover\n- **WebSocket Communication**: Establishes real-time communication using MCP over WebSocket\n- **IDE Integration**: Provides access to NetBeans project structure, file operations, and editor content\n- **File Operations**: Read, write, and list files through Claude Code\n- **Project Management**: Access open projects and project files\n- **Document Access**: Retrieve content from open documents in the editor\n\n## Installation\n\n### Prerequisites\n\n- NetBeans IDE 23.0 or later\n- Java 11 or later\n- Maven 3.6 or later\n\n### Building the Plugin\n\n1. Clone or download this project\n2. Navigate to the project directory\n3. Build the plugin:\n\n```bash\nmvn clean package\n```\n\n4. The plugin will be built as `target/claude-code-netbeans-1.0.0.nbm`\n\n### Installing in NetBeans\n\n1. Open NetBeans IDE\n2. Go to **Tools \u003e Plugins**\n3. Click the **Downloaded** tab\n4. Click **Add Plugins...** and select the `.nbm` file\n5. Follow the installation wizard\n6. Restart NetBeans when prompted\n\n## Usage\n\n### Automatic Startup\n\nThe plugin automatically starts when NetBeans launches and:\n\n1. **Creates Lock File**: Writes connection information to `~/.claude/ide/{port}.lock`\n2. **Starts WebSocket Server**: Listens on an available port (8990-9100 range)\n3. **Updates on Changes**: Refreshes workspace information when projects are opened/closed\n\n### Using with Claude Code\n\n1. **Install Claude Code**: Follow the [official installation guide](https://docs.anthropic.com/en/docs/claude-code/overview)\n\n2. **Start NetBeans**: Open NetBeans with your project\n\n3. **Run Claude Code**: In any terminal, run:\n   ```bash\n   claude\n   ```\n\n4. **Verify Connection**: Claude Code should automatically detect NetBeans. You can verify with:\n   ```bash\n   /ide\n   ```\n\n### Available MCP Tools\n\nThe plugin provides these tools to Claude Code:\n\n#### File Operations\n- `read_file`: Read file contents\n- `write_file`: Write content to files\n- `list_files`: List directory contents\n\n#### Project Operations\n- `get_open_projects`: List all open projects\n- `get_project_files`: Get files in a specific project\n\n#### Editor Operations\n- `get_open_documents`: List open documents\n- `get_document_content`: Get content from open documents\n\n### Plugin Status\n\nCheck the plugin status through **Tools \u003e Claude Code Status** in the NetBeans menu.\n\n## Architecture\n\n### Components\n\n1. **ClaudeCodeInstaller**: Main plugin lifecycle manager\n2. **LockFileManager**: Handles lock file creation and updates\n3. **WebSocketMCPServer**: WebSocket server for MCP communication\n4. **NetBeansMCPHandler**: Processes MCP messages and provides IDE capabilities\n5. **MCPWebSocketHandler**: WebSocket message routing\n\n### Communication Flow\n\n```\nClaude Code CLI → WebSocket → NetBeans Plugin → NetBeans IDE APIs\n                ←           ←                  ←\n```\n\n### Lock File Format\n\n```json\n{\n  \"pid\": 12345,\n  \"ideName\": \"NetBeans\",\n  \"transport\": \"ws\",\n  \"port\": 8991,\n  \"workspaceFolders\": [\"/path/to/project\"]\n}\n```\n\n## Development\n\n### Project Structure\n\n```\nsrc/main/java/org/openbeans/claude/netbeans/\n├── ClaudeCodeInstaller.java      # Plugin lifecycle\n├── LockFileManager.java          # Lock file management\n├── WebSocketMCPServer.java       # WebSocket server\n├── MCPWebSocketHandler.java      # WebSocket message handler\n├── NetBeansMCPHandler.java       # MCP protocol implementation\n└── ClaudeCodeAction.java         # Status action\n\nsrc/main/resources/\n├── org/openbeans/claude/netbeans/Bundle.properties\n└── META-INF/services/org.openide.modules.ModuleInstall\n\nsrc/main/nbm/\n└── manifest.mf                   # Plugin manifest\n```\n\n### Dependencies\n\n- **NetBeans Platform APIs**: IDE integration\n- **Model Context Protocol SDK**: MCP implementation\n- **Jetty WebSocket**: WebSocket server\n- **Jackson**: JSON processing\n\n### Building for Development\n\n```bash\n# Build and install in development NetBeans\nmvn clean install nbm:run-ide\n\n# Package for distribution\nmvn clean package\n```\n\n## Troubleshooting\n\n### Plugin Not Loading\n- Check NetBeans logs: **View \u003e IDE Log**\n- Verify Java 11+ is being used\n- Ensure all dependencies are available\n\n### Claude Code Not Connecting\n- Verify lock file exists: `~/.claude/ide/{port}.lock`\n- Check if WebSocket port is accessible\n- Review plugin status: **Tools \u003e Claude Code Status**\n\n### WebSocket Connection Issues\n- Check firewall settings for the port range (8990-9100)\n- Verify no other applications are using the ports\n- Review NetBeans and plugin logs\n\n## Contributing\n\n1. Fork the repository\n2. Create a feature branch\n3. Make your changes\n4. Add tests if applicable\n5. Submit a pull request\n\n## License\n\nSee the LICENSE file for details.\n\n## Support\n\nFor issues and questions:\n- Check the NetBeans IDE logs\n- Review Claude Code documentation\n- Create an issue in the project repository\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femilianbold%2Fclaude-code-netbeans","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Femilianbold%2Fclaude-code-netbeans","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femilianbold%2Fclaude-code-netbeans/lists"}