# Regle Rules

> Regle validation rules — built-in rules from `@regle/rules`, custom rules with `createRule`, rule wrappers (`withMessage`, `withParams`, `withAsync`, `withTooltip`), and rule operators (`and`, `or`, `xor`, `not`, `applyIf`, `assignIf`, `pipe`). Use when declaring, customizing, composing, or conditionally applying validation rules in a Regle form. For form setup see regle.

- Skill: `victorgarciaesgi/regle-rules` (Agent Skill, multi-file: 5 files)
- Install (CLI): `npx skillmds@latest add victorgarciaesgi/regle-rules`
- Raw SKILL.md: https://api.skillmd.com/api/skills/victorgarciaesgi/regle-rules/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- License: MIT
- Author: victorgarciaesgi (https://skillmd.com/u/victorgarciaesgi)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/victorgarciaesgi/regle-rules

---


# Regle Rules

Validation rules for Regle. Rules come from `@regle/rules`, but you can also write your own with `createRule`, customize them with wrappers, and combine them with operators.

```ts
import { useRegle } from '@regle/core';
import { required, email, minLength } from '@regle/rules';

const { r$ } = useRegle(
  { email: '' },
  { email: { required, email, minLength: minLength(5) } }
);
```

## Key Concepts

- All rules are optional by default; add `required` to enforce a field.
- Built-in rules are imported from `@regle/rules`; some are factories that take parameters (e.g. `minLength(3)`).
- Custom rules use `createRule` for reusability, or an inline function for one-offs.
- Wrappers adapt an existing rule (message, params, async, tooltip) without rewriting it.
- Operators combine or conditionally apply rules.

## References

| Topic | Description | Reference |
|-------|-------------|-----------|
| Built-in Rules | All validation rules from `@regle/rules` | [rules-built-in](references/rules-built-in.md) |
| Custom Rules | Inline rules, `createRule`, reactive parameters, async rules, metadata | [rules-custom](references/rules-custom.md) |
| Rule Wrappers | `withMessage`, `withParams`, `withAsync`, `withTooltip`, chaining | [rules-wrappers](references/rules-wrappers.md) |
| Rule Operators | `and`, `or`, `xor`, `not`, `applyIf`, `assignIf`, `pipe` | [rules-operators](references/rules-operators.md) |

## Related skills

- **regle** — form setup with `useRegle`, validation properties, displaying errors, modifiers.
- **regle-typescript** — typing rules schemas with `inferRules` and `RegleComputedRules`.

