Alexis Reyna · Guidelines
Block guidelines
This blog has no rich text editor and no markdown. Posts are typed arrays of blocks from a closed vocabulary of ten, so an invalid post is a build error rather than a page that renders slightly wrong. Below is every block, rendered by the real component, next to the rule that governs it.
Three rules above the vocabulary
Rhythm belongs to the container. Blocks carry no outer margin. One > * + * rule owns all vertical spacing, so the gap between a paragraph and a table always equals the gap between two paragraphs. The only exceptions are relationships — a heading and the text beneath it tighten up, because they are one unit.
The measure is applied to text, not the container. Prose caps at 68 characters. Capping the container instead would clamp its children, and then a table could never reach full width without negative-margin escapes that break when the gutter changes.
Inline emphasis does not nest. A strong cannot contain a link. When you reach for nested emphasis, the honest fix is usually that the sentence wants to be two sentences.
The vocabulary
Ten blocks. Adding an eleventh has to be argued for — a constraint that changes what you write has earned its place; one that only prevents ugly output is better handled by a lint rule.
The validator is the feature
Rhythm belongs to the container
A deployment manifest is a whole chain definition, not a patch. It carries the addresses and the capabilities together, so you cannot commit one without the other — they are one file.
A feature flag is a promise. Most of the time, breaking it renders a button in the wrong place. Sometimes it sends money to the empty string.
- Deploy the contract. No address, no flag. Not optional, not parallelizable.
- Add the address to the manifest using the key the loader reads.
- Set the flag to true.
export function installCommand(id: string): string {
return `mkdir -p .claude/skills/${id} && curl -fsSL …`;
}| Hop | Where | What it does |
|---|---|---|
| 1 | deployments/*.json | Declares capabilities and backing addresses |
| 3 | ChainRegistry.Validate | Throws if a flag lacks its deployment |
| 4 | ChainsController | Filters on .Enabled |