Thank you for your interest in contributing to the LeadMagic n8n integration! We welcome contributions from the community and appreciate your help in making this integration better.
- Node.js 18.10 or higher
- pnpm 9.1 or higher
- n8n development environment
- Basic knowledge of TypeScript and n8n node development
-
Fork the repository
# Fork the repo on GitHub, then clone your fork git clone https://github.com/YOUR_USERNAME/leadmagic-n8n.git cd leadmagic-n8n
-
Install dependencies
pnpm install
-
Start development mode
pnpm run dev
-
Link to your n8n instance
# Link the package to your global n8n installation npm link cd ~/.n8n npm link n8n-nodes-leadmagic
- TypeScript: All code must be written in TypeScript
- ESLint: Follow the existing ESLint configuration
- Formatting: Use Prettier for code formatting
- Naming: Use descriptive names for variables, functions, and classes
nodes/
├── LeadMagic/
│ ├── LeadMagic.node.ts # Main node implementation
│ └── descriptions/ # UI descriptions
│ ├── EmailDescription.ts
│ ├── CompanyDescription.ts
│ └── ...
credentials/
└── LeadMagicApi.credentials.ts # API credentials
Use conventional commits format:
<type>(<scope>): <subject>
<body>
<footer>
Types:
feat: New featurefix: Bug fixdocs: Documentation changesstyle: Code style changes (formatting, etc.)refactor: Code refactoringtest: Adding or updating testschore: Maintenance tasks
Examples:
feat(email): add email validation with detailed scoring
fix(company): resolve funding information parsing issue
docs: update installation instructions
- Update the appropriate description file in
nodes/LeadMagic/descriptions/ - Add the operation logic in
LeadMagic.node.ts - Test the new operation thoroughly
- Update documentation if needed
When the LeadMagic API changes:
- Update the operation definitions in description files
- Modify the request/response handling in the main node
- Update parameter validation and error handling
- Test all affected operations
-
Lint your code
pnpm run lint
-
Fix any linting issues
pnpm run lintfix
-
Build the project
pnpm run build
-
Test in n8n
- Start your n8n instance
- Create a test workflow
- Test your changes thoroughly
-
Create a feature branch
git checkout -b feature/your-feature-name
-
Make your changes
- Write clear, concise code
- Add comments where necessary
- Follow the existing code style
-
Test thoroughly
- Test all affected operations
- Ensure no regressions
- Verify error handling
-
Commit your changes
git add . git commit -m "feat: add your feature description"
-
Push to your fork
git push origin feature/your-feature-name
-
Create a Pull Request
- Use a clear, descriptive title
- Provide detailed description of changes
- Reference any related issues
- Add screenshots if applicable
- Code follows the project's style guidelines
- Self-review completed
- Code is properly commented
- Tests pass locally
- Documentation updated if needed
- No breaking changes (or clearly documented)
When reporting bugs, please include:
- Clear description of the issue
- Steps to reproduce the problem
- Expected behavior vs actual behavior
- Environment details (n8n version, Node.js version, etc.)
- Error messages or logs
- Screenshots if applicable
For feature requests, please provide:
- Clear description of the proposed feature
- Use case explaining why it's needed
- Proposed implementation if you have ideas
- Alternative solutions you've considered
- Join the discussion in GitHub Issues
- Connect with the n8n community on Discord
- Follow updates on Twitter
By contributing to this project, you agree that your contributions will be licensed under the MIT License.
Thank you for contributing to the LeadMagic n8n integration! 🎉