nette/claude-code/nette-configuration
- community
Checking that the SKILL.md file is still in the repository.
Invoke before configuring Nette DI – services, .neon files, autowiring. Provides service registration, autowiring, auto-discovery, factory and setup methods, parameter usage, decorator section, and framework configuration. Also trigger for resolving autowiring issues or organizing config files.
Install
npx vskill@latest install nette/claude-code/nette-configurationSKILL.md
Nette DI & Services Guidelines
- Primary services:
services.neon– all service definitions - Framework config:
common.neon– parameters, extensions, framework settings, includes - Project scaling: Create additional files for larger projects (
api.neon,tasks.neon) - Environment-specific settings:
env.local.neonfor development,env.prod.neonfor production
Config File Includes
common.neon includes other files. Later files override earlier ones, so environment-specific files go last:
Extensions
Register DI extensions for third-party packages or custom container builders:
Service Definition Syntax
Use - for services that don't need references. Nette DI automatically resolves all constructor dependencies by type, so most services need just their class name:
Give names only when needed for `@serviceName` references elsewhere in NEON. Unnecessary names add clutter and create a maintenance burden when classes are renamed:
When manually specifying arguments, pass them by name; only a single argument that is the constructor's first may stay positional. Positional arguments break when the constructor signature changes:
Factory Method Services
Complex Service Configuration
Setup Methods
Overriding Services by Type
When you need to alter an existing service (e.g. replace a framework service with your own implementation), you can refer to it by type using @ClassName: instead of guessing internal service names. The alteration: true is implicit:
Disabled Autowiring
Use autowired: false when you have multiple services of the same type and need to prevent ambiguity (e.g. two database connections):
Automatic Service Registration
Use search section to avoid manually registering services that follow naming conventions. This keeps services.neon short and ensures new services are picked up automatically:
Generated Factories and Accessors
Instead of injecting the container or writing factory boilerplate, declare an interface and let DI generate the implementation. The interface must have exactly one method named `create` with a declared return type:
Parameters of create() are matched to the constructor by name, so $authorId above lands in Article::__construct(int $authorId). The long form adds fixed arguments or setup:
An accessor is the lazy variant – one get() method returning an existing service, so the service is only created on first get():
This is the mechanism behind component factories in presenters, so use it instead of passing the container around.
Decorator Section
Apply configuration to all services of a specific type without listing them individually. Useful for injecting common dependencies or calling setup methods on multiple services:
Parameter Usage
Reference configuration parameters with %parameterName%. Parameters are defined in the parameters section of common.neon and can be overridden per environment:
Passing Settings to Services and Presenters
Via service arguments (recommended) – explicit, type-safe, visible in constructor:
Via parameters – useful when the same value is used in multiple places:
Core Framework Configuration
Add sections to common.neon only when you need specific functionality.
Application Layer
Add when: Setting up error handling or custom URL mapping
HTTP and Session
Add when: You need custom cookie settings, proxy support, or session configuration
Authentication
Add when: You need simple file-based authentication for development or prototyping. For production, implement a custom authenticator class instead.
What Needs Registering
Only classes that need injection or are injected elsewhere. Presenters are registered automatically (Nette scans them by IPresenter); component factory interfaces are not: list them in services:, or let a search: section find them (it picks up interfaces with a single create() or get() method).
Secrets
Credentials do not belong in committed config files, but where they live is the project's decision. Follow the convention the project already has; when it has none, offer the user the options instead of picking one:
- a gitignored NEON file holding them as parameters (
secrets.neon, or one file per environment such asenv.local.neon), included fromcommon.neonand referenced as%dbPassword% - environment variables, exposed in
Bootstrapby$this->configurator->addDynamicParameters(['env' => getenv()])and referenced as%env.DB_PASSWORD%; as dynamic parameters they are read at runtime, not frozen into the compiled container
Documentation
The full Nette documentation for this topic is bundled with the plugin. Read a page when you need details beyond this skill:
- What is Dependency Injection – the principle
- What Is a DI Container – the concept
- Nette DI Container – using the container
- Service Definitions – the
services:section in detail - Autowiring – how services are matched by type
- DI Configuration – the config file format and its sections
- Generated Factories – factory and accessor interfaces
- Passing Dependencies – constructor, setter, property injection
- DI Extensions – writing a compiler extension
- DI FAQ – common questions
- Global State – why singletons and static state are avoided
- Container Compilation – what the compiled container looks like
- Application Configuration – the
application:,latte:and related sections - Configuring Nette – index of all configuration sections
- Bootstrap – the Configurator: loading configuration, parameters
- Inject Methods and Attributes –
inject*()and#[Inject] - Passing Settings to Presenters – parameters for presenters
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 repositoryCheckingplugins/nette/skills/nette-configuration/SKILL.md
Popularity
- Repository stars
- 37
- Repository forks
- 4
- 7-day trend score
- 18
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 21 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/nette/claude-code/nette-configuration)