# Ddd Migration

> Step-by-step checklist for migrating a backend service to the DDD/hexagonal architecture. Use when porting an existing service, repository, or router to domain entities and repository protocols.

- Skill: `crossbill-app/ddd-migration` (Agent Skill)
- Install (CLI): `npx skillmds@latest add crossbill-app/ddd-migration`
- Raw SKILL.md: https://api.skillmd.com/api/skills/crossbill-app/ddd-migration/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: crossbill-app (https://skillmd.com/u/crossbill-app)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/crossbill-app/ddd-migration

---


# DDD Migration Checklist

The architectural rules live in the root `CLAUDE.md` and always apply; this is
the porting order.

1. Read the migration plan document if one exists
2. Create domain entities/value objects in the domain layer
3. Create/update the repository in the infrastructure layer (all ORM code moves here)
4. Convert the application service to work with domain entities
5. After any file deletion or move, grep for the old import paths and update them
6. Verify before declaring done: `pyright`, `uv run lint-imports`, and the full
   `pytest` suite — all clean

