Skip to main content
ClaudeWave

Ship better Java with your coding agent.

PluginsRegistry oficial4 estrellas1 forksPythonMITActualizado today
ClaudeWave Trust Score
95/100
Verified
Passed
  • Open-source license (MIT)
  • Actively maintained (<30d)
  • Clear description
  • Topics declared
  • Documented (README)
Last scanned: 8/26/2026
Install as a Claude Code plugin
Method: Clone
Claude Code
/plugin marketplace add JAIPilot/jaipilot
/plugin install jaipilot
1. Inside Claude Code, add the marketplace and install the plugin with the commands above.
2. Follow any post-install configuration from the README.
3. Restart the session if commands or hooks do not show up immediately.
Casos de uso

Resumen de Plugins

<p align="center">
  <img src="plugins/jaipilot/assets/jaipilot-logo.svg" alt="JAIPilot" width="112">
</p>

# JAIPilot

**Ship better Java with your coding agent.**

JAIPilot helps Codex and Claude Code clean, test, review, modernize, and optimize real Java
repositories without drifting into unnecessary code or unproved changes.

By default, your agent runs Java builds, tests, analysis, profiling, and benchmarks on a ready
remote Java machine whenever the task does not require laptop-only access or state.

JAIPilot does not replace your coding agent or add another AI. It gives your agent focused Java
workflows, remote compute, and one rule: **show evidence, not confidence.**

## Install and run

### Codex

```bash
codex plugin marketplace add JAIPilot/jaipilot
codex plugin add jaipilot@jaipilot
```

### Claude Code

```text
/plugin marketplace add JAIPilot/jaipilot
/plugin install jaipilot@jaipilot
```

Open a Java repository and ask:

```text
Make my current Java changes production-ready without changing their behavior. Add missing tests,
remove unnecessary code, improve only performance you can measure, and run the full verification.
Use JAIPilot Remote for substantial Java commands unless this work needs my laptop.
```

The Java skills work locally as soon as the plugin is installed. When remote execution is useful,
your agent asks before uploading the current tracked and unignored Git files. Approve the upload and
sign in when prompted; the agent handles packaging, integrity checking, upload, execution, logs, and
workspace deletion. You do not create an archive, configure a VM, provide an API key, or copy files
manually. `.git`, ignored files, and remote edits are never transferred back automatically.

If packaging or upload cannot be verified, JAIPilot does not create the workspace. Your agent must
show the failing step instead of silently uploading a different source tree.

| **12.2–80.3% faster** | **61.3–62.5% faster** | **87.5–92.4% faster** | **8 → 2** SQL statements |
| --------------------- | --------------------- | --------------------- | ------------------------ |
| OTel lookup medians   | Micrometer merges     | Calcite JMH medians   | N+1 removed              |

## JAIPilot vs no JAIPilot

The original [Petclinic PR](https://github.com/skrcode/spring-framework-petclinic/pull/21) already
had a green build. JAIPilot reviewed that exact head and produced this
[companion change](https://github.com/skrcode/spring-framework-petclinic/pull/25):

| Metric                         |       Without JAIPilot | With JAIPilot | Outcome                         |
| ------------------------------ | ---------------------: | ------------: | ------------------------------- |
| Tests                          |                     75 |            85 | **+10 tests (+13.3%)**          |
| Changed-method line coverage   |              0/12 (0%) |  11/11 (100%) | **+100 percentage points**      |
| Changed-method branch coverage |               0/8 (0%) |    8/8 (100%) | **+100 percentage points**      |
| `Owner` class line coverage    |          22/53 (41.5%) | 33/51 (64.7%) | **+23.2 points with less code** |
| Production change              | Unused helper remained |   +2/-9 lines | **7 net lines removed**         |
| `Owner` methods                |                     16 |            15 | **1 unused method removed**     |
| `Owner` complexity             |                     25 |            24 | **4% lower**                    |
| Clean Maven verification       |           75/75 passed |  85/85 passed | **Both stayed green**           |

The important result is not simply “more tests.” Without JAIPilot, the build passed while the new
behavior had zero coverage and unused code remained. With JAIPilot, the same behavior stayed green,
the edge cases became executable tests, and production code became smaller.

The comparison uses the original PR head and JAIPilot's direct child commit, clean worktrees, the
same `./mvnw -q clean verify` command, and fresh JaCoCo 0.8.14 reports.

## Measured performance: Apache Calcite

On `skrcode/calcite` at exact commit
[`d3a5d8d`](https://github.com/skrcode/calcite/tree/d3a5d8d9e6713c5fd483810e1aa1f38652d2dd8d),
JAIPilot profiled Calcite's existing
`DefaultDirectedGraphBenchmark.removeAllVertices{10,50,90}Benchmark`. The 50% workload attributed
31.1% of runnable samples to `Collection.removeIf`: the implementation scanned the complete global
edge set once for every removed vertex.

The candidate changed two files (+28/-5), removed the repeated scans, and added behavior tests for
the majority-removal and self-loop paths. Lower JMH scores are better:

| Removed vertices | Baseline median (µs/op) | JAIPilot median (µs/op) | Improvement | Baseline p95 (µs/op) | JAIPilot p95 (µs/op) | Improvement |
| ---------------: | ----------------------: | ----------------------: | ----------: | -------------------: | -------------------: | ----------: |
|              10% |                  26.710 |                   2.029 |   **92.4%** |               27.142 |                2.439 |   **91.0%** |
|              50% |                  74.619 |                   9.140 |   **87.8%** |               87.245 |               14.993 |   **82.8%** |
|              90% |                  77.423 |                   9.677 |   **87.5%** |               89.514 |               10.052 |   **88.8%** |

Baseline and candidate ran on the same 4 CPU/8 GiB remote workspace with the same Temurin JDK 17,
built JMH jar, command, and workload. Each row contains 21 measured observations: seven forks with
three measured iterations per fork after warm-up. The identical focused command passed 15/15 tests
before and after the production edit. A fresh exact-SHA `:core:clean :core:check` then completed
16,644 tests with 0 failures and 155 skips, and the tested remote diff matched the local candidate
digest.

This is a controlled result for Calcite's existing graph-removal workloads, not a claim that every
Java workload becomes faster.

## Measured performance: OpenTelemetry Java

On `skrcode/opentelemetry-java` at exact commit
[`35636ae`](https://github.com/skrcode/opentelemetry-java/tree/35636aec8d3dc6706bb483bad92383fdd6012af0),
JAIPilot found that immutable attribute sets were sorted by key name during construction but still
used a full linear scan for every lookup. This matters at the default span limit of 128 attributes.

The [three-file draft change](https://github.com/skrcode/opentelemetry-java/pull/3) preserves the
small-set and first-four-entry fast path, then uses binary search for the rest. It also adds a
large-set behavior test and a repository-native JMH benchmark. Lower values are better:

| Lookup          | Baseline median (ns/op) | JAIPilot median (ns/op) | Improvement | Baseline p95 | JAIPilot p95 | Improvement |
| --------------- | ----------------------: | ----------------------: | ----------: | -----------: | ------------: | ----------: |
| First           |                   2.483 |                   2.179 |   **12.2%** |        2.637 |         2.272 |   **13.8%** |
| Middle          |                 169.124 |                  85.905 |   **49.2%** |      178.250 |        88.537 |   **50.3%** |
| Last            |                 346.195 |                  87.323 |   **74.8%** |      358.321 |        90.084 |   **74.9%** |
| Missing         |                 141.560 |                  69.552 |   **50.9%** |      150.321 |        74.261 |   **50.6%** |
| Last as `Value` |                 368.629 |                  72.684 |   **80.3%** |      387.467 |        78.087 |   **79.8%** |

Baseline and candidate ran in the same 4 CPU/8 GiB remote workspace with Temurin JDK 21, the same
JMH jar, command, warm-up, and workload. Each row has 21 observations. The new focused behavior test
passed before and after the production edit; a clean `:api:all:check` passed all 147 tasks including
Animal Sniffer, Checkstyle, Spotless, tests, and japicmp. The tested remote Git delta matched the
local candidate digest. The `Value` workload still allocates about 16 B/op; JAIPilot reports the
lookup-time win without claiming that allocation disappeared.

## Measured performance: Micrometer

On `skrcode/micrometer` at exact commit
[`22207bf`](https://github.com/skrcode/micrometer/tree/22207bf9ccc973a1b1bc3890b33645e53fb2e475),
JAIPilot found that adding or replacing one `Tag` or `KeyValue` went through temporary varargs and
iterable merge machinery even though the backing arrays were already sorted.

The [six-file draft change](https://github.com/skrcode/micrometer/pull/3) adds a bounded binary-search
merge for the single-value overloads, behavior tests, and four workloads in Micrometer's existing
JMH module:

| Replacement workload | Baseline median (ns/op) | JAIPilot median (ns/op) | Improvement | Baseline p95 | JAIPilot p95 | Improvement | Allocation |
| -------------------- | ----------------------: | ----------------------: | ----------: | -----------: | ------------: | ----------: | ---------: |
| `KeyValues.and`      |                  57.941 |                  22.449 |   **61.3%** |       63.554 |        23.487 |   **63.0%** | **136 → 104 B/op** |
| `Tags.and`           |                  58.968 |                  22.101 |   **62.5%** |       63.388 |        24.425 |   **61.5%** | **136 → 104 B/op** |

Single-value insertion reduced median allocation by 17.6% and p95 allocation by 46.2%. Its median
latency improved by only 6.7–8.9%, below JAIPilot's 10% shared-hardware threshold, so it is not
presented as a speed win. The same-workspace experiment used 21 observations per workload; 92
focused tests and the final clean scoped build passed, with 1,132 tests, zero failures, and the
remote production diff matching the local digest.

## Measured database work: Petclinic

On the current Petclinic JDBC vet listing, JAIPilot found a real N+1 query path: six vets required
eight SQL statements (`2 + N`). It kept the ordered vet query 
agent-skillsagentic-codingclaude-codecode-qualitycode-reviewcodexdeveloper-toolsgradlejavajunitmavenmcpperformance-testingrefactoringremote-executionsoftware-testing

Lo que la gente pregunta sobre jaipilot

¿Qué es JAIPilot/jaipilot?

+

JAIPilot/jaipilot es plugins para el ecosistema de Claude AI. Ship better Java with your coding agent. Tiene 4 estrellas en GitHub y su última actualización registrada es del 2026-08-25.

¿Cómo se instala jaipilot?

+

Puedes instalar jaipilot clonando el repositorio (https://github.com/JAIPilot/jaipilot) o siguiendo las instrucciones del README en GitHub. ClaudeWave también te ofrece bloques de instalación rápida en esta misma página.

¿Es seguro usar JAIPilot/jaipilot?

+

Nuestro agente de seguridad ha analizado JAIPilot/jaipilot y le ha asignado un Trust Score de 95/100 (tier: Verified). Revisa el desglose completo de comprobaciones superadas y flags en esta página.

¿Quién mantiene JAIPilot/jaipilot?

+

JAIPilot/jaipilot es mantenido por JAIPilot. La última actividad registrada en GitHub es del 2026-08-25, con 11 issues abiertos.

¿Hay alternativas a jaipilot?

+

Sí. En ClaudeWave puedes explorar plugins similares en /categories/plugins, ordenados por popularidad o actividad reciente.

Despliega jaipilot en tu cloud

Lleva este repo a producción en minutos. Cada plataforma genera su propio entorno con variables de entorno editables.

¿Mantienes este repo? Añade un badge a tu README

Pega el badge en tu README de GitHub para mostrar que está auditado por ClaudeWave. Cada badge enlaza de vuelta a esta página y muestra el Trust Score actual.

Featured on ClaudeWave: JAIPilot/jaipilot
[![Featured on ClaudeWave](https://claudewave.com/api/badge/jaipilot-jaipilot)](https://claudewave.com/repo/jaipilot-jaipilot)
<a href="https://claudewave.com/repo/jaipilot-jaipilot"><img src="https://claudewave.com/api/badge/jaipilot-jaipilot" alt="Featured on ClaudeWave: JAIPilot/jaipilot" width="320" height="64" /></a>

Más Plugins

Alternativas a jaipilot