Django Ninja migration¶
By example, you can use agent skill
dmr-from-django-ninja
when you already have an existing django-ninja or ninja-extra API
and want to migrate transport layer to django-modern-rest.
Important
LLM-generated migrations cannot guarantee strict behavioral parity. Always review and validate migrated routes, schemas, status codes, headers, authentication, throttling, and error semantics before production use.
This workflow is best used for incremental transport migration: controllers, DTOs, routers, URL wiring, and migration-focused tests.
How to use in Codex¶
Point Codex to existing API entrypoints, URL wiring, and test suite.
Ask Codex to use the skill
$dmr-from-django-ninja.Migrate one endpoint group at a time and run project CI after each slice.
You can use prompt like this:
$dmr-from-django-ninja Migrate `apps/api/` from django-ninja to
django-modern-rest with strict transport parity. Preserve paths, methods,
request and response DTOs, auth and throttle behavior, status codes, and
headers. Keep business logic untouched, migrate slice-by-slice, and run the
repository test commands after each slice.
How to use in Claude Code¶
Install the plugin:
/plugin install github.com/wemake-services/django-modern-rest
Verify skills are available:
/skills list
Invoke the skill:
/skills dmr-from-django-ninja
Then describe migration scope and constraints in a normal prompt.
What is migrated¶
Ninja root wiring and URL setup to DMR router + Django URL includes
@api_controller/@http_*handlers toControllerninja.Schemamodels to typed request and response DTOsAuth and throttling behavior with project-native integrations
Migration reporting with:
preserved behavior,approved drift,unresolved gaps
Business logic is intentionally left unchanged by default.