Commit 6ea2261e741 for woocommerce
commit 6ea2261e741a9f80e3c27ab89ac850e39fa36c96
Author: Luigi Teschio <gigitux@gmail.com>
Date: Tue Jun 16 15:28:52 2026 +0200
Update block.json default attribute guidance (#65777)
* Update block.json default attribute guidance
* Update AGENTS.md
Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
* Update AGENTS.md
Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
---------
Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
diff --git a/AGENTS.md b/AGENTS.md
index dc8f487ce94..c578c126eb4 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -151,6 +151,18 @@ For detailed test commands, see `woocommerce-dev-cycle` skill.
- Never create standalone functions (always use class methods)
- Tests require Docker environment
+## Block Development
+
+### `block.json` Attribute Defaults
+
+Never include styling options such as `fontSize`, `borderColor`, `textColor`... as block attributes. They should only be listed under `supports`.
+
+Do not add `default` values to block attributes in `block.json`.
+
+- Default attribute values can be indistinguishable from missing attributes when parsed, especially when the default value is not serialized into saved block markup.
+- Defaults can create subtle conflicts with `theme.json`, block supports, editor controls, deprecations, and migrations.
+- During implementation or review, flag any newly inserted `default` in `block.json`.
+
## Interactivity API Stores
Most WooCommerce Interactivity API stores are **private by design**. Exception: the `woocommerce/product-filters` store is public for Product Filters inner-block extensibility.