# Ddd Architecture

> Domain-Driven Design architecture guide for this Angular project. Activates when discussing folder structure, file placement, domain organization, component organization, or creating new features/components/services.

- Skill: `majiayu000/ddd-architecture-2` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add majiayu000/ddd-architecture-2`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/ddd-architecture-2/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Web & Frontend
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/ddd-architecture-2

---


# DDD Architecture (Project-Specific)

For complete architecture rules, read `.github/instructions/architecture.instructions.md`.

## Quick Reference

```
src/app/features/{domain}/
  feature/   → Smart components (inject stores, orchestrate)
  ui/        → Dumb components (input/output only)
  data/
    models/         → TypeScript interfaces
    infrastructure/ → HTTP services
    state/          → NgRx Signal Stores
  util/      → Pure helper functions
```

## Critical Rules

- **No barrel files** (`index.ts`) — strictly prohibited
- **Each component in its own subfolder** — `feature/task-dashboard/task-dashboard.ts`
- **No type suffixes** — `TaskCard`, not `TaskCardComponent`; `TaskApi`, not `TaskApiService`
- **kebab-case files** — `task-card.ts`, `task-store.ts`
- **Domains don't import from other domains** — shared code goes in `src/app/shared/`

