dykyi-roman/awesome-claude-code/create-repository
Trust tier 2
- community
Source check pending
Checking that the SKILL.md file is still in the repository.
Generates DDD Repository interfaces and implementation stubs for PHP 8.4. Creates domain interfaces in Domain layer, implementation in Infrastructure.
Install
npx vskill@latest install dykyi-roman/awesome-claude-code/create-repositorySKILL.md
Repository Generator
Generate DDD-compliant Repository interfaces and implementation stubs.
Repository Characteristics
- Interface in Domain: Contract defined in Domain layer
- Implementation in Infrastructure: Doctrine/Eloquent/etc. implementation
- Works with Aggregates: Not entities directly
- Collection-like: Find, save, remove operations
- No business logic: Only persistence operations
Generation Process
Step 1: Generate Interface
Path: src/Domain/{BoundedContext}/Repository/
{AggregateRoot}RepositoryInterface.php— Domain contract
Step 2: Generate Implementation
Path: src/Infrastructure/Persistence/Doctrine/
Doctrine{AggregateRoot}Repository.php— Doctrine implementation
Step 3: Generate In-Memory Repository (Optional)
Path: tests/Infrastructure/Persistence/
InMemory{AggregateRoot}Repository.php— For unit testing
Step 4: Generate Integration Tests
Path: tests/Integration/Infrastructure/Persistence/
File Placement
| Component | Path | |
|---|---|---|
| Interface | src/Domain/{BoundedContext}/Repository/ | |
| Doctrine Impl | src/Infrastructure/Persistence/Doctrine/ | |
| In-Memory | tests/Infrastructure/Persistence/ | |
| Integration Tests | tests/Integration/Infrastructure/Persistence/ |
Naming Conventions
| Component | Pattern | Example | |
|---|---|---|---|
| Interface | {AggregateRoot}RepositoryInterface | OrderRepositoryInterface | |
| Doctrine Impl | Doctrine{AggregateRoot}Repository | DoctrineOrderRepository | |
| In-Memory | InMemory{AggregateRoot}Repository | InMemoryOrderRepository |
Quick Template Reference
Interface
Doctrine Implementation
In-Memory Implementation
Design Rules
| Rule | Good | Bad | |
|---|---|---|---|
| Layer Placement | Interface in Domain | Interface in Infrastructure | |
| Aggregate Scope | Repository per aggregate root | Repository per entity | |
| Query Methods | Simple filters | Business logic in queries | |
| Identity | nextIdentity() method | External ID generation |
Anti-patterns to Avoid
| Anti-pattern | Problem | Solution | |
|---|---|---|---|
| Entity Repository | Bypasses aggregate | Only aggregate roots | |
| Business Queries | Logic in repository | Use Specification pattern | |
| Infrastructure Leak | Domain depends on ORM | Interface in Domain | |
| Generic Repository | Too abstract | Specific per aggregate | |
| Missing nextIdentity | Can't generate IDs | Add to interface |
References
For complete PHP templates and examples, see:
references/templates.md— Interface, Doctrine, In-Memory, Test templatesreferences/examples.md— Order, User repositories with Doctrine and In-Memory implementations
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/create-repository/SKILL.md
Popularity
- Repository stars
- 101
- Repository forks
- 26
- 7-day trend score
- 23
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 18 Mar 2026, 7 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/dykyi-roman/awesome-claude-code/create-repository)