Skip to main content
ElastiCORE 3.0 is a release candidate: 3.0.261022-rc1 on Maven Central. Projects on the 2.2 line: see the 2.2 documentation.
Version: 3.0

The ElastiCORE agent kit

github.com/xsko/elasticore-agent-kit (Apache 2.0) - a Claude Code plugin for projects built with ElastiCORE. The same skill is packaged for opencode and works in Codex CLI.

Left to itself, an agent edits the generated Java. The next build overwrites the edit, or the file silently stops following the YAML, and nobody notices. With the kit the agent changes the YAML, regenerates, compiles, and tells you what changed for the business.

What the agent writes instead of Java​

The model behind a posts-and-comments API, as the kit's board recipe writes it (one of its two entities):

entity:
Post:
meta: entity @root @editable @expose(20) @sort(postId-) -- post
fields:
postId: long @id @sequence
title: string(100)! @notblank @search(like) -- title
body: text! @notblank -- body
author: string(30)! @notblank -- author name
createdAt: datetime @updatable(false) @jpa:org.springframework.data.annotation.CreatedDate -- written at

One build turns that into the JPA entity, the request and response DTOs with their validation, the repository, the service, the REST controller - create, read, update, delete, a paged list newest first, a search by part of the title - and the error handler that answers 400 and 404. The agent writes Java only for what the model cannot say - a rule that reads other rows, an operation the CRUD does not have - and only in the files the generator hands over.

What you get​

PartWhat it does
Skill elasticoreLoads when Claude works in an ElastiCORE project or starts one. Knows which files the generator owns, holds a one-page DSL reference, three recipes and a run-and-check page, and says where a change belongs, what to ask you first and how to report. For anything else it sends Claude to the guides ElastiCORE copies into the project.
HooksStop edits to generated files and -Pforce runs, say what to run after a DSL change, pass on the generator's warnings, and keep Claude from finishing with a DSL change that no successful build has generated and compiled.
Agent elasticore:modelerTurns a requirement into a DSL change that generates and compiles, and reports it in business terms.
Agent elasticore:reviewerReviews a change: hand edits to generated files, DSL the guides or the generator do not know, generated code out of step with the DSL, and which roles gain or lose access.
/elasticore:generate [task]Regenerates and compiles, then explains every warning, skipped file and error, with the DSL fix.
/elasticore:change-report [range]Writes what a DSL change means for the business and what needs a decision.
/elasticore:review [range] [full]Runs the reviewer on uncommitted changes or a range. It only reads, unless you add full - then it also builds, which regenerates files.

Requirements​

  • Claude Code - or opencode or Codex CLI.
  • JDK 17 or later. For a new project, Gradle 8.14 or later on the PATH: the template creates the Gradle wrapper with it.
  • On Windows, Git for Windows: the hooks run in bash, and Claude Code runs them with Git Bash. Without it Claude Code reports a hook error on every edit and command.
  • ElastiCORE 3.0 from Maven Central - a new project gets the newest 3.x release there. In a 2.x project the hooks work; the reference and the recipes are written for 3.0.

In this section​

The current version of the plugin is 0.4.0.