# Contributing Guide

Hola amigo! I'm excited that you are interested in contributing to **BoxLang**. Before submitting your contribution, please make sure to take a moment and read through the following guidelines:

{% hint style="info" %}
If you are new to BoxLang, start with [BoxLings](https://github.com/ortus-boxlang/boxlings) to build confidence with the language and testing workflow before contributing to core projects.
{% endhint %}

### Code Of Conduct <a href="#code-of-conduct" id="code-of-conduct"></a>

This project is open source, and as such, the maintainers give their free time to build and maintain the source code held within. They make the code freely available in the hope that it will be useful to other developers and/or businesses. Your contributions are crucial in maintaining the integrity of BoxLang. Be considerate towards maintainers when raising issues or presenting pull requests. **We all follow the Golden Rule: Do to others as you want them to do to you.**

* As contributors and maintainers of this project, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities.
* Participants will be tolerant of opposing views.
* Examples of unacceptable behavior by participants include the use of sexual language or imagery, derogatory comments or personal attacks, trolling, public or private harassment, insults, or other unprofessional conduct.
* Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions not aligned with this Code of Conduct. Project maintainers who do not follow the Code of Conduct may be removed from the project team.
* When interpreting the words and actions of others, participants should always assume good intentions. Emotions cannot be derived from textual representations.
* Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue or contacting one or more project maintainers.

### Bug Reporting

Please link it to the appropriate issue if you submit a pull request.

* <https://ortussolutions.atlassian.net/browse/BL>

If you file a bug report, your issue should contain a title, a clear description of the issue, a way to replicate the issue, and any support files we might need to replicate your issue. The goal of a bug report is to make it easy for yourself - and others - to replicate the bug and develop a fix for it. Not all issues that do not contain a way to replicate will be addressed.

### Support Questions <a href="#support-questions" id="support-questions"></a>

If you have questions about usage, professional support, or ideas to bounce off the maintainers, please do not create an issue. Leverage our support channels first.

* Ortus Community Discourse: <https://community.ortussolutions.com>
* Box Slack Team: <https://boxteam.ortussolutions.com>
* Professional Support: <https://www.ortussolutions.com/services/support>

### Pull Request Guidelines <a href="#pull-request-guidelines" id="pull-request-guidelines"></a>

* The `main` branch is just a snapshot of the **latest stable** release. All development should be done in dedicated branches. Do not submit PRs against the `main` branch. They will be closed.
* All pull requests should be sent against the `development` branch or the LTS version branch `releases/v{version}`
* It's OK to have multiple small commits as you work on the PR - GitHub will automatically squash it before merging.
* Make sure all local tests pass before submitting the merge.
* Please make sure all your pull requests have companion tests.
* Please link the Jira issue in your PR title when sending the final PR

### Security Vulnerabilities

If you discover a security vulnerability, please email the development team at <security@ortussolutions.com>. All security vulnerabilities will be promptly addressed.

### JRE Compatibility

Please make sure your code runs on JRE 21+

### Financial Contributions <a href="#financial-contributions" id="financial-contributions"></a>

You can support BoxLang and all of our Open Source initiatives at Ortus Solutions by becoming a Patreon. You can also get lots of goodies and services depending on the level of contributions.

* [Become a backer or sponsor on Patreon](https://www.patreon.com/ortussolutions)
* [One-time donations via PayPal](https://www.paypal.com/paypalme/ortussolutions)


---

# Agent Instructions: 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:

```
GET https://boxlang.ortusbooks.com/readme/contributing-guide.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
