Code of Conduct
ERPNext follows the Contributor Covenant Code of Conduct. By participating, you are expected to uphold this code.If you encounter abusive, harassing, or otherwise unacceptable behavior, please report it to the project team at [email protected].
Community Standards
We are committed to providing a welcoming and inclusive environment for everyone. Contributors are expected to:- Use welcoming and inclusive language
- Be respectful of differing viewpoints and experiences
- Gracefully accept constructive criticism
- Focus on what is best for the community
- Show empathy towards other community members
Getting Help
For questions and discussions, please use the ERPNext Forum instead of creating GitHub issues.Setting Up Development Environment
Install Bench
Follow the Installation Steps to setup bench and start the server:
Reporting Issues
General Issue Guidelines
Before creating an issue, please follow these guidelines:- Search existing Issues: Before raising an issue, search if it has been raised before. Add a 👍 reaction or provide additional help if the issue already exists
- Report each issue separately: Don’t combine multiple, unrelated issues in one report
- Be Brief: Use screenshots and bullet points instead of long descriptive paragraphs
If your issue is not clear or does not meet the guidelines, it may be closed. You can supply the requested information and re-open it.
Bug Reports
When reporting a bug, include the following information:Clear Title
Use a descriptive title like “Unable to submit Purchase Order without Basic Rate” instead of just “Cannot Submit”.
Steps to Reproduce
Provide a clear list of steps needed to reproduce the bug. If we cannot reproduce it, we cannot fix it.Example:
- Go to Purchase Order
- Add an item without setting Basic Rate
- Click Submit
- Error occurs
Version Number
Include your ERPNext version number. Many bugs are already fixed in the latest version.
Feature Requests
When requesting a new feature:-
Clarity: Clearly specify how you want the feature to behave
- ❌ Bad: “I would like multiple PDF formats”
- ✅ Good: “Ability to add multiple print formats for customers with different languages”
- Solution: Try to identify how the feature should work and look
- Mockups: Include mockups or wireframes to illustrate your requirements
Feature requests help create a roadmap for future development. Be as specific as possible about your use case.
Pull Requests
Before Opening a PR
Ensure you’ve completed the following before opening a pull request:Choose the Right Branch
Select which branch your PR should be merged into (usually
develop for new features).Follow Naming Convention
PR names should follow the conventional commits format.Examples:
feat: add multi-currency support to quotationsfix: resolve stock balance calculation errorrefactor: optimize sales order query performance
PR Description Requirements
Your pull request description should include:- Explanation of Changes: Describe what problem your PR solves and why the change is necessary
- Screenshots/GIFs: For UI changes, include before/after screenshots or recordings
- Testing Details: Explain how you tested the changes
Pre-commit Hooks
ERPNext uses pre-commit hooks to maintain code quality. These will run automatically when you commit:- Trailing whitespace removal
- YAML validation (check-yaml)
- Merge conflict detection
- AST validation for Python files
- JSON and TOML validation
- Debug statement detection
- Prettier for JavaScript, Vue, and SCSS files
- ESLint for JavaScript files
- Ruff for Python linting and formatting
Your commits will be blocked if pre-commit hooks fail. Fix the issues and commit again.
Branch Protection
Additional Resources
Contributing Guidelines
Contributing Guidelines
For detailed contribution guidelines, visit:
Security Vulnerabilities
Security Vulnerabilities
If you discover a security vulnerability, please report it through the proper channels:Do not create public GitHub issues for security vulnerabilities.
Translations
Translations
Help translate ERPNext into your language:
Learning Resources
Learning Resources
- Frappe School - Courses on Frappe Framework and ERPNext
- Official Documentation
- Discussion Forum
- Telegram Group