Shinya Yanagihara
yanashin.bsky.social
Shinya Yanagihara
@yanashin.bsky.social
{
"role": "Developer Productivity Specialist",
"affiliations": "Developer Productivity Global Black Belt, Microsoft",
"notes": "All opinions are my own"
}
"@toon-format/cli" command-line tool

npx @toon-format/cli input.json -o output.toon
November 16, 2025 at 2:35 AM
Formal syntax highlights (from the official spec & reference implementation) (4/4)

📝Optional “key folding” (v1.5+) collapses chains like data.metadata.items into a single dotted path to save indentation.
November 16, 2025 at 2:32 AM
Formal syntax highlights (from the official spec & reference implementation) (3/4)

📝Keys are unquoted unless they contain special characters.
📝Empty object → nothing on that line (or explicit empty object is just a blank indented line in some cases).
November 16, 2025 at 2:32 AM
Formal syntax highlights (from the official spec & reference implementation) (2/4)

📝Strings are quoted only if they contain the delimiter, colon, newline, etc.
📝Empty array → [0]:
📝Supported delimiters: comma (default), tab, or pipe (|) — tab/pipe can sometimes save an extra token or two.
November 16, 2025 at 2:32 AM
Formal syntax highlights (from the official spec & reference implementation) (1/4)

📝Objects are indented (2 or 4 spaces, configurable), no braces.
📝Arrays of objects → [length]{field1,field2,…}: header, then one object per line.
📝Simple arrays → just list values on the same line or one per line.
November 16, 2025 at 2:32 AM
In the case of JSON for same data

```
{
"users": [
{ "id": 1, "name": "Alice", "role": "admin" },
{ "id": 2, "name": "Bob", "role": "user" }
]
}
```

≈ 45–50 tokens
November 16, 2025 at 2:27 AM
Simple example of TOON

```
users[2]{id,name,role}:
1,Alice,admin
2,Bob,user
```

≈ 26–28 tokens
November 16, 2025 at 2:27 AM
Core ideas behind TOON (2/2)
✅Quote strings only when strictly necessary.
✅Keep the whole thing completely reversible to/from normal JSON.
November 16, 2025 at 2:26 AM
Core ideas behind TOON (1/2)
✅Use YAML-style indentation for nested objects (no curly braces).
✅Use CSV-style tabular rows for uniform arrays of objects (declare fields once).
✅Add explicit array lengths ([3]) so the model can immediately validate structure.
November 16, 2025 at 2:26 AM
As a professional in my field, I am tasked with promoting specification-driven development. At the same time, as an individual engineer, I am currently pursuing the question of where the aesthetics lie within that very spec-driven development.
November 16, 2025 at 2:08 AM
With the rise of AI, I feel we may in a sense be stripped of its artistic quality. Specification-driven development is also gaining prominence. Is there any aesthetics in that? Can specifications possess artistic merit?
November 16, 2025 at 2:08 AM
In truth, even before its emergence, the direction and design content were more important than writing the code itself. However, there was an aesthetic to code implementation. I believe it was something akin to art.
November 16, 2025 at 2:08 AM
Frontend: Plain JSP + Struts Tags + jQuery

MVC Layer: Apache Struts 1.3.10

Data Layer: Hibernate 3.6.x (ORM)

Database: MySQL 5.7
October 11, 2025 at 4:49 AM
The reason for developing is that, to host a workshop on legacy modernization, I have to work hard to build the legacy application.
October 11, 2025 at 4:48 AM