OtakuShelf models everything now, but it's a prototype with prototype habits: the anime entities Sam added last week aren't paginated, there are no DTOs anywhere, and — Sam just noticed while adding Attack on Titan — there's nowhere to record that a franchise comes from Japan vs. Korea vs. wherever. Time for a polish pass. And since OtakuShelf is a real project Sam has hand-tweaked, this is also where a safety net earns its keep.

Making it look production-shaped

First, consistency. Sam wants pagination on the new anime entities too, and a DTO + service layer across the board so the API isn't exposing entities directly:

In /Users/sam/projects/otakushelf, paginate every entity, and put all of them behind MapStruct DTOs and a service layer.

The agent reaches for set_option, the tool for exactly these JDL option lines, and applies: