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