Back to Skills

nette-architecture

verified

Invoke before designing presenters, modules, or application structure in web applicartion.

View on GitHub

Marketplace

nette

nette/claude-code

Plugin

nette

development

Repository
Verified Org

nette/claude-code
29stars

plugins/nette/skills/nette-architecture/SKILL.md

Last Verified

January 20, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/nette/claude-code/blob/main/plugins/nette/skills/nette-architecture/SKILL.md -a claude-code --skill nette-architecture

Installation paths:

Claude
.claude/skills/nette-architecture/
Powered by add-skill CLI

Instructions

For new project skeleton, see [skeleton.md](skeleton.md).

## Backend Architecture

- The project requires PHP 8.3+, Nette 3.2, Latte 3.1

### Key Framework Features

- Presenters: Controllers that handle HTTP requests in Nette
- Latte: Templating engine used for views
- Dependency Injection: Service management through Nette's DI container
- Router: URL routing through `RouterFactory`

### Directory Structure

The application follows domain-driven organization with preference for flatter structure:

- App: The main application namespace (`App\`)
  - Bootstrap: Application initialization and configuration
  - Core: Infrastructure concerns (routing, etc.)
  - Entity: All database entities in single namespace
  - Model: Business logic services organized by domain
  - Presentation: UI layer organized by modules
  - Tasks: Command-line executable tasks

### Evolution Strategy

**Start minimal** → **Grow organically** → **Refactor when painful**

Start with flat structure - create subdirectories only when you have 5+ related files or clear implementation variants.
Don't architect for theoretical future complexity. Address actual complexity when it emerges with clear user needs driving structural decisions.

### Configuration

- config/common.neon: Main application configuration
- config/services.neon: Service definitions and auto-wiring configuration

### Core vs Model Decision Matrix

**Use Core/ for:**
- Technology-agnostic infrastructure (MyExplorer, RouterFactory, QueueMailer)
- External service integrations (SentryLogger, AI/, GoogleSearch/)
- Framework extensions and utilities
- Code that could be moved to another project unchanged

**Use Model/ for:**
- Business domain logic (CatalogService, CustomerService, OrderService)
- Domain-specific operations and rules
- Entity-specific processing logic
- Code that knows about your business concepts (products, orders, customers)


**Why flat:** Entities often cross domain boundaries. ProductRow might be used in catalog, ord

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
7158 chars