finds.dev← search

// the find

erupts/erupt

★ 2,864 · Java · Apache-2.0 · updated Sep 2026

Code as configuration. Annotate a Java entity with @Erupt and ship a production-grade admin backend in minutes — UI, RBAC, audit logs and APIs, all generated at runtime. No codegen, no frontend.

Erupt is an annotation-driven admin panel generator for Spring Boot: put @Erupt on a JPA entity and you get a full CRUD UI, RBAC-gated REST endpoint, audit log, and Excel import/export with no separate frontend build. It's aimed at teams that need internal tooling or a back-office fast and don't want to hand-write a React app plus API for every entity. Recent releases have bolted on a large AI/agent layer (erupt-ai, erupt-ai-claw, erupt-ai-rag, erupt-ai-staff, erupt-ai-decision) on top of the original admin-generator core.

The core model is coherent: @Erupt/@EruptField annotations drive the UI, the REST endpoint, and permission checks from a single declaration, so every entity is a permission-gated API automatically rather than something you wire up later. It covers real database breadth (MySQL/Postgres/Oracle/SQL Server/DM via JPA, Mongo via a separate module) with a 2-5s startup, which matters for internal-tools use where nobody wants a frontend build pipeline. AI tool access is at least gated per-role (@AiToolbox + LLMRole, revocable at runtime without restart) and has dedicated tests for the sandboxing (ShellDenyListTest, FileSandboxTest), so it wasn't an afterthought.

erupt-ai-claw gives an LLM shell execution, file I/O, and browser control on your admin server via natural language, and the sandbox is deny-list based going by the test name — deny-lists are bypassable by construction, and this sits directly on a production admin backend, not a sandboxed side project. Scope has grown far past 'annotate an entity, get a panel': RAG vector stores, multi-channel AI bots (Slack/DingTalk/Feishu), a decision engine, and canvas generation are now all in-tree, which is a lot to audit if you only wanted the original admin generator. erupt-ai-decision embeds a standalone Python service (its own Dockerfile and requirements.txt) inside what's marketed as a Java-only framework, so adopting it means running and patching a second runtime. And like every entity-driven admin generator (Django admin included), your domain model and your admin UI's shape end up coupled — once a screen needs real custom workflow you're overriding DataProxy/handlers rather than just editing the entity.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →