Skip to main content
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:
This will start:
  • 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 with bun test. Run the test suite with:

Linting and Formatting

We use ESLint and Prettier to maintain code quality:

Building Locally

To build all packages:
To build a specific package:

Running Examples

We provide example integrations in the examples/ 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

If port 3000, 3001, or 3002 is already in use, you can specify different ports:
During development, you can use test API keys:

Contributing

We welcome contributions! Here’s how you can help:
  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Make your changes
  4. Run tests: bun test
  5. Commit your changes: git commit -m 'Add amazing feature'
  6. Push to your branch: git push origin feature/amazing-feature
  7. 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