Thank you for your interest in contributing to modAI.
modAI is the native AI framework for MODX Revolution. The goal is to build a shared foundation for AI-powered workflows throughout the MODX ecosystem.
Contributions of all sizes are welcome.
Useful contributions include:
- Bug fixes
- Documentation improvements
- Provider integrations
- Manager UI improvements
- Testing and QA
- Performance work
- Vision and image workflows
- Tools and agents (function calling)
- Vector search and retrieval
Please review:
- Open issues
- Existing pull requests
- Project discussions
- DESIGN_PRINCIPLES.md
- ARCHITECTURE.md
For larger changes, open an issue or discussion before writing a full implementation.
That helps avoid duplicated work and keeps the change aligned with the project direction.
- Fork the repository.
- Create a feature branch.
- Make your changes.
- Add or update tests when practical.
- Update documentation when behavior changes.
- Submit a pull request.
Use clear branch names.
Examples:
fix/provider-error-handling
feature/gemini-vision-support
docs/provider-setup
Install dependencies:
composer install
npm installCommon commands:
npm run build # build the Manager assets (esbuild)
npm run dev # rebuild on change while developing
npm run lint # lint JavaScript/TypeScript with ESLint
npm run docs:dev # run the documentation site locallyPHP code follows the coding standard defined in phpcs.xml (PHP CodeSniffer). The project targets PHP 8.2+ and MODX Revolution 3.x.
The user-facing documentation site lives in _build/docs (Docusaurus) and renders the Markdown in the top-level docs/ directory.
A good pull request should include:
- A clear description of the problem
- A clear description of the change
- Screenshots for UI changes
- Test notes or manual verification steps
- Links to related issues or discussions
Keep pull requests focused when possible.
A small, clear PR is easier to review than a large PR that mixes unrelated changes.
Follow existing project patterns.
Contributions should:
- Avoid unnecessary dependencies
- Keep provider-specific logic in provider code
- Keep Manager UI code provider-neutral where practical
- Preserve backwards compatibility when practical
- Handle provider errors clearly
- Avoid exposing credentials or sensitive data
Update documentation when a change affects:
- Installation
- Configuration
- Supported providers
- Supported capabilities
- Developer APIs
- Manager behavior
- User-facing workflows
Documentation should be written for experienced MODX developers.
Use plain language. Avoid hype.
Provider contributions should update PROVIDERS.md.
Include:
- Supported capabilities
- Required credentials
- Model requirements
- Known limits
- Manual test notes
UI changes should include screenshots or screen recordings when practical.
Please check:
- Empty states
- Error states
- Loading states
- Long responses
- Small screens
- Permission-related behavior
Do not include API keys, secrets, access tokens, or real customer data in commits, issues, screenshots, or pull requests.
If you believe you have found a security issue, do not open a public issue. Contact the MODX team through the appropriate security channel.
Use GitHub Discussions for architecture questions, provider ideas, and larger proposals.
Use GitHub Issues for bugs and clearly scoped tasks.
We appreciate your help building modAI.