tree: d6c05c0740f2f248e1e5c72864ed40ae55221ed8
  1. .claude-plugin/
  2. references/
  3. skills/
  4. README.md
ai-plugin/README.md

apache-cayenne — Claude Code plugin

Apache Cayenne ORM workflows for Claude Code.

This plugin teaches Claude how to:

  • Edit Cayenne DataMap (*.map.xml) and project descriptor (cayenne-*.xml) files a-la-carte (add entities, relationships, queries, embeddables).
  • Reverse-engineer a database schema into a DataMap by driving CayenneModeler.
  • Regenerate Java entity classes from a DataMap.
  • Bootstrap CayenneRuntime in a Java application and write ObjectSelect / SQLSelect queries.

The plugin assumes downstream users of Cayenne writing their own Java apps. It does not cover contributor workflows for hacking on Cayenne itself.

Install

Cayenne 5.0+ only. The MCP server ships with Cayenne 5.0. Skills that depend on it (cayenne-cgen, cayenne-modeler, cayenne-db-import) will not work against earlier Cayenne versions. The XML-editing, runtime, and query skills also target 5.0 idioms — for older Cayenne, this plugin is not the right tool.

The plugin is distributed from the Apache Cayenne GitHub repository: https://github.com/apache/cayenne. Inside Claude Code:

# register the "marketplace"
/plugin marketplace add apache/cayenne

# install the plugin
/plugin install apache-cayenne@apache-cayenne

# Install the MCP server (requires a local CayenneModeler install)
claude mcp add cayenne --scope user -- java -jar /path/to/CayenneMCPServer.jar

Full MCP setup instructions: https://cayenne.apache.org/docs/5.0/cayenne-guide/installing-the-cayenne-mcp-server/

That‘s it. The skills detect the MCP server at runtime; if it isn’t connected they point back at this README instead of falling back to Maven or Gradle goals.

What's in here

ai-plugin/
├── .claude-plugin/plugin.json   # manifest
├── README.md                    # this file
├── skills/                      # auto-triggering workflows
│   ├── cayenne-modeling/        # edit *.map.xml and cayenne-*.xml
│   ├── cayenne-db-import/       # import a DB schema (Modeler GUI)
│   ├── cayenne-cgen/            # regenerate Java classes via MCP
│   ├── cayenne-modeler/         # open the GUI on a project
│   ├── cayenne-runtime/         # bootstrap CayenneRuntime in an app
│   └── cayenne-query/           # write ObjectSelect / SQLSelect queries
└── references/                  # source-of-truth docs loaded by skills
    ├── project-layout.md
    ├── datamap-schema.md
    ├── project-descriptor-schema.md
    ├── dbimport-config.md
    ├── cgen-config.md
    ├── runtime-api.md
    ├── query-api.md
    └── mcp-tools.md

Each skill is a thin trigger that loads the right reference docs and walks Claude through the workflow.

ORM workflows go through:

  1. Direct XML edits — primary path for a-la-carte model changes.
  2. MCP cgen_run — class generation.
  3. MCP open_project → CayenneModeler GUI — full DB sync and visual editing.

and will NOT use Maven or Gradle plugins