# Block metadata

Every Gutenberg block shipped by Advanced Addons has its own directory under
`blocks/` and a `block.json` file at the directory root:

```text
blocks/
├── tailwind-html/
│   └── block.json
├── custom-javascript/
│   └── block.json
└── <future-block>/
    └── block.json
```

The directory slug is an implementation detail. Keep the public Gutenberg
block name in `namespace/block` format stable so existing post content remains
compatible. For example, `blocks/tailwind-html/block.json` registers the
existing `tailwind/html` block.

Editor source remains in `src/` using the current source directories. A new
block must add its JavaScript entrypoint, explicit PHP registration when
needed, and any required build entry to the corresponding project files.

`bin/validate-block-metadata.php` validates all block metadata during plugin
packaging, and `bin/build-plugin.sh` copies the complete `blocks/` tree into the
release package.
