@@ -6,9 +6,25 @@ AssistAI is an Eclipse IDE plugin that integrates LLM assistants (OpenAI, Anthro
66## Project Structure
77- ` plugins/com.github.gradusnikov.eclipse.plugin.assistai.main/ ` — main plugin (Java 21, Eclipse PDE)
88 - ` src/com/github/gradusnikov/eclipse/assistai/ ` — source root
9- - ` mcp/servers/ ` — MCP server endpoint classes (` @McpServer ` annotated)
10- - ` mcp/services/ ` — service classes with business logic
11- - ` network/clients/ ` — API connector clients (OpenAI, Gemini, Grok, etc.)
9+ - ` chat/ ` — chat session management
10+ - ` commands/ ` — Eclipse command handlers
11+ - ` completion/ ` — code completion integration
12+ - ` handlers/ ` — event and request handlers
13+ - ` jobs/ ` — Eclipse background jobs
14+ - ` mcp/ ` — MCP (Model Context Protocol) implementation
15+ - ` annotations/ ` — ` @McpServer ` , ` @Tool ` , ` @ToolParam ` annotations
16+ - ` http/ ` — HTTP server infrastructure (auth, registry, preferences)
17+ - ` local/ ` — in-memory MCP transport
18+ - ` servers/ ` — MCP server endpoint classes (` @McpServer ` annotated)
19+ - ` services/ ` — service classes with business logic for MCP tools
20+ - ` models/ ` — data models
21+ - ` network/clients/ ` — API connector clients (OpenAI, OpenAI Responses, Anthropic, Gemini, Grok, DeepSeek, Groq)
22+ - ` preferences/ ` — preference pages and initializers
23+ - ` prompt/ ` — prompt templates and management
24+ - ` resources/ ` — resource caching
25+ - ` services/ ` — top-level services (separate from MCP services)
26+ - ` tools/ ` — utility classes
27+ - ` view/ ` — UI views and editors
1228- ` tests/com.github.gradusnikov.eclipse.plugin.assistai.main.tests/ ` — test project
1329
1430## MCP Tools Available
@@ -17,14 +33,42 @@ This project exposes Eclipse IDE capabilities as MCP tools. When working on code
1733- ** eclipse-coder** — file editing, refactoring, patching, formatting
1834- ** eclipse-ide** — code analysis, navigation, testing, building, search
1935- ** eclipse-runner** — launch, debug, breakpoints, stepping
36+ - ** eclipse-context** — resource caching, file history, workspace context
37+ - ** eclipse-git** — git operations (status, diff, commit, branch, stash)
38+ - ** eclipse-pde** — PDE target platform management
39+ - ** duck-duck-search** — web search via DuckDuckGo
40+ - ** webpage-reader** — fetch and read web pages
41+ - ** memory** — thinking/memory tool for reasoning
42+ - ** time** — time zone conversion and current time
2043
2144## Key Conventions
2245- Use ` eclipse-coder__applyPatch ` for multi-hunk edits (more reliable than replaceString)
2346- Use ` eclipse-coder__replaceString ` for single targeted replacements
2447- Always check ` eclipse-ide__getCompilationErrors ` after code changes
2548- Use ` eclipse-ide__getProjectLayout ` with ` scopePath ` and ` maxDepth ` for large projects
26- - MCP tool annotations: ` @McpServer ` , ` @Tool ` , ` @ToolParam ` in the ` mcp. annotations ` package
49+ - MCP tool annotations: ` @McpServer ` , ` @Tool ` , ` @ToolParam ` in the ` mcp/ annotations ` package
2750- Service classes in ` mcp/services/ ` contain business logic; server classes in ` mcp/servers/ ` are thin wrappers
2851
52+ ## Testing
53+
54+ Test project: ` com.github.gradusnikov.eclipse.plugin.assistai.main.tests `
55+
56+ ### Plain JUnit (run with ` runClassTests ` / ` runAllTests ` )
57+ - ` com.github.gradusnikov.eclipse.assistai.chat.ConversationContextTest `
58+ - ` com.github.gradusnikov.eclipse.assistai.prompt.MarkdownParserTest `
59+ - ` com.github.gradusnikov.eclipse.plugin.assistai.main.HtmlToMarkdownConverterTest `
60+ - ` com.github.gradusnikov.eclipse.plugin.assistai.mcp.servers.TimeMcpServerTest `
61+
62+ ### Plugin Tests (run with ` runJUnitPluginTestClass ` / ` runJUnitPluginTests ` )
63+ - ` com.github.gradusnikov.eclipse.assistai.prompt.ChatMessageFactoryTest `
64+ - ` com.github.gradusnikov.eclipse.plugin.assistai.mcp.servers.PDEMcpServerTest `
65+ - ` com.github.gradusnikov.eclipse.plugin.assistai.mcp.services.CodeEditingServiceTest `
66+ - ` com.github.gradusnikov.eclipse.plugin.assistai.mcp.services.MavenServiceTest `
67+ - ` com.github.gradusnikov.eclipse.plugin.assistai.mcp.services.CodeAnalysisServiceTest `
68+ - ` com.github.gradusnikov.eclipse.plugin.assistai.mcp.services.CoverageServiceTest `
69+ - ` com.github.gradusnikov.eclipse.plugin.assistai.mcp.services.PDEServicePluginTest `
70+ - ` com.github.gradusnikov.eclipse.plugin.assistai.mcp.services.GitServiceTest `
71+ - ` com.github.gradusnikov.eclipse.plugin.assistai.mcp.transport.SdkHttpStreamingTest `
72+
2973## Build
30- Eclipse PDE project — build via Eclipse or ` mvn clean verify ` from the repo root.
74+ Eclipse PDE project — for a full build, run ` mvn clean verify ` from the repo root via the shell (do not use Eclipse MCP tools for full builds) .
0 commit comments