Invoke before creating or modifying .neon files. Provides NEON syntax and Nette configuration conventions.
/plugin marketplace add nette/claude-code/plugin install nette@netteThis skill inherits all available tools. When active, it can use any tool Claude has access to.
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
: is requireduse 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>
Use when working with Payload CMS projects (payload.config.ts, collections, fields, hooks, access control, Payload API). Use when debugging validation errors, security issues, relationship queries, transactions, or hook behavior.