Thank you for your interest in contributing to the Scrappey n8n Node! This document provides guidelines and information for contributors.
- Node.js 18.10 or higher
- pnpm 9.1+ (required package manager)
- Git
- n8n instance for testing (optional but recommended)
# 1. Fork and clone the repository
git clone https://github.com/YOUR-USERNAME/n8n-nodes-scrappey.git
cd n8n-nodes-scrappey
# 2. Install dependencies
pnpm install
# 3. Build the project
pnpm run build
# 4. Set up development environment
pnpm run start:dev- TypeScript: All new code must be written in TypeScript
- ESLint: Follow the existing ESLint configuration
- Prettier: Use Prettier for code formatting
- Naming: Use descriptive variable and function names
Before submitting any code, ensure it passes:
# Linting
pnpm run lint
# Type checking
pnpm run type-check
# Code formatting
pnpm run format:check
# Build verification
pnpm run build
# Full validation
pnpm run validatenodes/Scrappey/
βββ Scrappey.node.ts # Main node definition
βββ execute.ts # Operation dispatcher
βββ RequestMethods.ts # Request handling logic
βββ requestBodyBuilder.ts # Request construction
βββ fields.ts # Node field definitions
βββ GenericFunctions.ts # API utilities
βββ utils.ts # Helper functions
βββ types.ts # Type definitions
Our CI/CD pipeline automatically handles:
- Code Quality: Linting, formatting, and type checking
- Building: Compiling TypeScript and copying assets
- Security: Dependency auditing and CodeQL analysis
- Versioning: Automatic version bumps based on commit messages
- Releases: Publishing to GitHub Packages and npm
We use conventional commits for automatic versioning:
feat: descriptionβ Minor version bump (new features)fix: descriptionβ Patch version bump (bug fixes)docs: descriptionβ No version bump (documentation)chore: descriptionβ No version bump (maintenance)BREAKING CHANGEβ Major version bump (breaking changes)[major]: descriptionβ Major version bump (explicit major)
[skip ci]β Skip CI/CD pipeline[skip version]β Skip automatic version bump
# New feature (minor version bump)
git commit -m "feat: add support for custom user agents"
# Bug fix (patch version bump)
git commit -m "fix: resolve proxy connection timeout issue"
# Breaking change (major version bump)
git commit -m "feat: redesign API interface
BREAKING CHANGE: The request configuration format has changed"
# Documentation update (no version bump)
git commit -m "docs: update installation instructions"
# Skip automation
git commit -m "chore: update dev dependencies [skip ci]"- Build the node:
pnpm run build - Install in local n8n:
pnpm run start:dev - Test all three operation modes:
- Request Builder
- HTTP Auto-Retry
- Browser Auto-Retry
- Basic HTTP requests work
- Browser requests with anti-bot protection
- Proxy configuration (credentials, Scrappey, custom)
- Error handling for common scenarios
- Auto-retry functionality with failed HTTP nodes
- Custom headers and cookies
- Session management
- Country-specific proxy selection
- Merge approved PRs to
mainbranch - Auto-versioning workflow triggers automatically
- Version bump commits are created
- Release workflow publishes to registries
- Update version in
package.json - Run
node scripts/update-node-json.js - Create and push a version tag:
git tag v1.0.0 && git push origin v1.0.0 - GitHub Actions will handle the rest
Please include:
- n8n version
- Node version
- Scrappey node version
- Steps to reproduce
- Expected vs actual behavior
- Error messages/logs
- Workflow configuration (if applicable)
Please include:
- Use case description
- Proposed solution
- Alternatives considered
- Implementation suggestions
- Fork & Branch: Create a feature branch from
main - Develop: Make your changes following the guidelines
- Test: Verify functionality manually
- Validate: Run
pnpm run validateto ensure quality - Commit: Use conventional commit messages
- Push: Push to your fork
- PR: Create a pull request with:
- Clear description of changes
- Link to related issues
- Screenshots (if UI changes)
- Test results
- Code follows style guidelines
- All CI checks pass
- Functionality tested manually
- Documentation updated (if needed)
- No breaking changes (unless intentional)
- Commit messages follow conventions
bug- Something isn't workingenhancement- New feature or requestdocumentation- Documentation improvementsgood first issue- Good for newcomershelp wanted- Extra attention is neededquestion- Further information is requested
automated- Created by automationdependencies- Dependency updatesci/cd- CI/CD related changes
- GitHub Issues: Report bugs or ask questions
- n8n Community: Join the discussion
- Scrappey Support: API documentation
This project follows the Code of Conduct. Please read and follow it in all interactions.
Contributors are recognized in:
- Release notes
- GitHub contributor graphs
- Community highlights
Thank you for making this project better! π