java-dev-assist-extension
Development assistant for Java 17+, Quarkus, and Spring Boot. Focuses on code review, stacktrace analysis, and architectural boundaries.
Open source Open in the app JSON README (API)
About
Development assistant for Java 17+, Quarkus, and Spring Boot. Focuses on code review, stacktrace analysis, and architectural boundaries.
Details
- Kind
- Plugins
- Topic
- Developer tools
- Publisher
- grzegorz-golowicz
- Origin
- gemini
- Category
- ferramentas
- Version
- 0.1.0
- Stars
- 2
- Last push
- 2025-12-28T11:07:58Z
- Repository state
- ativo
- Language
- Shell
- Added
- 2026-08-30 14:13:39
- Updated
- 2026-08-30 14:13:39
- Origin id
grzegorz-golowicz/java-dev-assist-extension
README
# Java Dev Assist Extension **Java Dev Assist** is an expert AI assistant extension for the Gemini CLI, specializing in **Java 17+**, **Quarkus**, and **Spring Boot** development. It assists developers with code reviews, debugging stack traces, managing dependencies, and enforcing architectural boundaries. ## ๐ Features * **Stack Specialization**: Optimized for Modern Java (17+), Quarkus, and Spring Boot. * **Context Awareness**: Automatically detects build systems (Maven/Gradle) and project frameworks to provide relevant suggestions. * **Safety First**: Prioritizes non-destructive analysis and asks for confirmation before making changes. * **Architectural Guardrails**: Includes specific tools to enforce domain boundaries (e.g., keeping DTOs out of Service layers). ## ๐ฆ Installation To install this extension from the repository: ```bash gemini extensions install https://github.com/grzegorz-golowicz/java-dev-assist-extension ``` To install locally for development: ```bash gemini extensions install . ``` To update the extension after making changes: ```bash gemini extensions uninstall java-dev-assist-extension && gemini extensions install . ``` ## ๐ Commands ### `/java` **Description**: Displays the main help menu and index of available commands. **Usage**: ```bash /java ``` ### `/java:readme` **Description**: Creates or updates README.md for the analyzed Java project using either README.guidelines.md (if present) or the built-in defaults. **Usage**: ```bash /java:readme ``` **Notes**: * Only AI-managed blocks wrapped by `<!-- AI:START -->` and `<!-- AI:END -->` are updated; manual content stays untouched. * Output follows a neutral, technical tone and defaults to a conservative structure when no guidelines file exists. ### `/java:api:lint` **Description**: Lints the API contract for standards compliance and consistency. Supports OpenAPI (YAML/JSON) or Java controller/DTO analysis. **Usage**: ```bash /java:api:lint ``` **Output**: * Contract source and location. * Standards violations (MUST-FIX/WARN). * Consistency drift (Dominant conventions vs deviations). * Recommended actions. ### `/java:stacktrace` **Description**: Analyzes Java stack traces to identify root causes and propose concrete fixes. **Usage**: ```bash /java:stacktrace <paste_your_stacktrace_here> ``` **Output**: * Root cause analysis. * Most likely failing component. * Recommended immediate checks and fixes. ### `/java:review` **Description**: Smart code review assistant. Analyzes `git diff` for logical risks, security vulnerabilities, regressions, and missing tests. It avoids style nitpicks to focus on high-value feedback. **Usage**: ```bash # Review current unstaged changes /java:review # Review changes against the previous commit /java:review HEAD~1 ``` **Output**: * Risk assessment (High/Medium/Low). * Evidence from the code. * Recommended actions (Must-do, Should-do). ### `/java:deps` **Description**: Analyzes project dependencies (Maven/Gradle). Checks for version conflicts, outdated libraries, and known security vulnerabilities. **Usage**: ```bash /java:deps ``` ### `/java:boundary` **Description**: Enforces architectural boundaries. Currently focuses on the rule that **DTO types must not appear in Service method signatures**. **Why**: This ensures business logic remains agnostic to the transport layer (REST, gRPC, etc.). **Usage**: ```bash /java:boundary ``` **Output**: * Confirmed violations (Service methods accepting/returning DTOs). * Suspected violations. * Refactoring recommendations. ## โ๏ธ Core Principles 1. **Safety First**: We verify before we act. Destructive commands require user confirmation. 2. **No "Magic"**: We explain *why* a change is suggested. We don't generate massive blocks of code without understanding the context. 3. **Context Aware**: We read `pom.xml` or `build.gradle` first to tailor advice to your specific stack. ## README automation (java:readme) The `java:readme` command determines whether a `README.guidelines.md` file is available and applies its structure. If not, it falls back to a default order: Project Overview, Tech Stack, Build & Run, Project Structure, Configuration, and optional Limitations/Notes. Only the AI-managed block below is updated automatically; anything outside remains manual. <!-- AI:START --> ## Project Overview TODO: Summarize the analyzed Java project's purpose based on build configuration and visible source layout. ## Tech Stack TODO: Note the detected build tool (Maven/Gradle), Java version, and frameworks (e.g., Spring Boot, Quarkus) inferred from dependencies. ## Build & Run TODO: Provide the exact build/run commands observed (e.g., `./mvnw spring-boot:run`, `./gradlew quarkusDev`). Leave TODO if not discoverable. ## Project Structure TODO: Outline key modules or directories in the repository using visible paths. ## Configuration TODO: List main configuration files (e.g., `application.properties`, `application.yml`) and any notable settings surfaced in the codebase. ## Limitations / Notes TODO: Capture known constraints or gaps; if unknown, keep TODO. <!-- AI:END --> ## Validation To verify that `java:readme` produced an English README with non-empty AI-managed content and markers, run: ```bash ./scripts/readme-validation.sh ``` ## ๐ Project Structure * `GEMINI.md`: System instructions and agent persona. * `gemini-extension.json`: Extension manifest. * `commands/`: TOML definitions for each command.