> For the complete documentation index, see [llms.txt](https://docs.rierino.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.rierino.com/configuration/business-rules/drools-rules.md).

# Drools Rules

Drools specific features for special use cases are as follows:

## Rule Domains

* **Main Fact:** Main fact to be inserted into rules, which defaults to "DroolsMessageWrapper" which wraps received data for an event.
* **Extra Code:** Additional code to append (such as static variables, data structure declarations, special initialization and finalization rule codes) before the generated rule blocks.
* **Common Pre Condition:** Code to repeat for each rule in a domain, before given rule condition.
* **Common Post Condition:** Code to repeat for each rule in a domain, after given rule condition.
* **Common Condition Code:** Condition to add for each rule's main fact entry.
* **Common Pre Action Code:** Code to repeat for each rule in a domain, before given rule action (e.g. initializations).
* **Common Post Action Code:** Code to repeat for each rule in a domain, after given rule action (e.g. logging).
* **As List:** Whether batched / buffered rules should be executed using a list construct (requiring special rule entries) or iterating through each entry individually (possibly slower performance).

## Rules

* **Rule Attributes:** Code to append as attributes for this rule.
* **Salience:** Priority level for this rule.
* **Pre Condition:** Code to use before actual rule condition.
* **Post Condition:** Code to use after actual rule condition.
* **Disable Common Condition:** Whether rule should ignore common condition code from the domain.
* **Disable Common Pre Condition:** Whether rule should ignore common pre condition code from the domain.
* **Disable Common Post Condition:** Whether rule should ignore common post condition code from the domain.
* **Disable Common Pre Action:** Whether rule should ignore common pre action code from the domain.
* **Disable Common Post Action:** Whether rule should ignore common post action code from the domain.

{% embed url="<https://www.drools.org/learn/documentation.html>" %}
Drools Guide
{% endembed %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.rierino.com/configuration/business-rules/drools-rules.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
