"If builders built buildings the way programmers wrote programs, then the first woodpecker that came along would destroy civilization." — Gerald Weinberg
Thank you for considering contributing to n8n-deploy! This document provides guidelines and workflows for contributing to the project.
-
Fork and Clone
git clone https://github.com/YOUR_USERNAME/n8n-deploy.git cd n8n-deploy -
Set Up Development Environment
# Create virtual environment python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate # Install dependencies pip install -r requirements.txt pip install -e .
-
Create Feature Branch
git checkout -b feature/your-feature-name
- Formatting: Use
blackfor code formatting - Type Safety: All code must pass
mypy --strict - Testing: Write tests for new functionality
- Documentation: Update relevant documentation
# All tests
python run_tests.py --all
# Specific test suites
python run_tests.py --unit
python run_tests.py --integration
python run_tests.py --e2e
# Type checking
mypy api/ --strictUse clear, descriptive commit messages in imperative mood:
# Good
git commit -m "Add workflow backup compression feature"
git commit -m "Fix database initialization race condition"
# Avoid
git commit -m "Added stuff"
git commit -m "Fixed bug"-
Ensure All Tests Pass
- Run full test suite
- Verify type checking passes
- Check code formatting
-
Update Documentation
- Add/update docstrings
- Update relevant markdown files
- Add examples where helpful
-
Submit PR
- Provide clear description
- Reference related issues
- Wait for review feedback
All contributors must follow our Code of Conduct. Be respectful, inclusive, and constructive.
- Test Horizontally: Run commands with all parameter combinations
- Environment Variables: Use
N8N_DEPLOY_TESTING=1during tests - No Functional Changes: Modify tests, not code, to make tests pass
- Permission-Agnostic: Design tests that work in any environment
- Bug fixes and issue resolution
- Test coverage improvements
- Documentation enhancements
- Performance optimizations
- New CLI commands
- Enhanced n8n server integration
- Additional backup formats
- Workflow validation tools
- User guides and tutorials
- Developer documentation
- Code examples
- Troubleshooting guides
- Documentation: Full docs
- Issues: GitHub Issues
- Discussions: GitHub Discussions (for questions and ideas)
For comprehensive development guidelines, architecture details, and testing strategies, see:
By contributing to n8n-deploy, you agree that your contributions will be licensed under the MIT License.
Thank you for contributing to n8n-deploy! Every contribution, no matter how small, helps improve the project.