> ## Documentation Index
> Fetch the complete documentation index at: https://docs.humalike.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Contributing

> Propose fixes and extensions to the HumaLike FiveM resource without breaking its public contracts.

The [HumaLike FiveM resource](https://github.com/Humalike/humalike-fivem-npc)
accepts community pull requests. Focused bug fixes, tests, performance
improvements, generic integrations, and documentation corrections are welcome.

## Discuss features first

Talk to us on [Discord](https://discord.gg/7bZFjm9aHH) before implementing a
change that:

* adds a feature or configuration option;
* changes NPC, voice, world, or integration behavior;
* adds or changes a provider capability;
* changes communication between the FiveM resource and HumaLike;
* changes a public export, event, convar, command, or data contract;
* adds a dependency or changes release packaging.

This gives maintainers and contributors a chance to agree on the public
contract before substantial implementation work begins. Small fixes, tests,
and documentation corrections can go directly to a pull request.

## Preserve public contracts

Do not independently change the resource-to-HumaLike wire contract,
authentication or licensing flow, runtime credential handling, service
addresses, or protocol payloads. These changes require prior maintainer approval
and a coordinated release.

Treat versioned provider APIs, public exports, events, convars, and commands as
compatibility contracts. Additive changes still need discussion. Breaking
changes require an explicit migration plan.

Keep the core resource standalone and framework-neutral. Customer-specific
jobs, economy rules, permissions, private events, and UI hooks belong in a
separate bridge. A generic framework integration must use public APIs, remain
optional, and preserve standalone operation.

Never commit credentials, license keys, private endpoints, customer details,
deployment information, or generated runtime data.

## Submit a pull request

1. Branch from the current `main` branch.
2. Keep the pull request focused on one behavior or contract.
3. Add focused tests for behavior changes.
4. Update documentation when the supported public surface changes.
5. Explain the motivation, compatibility impact, and validation in the pull
   request description.

Run the checks documented in the repository's
[contributing guide](https://github.com/Humalike/humalike-fivem-npc/blob/main/CONTRIBUTING.md)
before submitting the pull request. Maintainers may ask to split a broad change
or adjust its design to protect compatibility.

## Report security issues privately

Do not publish vulnerabilities in an issue or Discord message. Use
[GitHub private vulnerability reporting](https://github.com/Humalike/humalike-fivem-npc/security/advisories/new).
