Thank you for your interest in contributing to CFX Developer Tools.
Open a GitHub issue with:
- A clear description of the problem
- Steps to reproduce (if applicable)
- Expected vs actual behavior
- Your environment (OS, Cursor version, Python version)
Open a GitHub issue with the "feature request" label. Describe:
- What you want the plugin to do
- Why it would be useful
- Any examples or references
- Fork the repository
- Create a feature branch from
main - Make your changes
- Test your changes in Cursor
- Submit a pull request
Add new resource templates for additional frameworks or use cases:
- Place them in
templates/your-template-name/ - Include a complete
fxmanifest.lua - Include working client and server scripts
- Follow existing template conventions
Add code patterns for common tasks:
- Place them in the correct language folder under
snippets/ - Include a header comment explaining what the snippet does and when to use it
- Keep snippets focused on a single pattern
The native databases (mcp-server/data/natives_gta5.json, natives_rdr3.json) are auto-generated by a weekly CI workflow that fetches from runtime.fivem.net/doc/. Do not edit them manually.
To improve the native transformation logic:
- Edit
.github/scripts/transform_natives.py - Changes to side classification, description parsing, or schema mapping go there
- You can trigger a manual update via
gh workflow run update-natives.yml
Help expand the event reference database:
mcp-server/data/events.json- Follow the existing JSON structure:
name,side,description,params,game - Include accurate side (client/server/shared) and parameter lists
Improve or expand documentation:
- Fix typos or unclear explanations
- Add examples
- Update outdated information
Documentation changes auto-deploy to the docs site when merged to main.
- No em dashes anywhere - use hyphens or rewrite the sentence
- No hardcoded credentials, tokens, or passwords
- Follow existing file naming conventions
- Keep fxmanifest.lua syntax consistent with the fxmanifest-standards rule
By contributing, you agree that your contributions will be licensed under the project's CC-BY-NC-ND-4.0 license.