# Implementing model rules in a plugin

A plugin can define rules by extending RuleSource and adding methods that define the rules. The plugin class can either extend RuleSource directly or can implement Plugin and include a nested RuleSource subclass.

Refer to the API docs for RuleSource for more details.

## Applying additional rules

A rule method annotated with Rules can apply a RuleSource to a target model element.