nette/claude-code/neon-format

Trust tier 2
  • community
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

Invoke before creating or modifying .neon files. Provides NEON syntax and Nette configuration conventions. Use when writing or editing .neon config files, asking about NEON syntax (entities, multiline strings, inline notation, special values, escaping), converting YAML to NEON, parsing or encoding NEON in PHP (Neon::decode, Neon::encode), running neon-lint, or debugging NEON syntax errors. For phpstan.neon, use the phpstan-analysis skill (from nette-dev plugin) instead. Do not trigger for Nette DI concepts like autowiring and service registration without .neon file context.

Install

npx vskill@latest install nette/claude-code/neon-format

SKILL.md

NEON Format

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.

shell
composer require nette/neon
Mappings

Key-value pairs with required space after colon:

neon
street: 742 Evergreen Terrace
city: Springfield
country: USA

Inline notation with braces:

neon
{street: 742 Evergreen Terrace, city: Springfield, country: USA}
Sequences

Indexed arrays with hyphen and space:

neon
- Cat
- Dog
- Goldfish

Inline notation with brackets:

neon
[Cat, Dog, Goldfish]
Nesting

Indentation defines structure:

neon
pets:
- Cat
- Dog
cars:
- Volvo
- Skoda

Block and inline can be combined:

neon
pets: [Cat, Dog]
cars:
- Volvo
- Skoda
Strings

Unquoted, single-quoted, or double-quoted:

neon
- 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:

neon
'''
first line
second line
third line
'''
Special Values
neon
# 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
Entities

Function-like structures for DI configuration:

neon
Column(type: int, nulls: yes)

Chained entities:

neon
Column(type: int) Field(id: 1)

Multiline entity:

neon
Column(
type: int
nulls: yes
)
Comments
neon
# This line is ignored
street: 742 Evergreen Terrace # inline comment
Block vs Inline Notation

Use inline for short, simple values (up to ~3 items):

neon
extensions: [foo, bar]
roles: {admin: true, user: false}

Use block for anything complex, nested, or long:

neon
services:
- App\Model\UserService
- App\Model\OrderService
Key Rules
  • Space after : is required (key: value, not key:value)
  • Use tabs for indentation. Spaces are valid too (Neon::encode() just defaults to tabs);

unlike YAML, NEON accepts either, so never "fix" space-indented NEON

  • Block notation cannot be nested inside inline notation
  • Unquoted strings cannot start/end with spaces or look like numbers/booleans/dates

PHP API

php
use Nette\Neon\Neon;
encode(mixed $value, bool $blockMode=false, string $indentation="\t"): string

Converts PHP value to NEON. Pass true to $blockMode for multiline output.

php
Neon::encode($value); // inline NEON
Neon::encode($value, true); // multiline NEON
decode(string $neon): mixed

Parses NEON string to PHP value. Dates become DateTimeImmutable, entities become Nette\Neon\Entity.

php
Neon::decode('hello: world'); // ['hello' => 'world']
decodeFile(string $file): mixed

Parses NEON file to PHP value (removes BOM).

php
Neon::decodeFile('config.neon');

All methods throw Nette\Neon\Exception on error.

Lint Command

Check syntax errors in .neon files:

shell
vendor/bin/neon-lint <path>
Documentation

The full Nette documentation for this topic is bundled with the plugin. Read a page when you need details beyond this skill:

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

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
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/nette/claude-code/neon-format/badge)](https://verified-skill.com/skills/nette/claude-code/neon-format)

Something wrong with this skill or its page? Tell us.