Prerequisites:
- Node.js (version 18 or higher)
- Git
- A webhook provider account (Stripe, GitHub, etc.) for testing
Local Development Setup
Clone the Repository
First, clone the Unhook repository and install dependencies:Start the Development Server
Run the development server locally:- The CLI webhook service on port 3000
- The web dashboard on port 3001
- The webhook processing service on port 3002
Project Structure
Development Workflow
Running Tests
Tests are powered by Vitest and executed withbun test. Run the test suite with:
Linting and Formatting
We use ESLint and Prettier to maintain code quality:Building Locally
To build all packages:Running Examples
We provide example integrations in theexamples/ directory. To run an example:
Debugging
CLI Debugging
Run the CLI with debug logging:Dashboard Debugging
The dashboard includes React Developer Tools and runs in development mode by default:Common Issues
Error: Port already in use
Error: Port already in use
If port 3000, 3001, or 3002 is already in use, you can specify different ports:
Error: Invalid API Key
Error: Invalid API Key
During development, you can use test API keys:
Contributing
We welcome contributions! Here’s how you can help:- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes
- Run tests:
bun test - Commit your changes:
git commit -m 'Add amazing feature' - Push to your branch:
git push origin feature/amazing-feature - Open a Pull Request
Contribution Guidelines
- Follow the existing code style
- Add tests for new features
- Update documentation for changes
- Keep commits focused and atomic
- Write clear commit messages
Next Steps
Architecture
Learn about Unhook’s internal architecture
API Reference
Explore the internal APIs
Testing Guide
Learn how to test your changes
Provider Development
Create integrations for new webhook providers