> 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/devops/pro-code.md).

# Pro-Code

Rierino core library, which is accessible for our clients through our Maven repository provide all utility functions, abstract classes and interfaces for creating and incorporating new elements into backend microservices.

## Creating a New Element &#x20;

New microservice elements can be implemented using Rierino Java SDK, for use cases such as:

* Implementing a new [custom handler](/devops/pro-code/custom-handlers.md), which wraps a 3rd party Java library for Rierino, or executes a highly customized logic
* Implementing a new [custom state manager](/devops/pro-code/custom-state-managers.md), for a data source type which is not currently supported out of box by Rierino

New elements can be built and stored in a Maven repository that is accessible by Rierino deployment environment.

## Deploying in Microservices

All custom elements can be included in required microservices as dependencies within their [deployment configurations](/devops/microservices/deployment-packages/defining-a-deployment.md).

## Using in Microservices

Once the microservices are configured to use new element dependencies, these elements can be configured on the [elements](/devops/microservices/building-blocks.md) screen of devops application and added to the runners which will be utilizing them.

{% hint style="warning" %}
Rierino provides a wide range of options for creating flexible microservices, APIs and event processing capabilities, including custom scripting and dynamic code processing features.&#x20;

Unless it is an edge case or implementation of an adapter for an existing 3rd party library, it is recommended to utilize built-in functionalities, which are continuously maintained and improved by Rierino team.
{% endhint %}

{% hint style="info" %}
In addition to provided list of elements, it is also possible to create custom runners, transformation and condition classes, listeners, aggregate manipulators, locking mechanisms using available base classes, if required.
{% endhint %}


---

# 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/devops/pro-code.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.
