Contributing to n8n-deploy
For the complete contributing guide, see CONTRIBUTING.md
Important: By contributing, you agree to follow our Code of Conduct and development practices.
Getting Started
Prerequisites
- Python 3.8+
piporuv- Git
- Basic understanding of CLI tools and workflows
Development Environment Setup
# Clone the repository
git clone https://github.com/lehcode/n8n-deploy.git
cd n8n-deploy
# Create virtual environment
python -m venv .venv
source .venv/bin/activate
# Install development dependencies
pip install -r requirements.txt
pip install -e .
Contribution Workflow
1. Find an Issue
- Check GitHub Issues
- Look for “good first issue” or “help wanted” labels
- Discuss potential changes in the issue comments
2. Fork and Branch
# Fork on GitHub
# Clone your fork
git clone https://github.com/YOUR_USERNAME/n8n-deploy.git
cd n8n-deploy
# Create a feature branch
git checkout -b feature/your-feature-name
3. Development Guidelines
Follow these practices to ensure code quality and consistency.
Code Style
- Use
blackfor formatting - Use
mypy --strictfor type checking - Write comprehensive type annotations
- Keep functions small and focused
Commit Messages
- Use clear, descriptive commit messages
- Reference issue numbers when applicable
- Use imperative mood (“Add feature” not “Added feature”)
4. Testing
# Run unit tests
python -m pytest tests/unit/
# Run integration tests
python -m pytest tests/integration/
# Run all tests
python run_tests.py --all
All tests must pass before submitting a pull request.
5. Documentation
- Update relevant documentation
- Add/update tests for new functionality
- Ensure documentation is clear and concise
6. Pull Request
# Push your changes
git push origin feature/your-feature-name
# Open a Pull Request on GitHub
Code of Conduct
- Be respectful and inclusive
- Provide constructive feedback
- Focus on the code, not the person
- Ask questions, don’t make assumptions
“In open source, we feel strongly that to really do something well, you have to get a lot of people involved.” — Linus Torvalds
Reporting Bugs
- Use GitHub Issues
- Provide a clear, minimal reproduction
- Include your environment details
- Be patient and responsive
Feature Requests
- Open an issue first to discuss
- Explain the use case
- Provide potential implementation ideas
- Be open to feedback
Not all features will be accepted. Maintainers prioritize project goals and simplicity.