From nette
Provides NEON syntax reference and Nette config conventions for creating/editing .neon files, YAML to NEON conversion, PHP Neon::decode/encode, neon-lint, and syntax debugging (entities, multiline strings, inline notation).
How this skill is triggered — by the user, by Claude, or both
Slash command
/nette:neon-formatThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
NEON (Nette Object Notation) is a human-readable data format used for configuration files in Nette. Similar to YAML but with support for entities and tab indentation.
NEON (Nette Object Notation) is a human-readable data format used for configuration files in Nette. Similar to YAML but with support for entities and tab indentation.
composer require nette/neon
Key-value pairs with required space after colon:
street: 742 Evergreen Terrace
city: Springfield
country: USA
Inline notation with braces:
{street: 742 Evergreen Terrace, city: Springfield, country: USA}
Indexed arrays with hyphen and space:
- Cat
- Dog
- Goldfish
Inline notation with brackets:
[Cat, Dog, Goldfish]
Indentation defines structure:
pets:
- Cat
- Dog
cars:
- Volvo
- Skoda
Block and inline can be combined:
pets: [Cat, Dog]
cars:
- Volvo
- Skoda
Unquoted, single-quoted, or double-quoted:
- An unquoted string
- 'Single-quoted string'
- "Double-quoted with \t escapes"
Quote strings containing: # " ' , : = - [ ] { } ( )
Double a quote to include it: 'It''s working'
Multiline strings with triple quotes:
'''
first line
second line
third line
'''
# Numbers
count: 12
price: 12.3
scientific: +1.2e-34
binary: 0b11010
octal: 0o666
hex: 0x7A
# Null
value: null
empty:
# Booleans
enabled: true
disabled: false
active: yes
inactive: no
# Dates (auto-converted to DateTimeImmutable)
date: 2016-06-03
datetime: 2016-06-03 19:00:00
with_tz: 2016-06-03 19:00:00 +02:00
Function-like structures for DI configuration:
Column(type: int, nulls: yes)
Chained entities:
Column(type: int) Field(id: 1)
Multiline entity:
Column(
type: int
nulls: yes
)
# This line is ignored
street: 742 Evergreen Terrace # inline comment
Use inline for short, simple values (up to ~3 items):
extensions: [foo, bar]
roles: {admin: true, user: false}
Use block for anything complex, nested, or long:
services:
- App\Model\UserService
- App\Model\OrderService
: is required (key: value, not key:value)use Nette\Neon\Neon;
Converts PHP value to NEON. Pass true to $blockMode for multiline output.
Neon::encode($value); // inline NEON
Neon::encode($value, true); // multiline NEON
Parses NEON string to PHP value. Dates become DateTimeImmutable, entities become Nette\Neon\Entity.
Neon::decode('hello: world'); // ['hello' => 'world']
Parses NEON file to PHP value (removes BOM).
Neon::decodeFile('config.neon');
All methods throw Nette\Neon\Exception on error.
Check syntax errors in .neon files:
vendor/bin/neon-lint <path>
For detailed information, use WebFetch on these URLs:
npx claudepluginhub nette/claude-code --plugin netteGuides Nette DI configuration for services.neon, common.neon, autowiring, factories, setup methods, extensions, and file organization. Invoke before DI setup or for autowiring issues.
Provides Nette-specific PHP coding standards including TAB indentation, single quotes, strict_types=1, PSR-12 modifications, and use statement ordering. Invoke before writing, modifying, or refactoring any PHP code.
Provides syntax rules, quoting conventions, examples, and validation for writing, parsing, and generating TOON files including org-patterns.toon and JSON conversions.