Loading your script

Build a script with your blocks and add it to the administration. It loads after the editor, so window.Gutenberg and the WordPress globals wp.blocks, wp.element, wp.editor, wp.components and wp.data are available.
config/admin.php
Compile JSX to wp.element.createElement, e.g. with Vite:
vite.gutenberg.config.js

Registering blocks

resources/js/admin/gutenberg.js
Blocks are registered when the editor boots. registerBlock() accepts the settings of registerBlockType().

Editor settings

resources/js/admin/gutenberg.js
These blocks are removed by default: archives, calendar, categories, classic editor, latest comments, latest posts, more, page break, RSS, search, shortcode, tag cloud and verse.

Rendering blocks in PHP

The renderer of the package calls filters like WordPress. Register them in an autoloaded file of your project:
app/Utilities/blocks.php
composer.json
$block contains blockName, attrs, innerBlocks and innerHTML. $options['parent'] is true for top-level blocks.