Add complete community documentation

- README.md: Product overview + issue tracker landing
- SECURITY.md: Responsible disclosure policy
- CODE_OF_CONDUCT.md: Community guidelines
- CONTRIBUTING.md: How to contribute
- SUPPORT.md: Comprehensive support guide
- Issue templates: Bug, feature, support, docs, security

All references updated to evercatch.dev domain.
This commit is contained in:
2026-02-13 15:34:23 +00:00
parent 27c69d201f
commit 8176118c0f
13 changed files with 1137 additions and 185 deletions

244
README.md
View File

@@ -1,72 +1,230 @@
# 📦 Repository Name
# 🎯 Evercatch
> Short one-line description of what this repository does.
> **The webhook infrastructure platform for developers who want simplicity without sacrificing power.**
Evercatch is a modern webhook ingestion and forwarding platform that captures, normalizes, and reliably delivers webhooks from any source to any destination. Built for developers, by developers.
---
## 🧭 Overview
## 📋 What is Evercatch?
Describe what this service/module is responsible for within the Evercatch platform.
Evercatch sits between your webhook providers (Stripe, SendGrid, GitHub, etc.) and your application, giving you:
- **📦 Unified Schema** - One normalized format for all webhook providers
- **🔄 Reliable Delivery** - Automatic retries with exponential backoff
- **📊 Event History** - Search, filter, and replay webhooks up to 90 days
- **⚡ Lightning Fast** - Sub-100ms webhook ingestion
- **🔐 Secure by Design** - API key authentication, filtered sensitive data
- **💰 Usage-Based Pricing** - Pay only for what you use, with generous free tier
---
## 🛠️ Tech Stack
## 💡 Why Evercatch?
| Layer | Technology |
| :--- | :--- |
| Language | — |
| Framework | — |
| Key Dependencies | — |
### The Problem
You're integrating with multiple services (Stripe for payments, SendGrid for emails, Shopify for orders). Each has:
- Different webhook formats
- Different retry behaviors
- Different ways to verify authenticity
- No central dashboard to debug issues
**You spend more time managing webhooks than building your product.**
### The Evercatch Solution
Point all your webhooks at Evercatch. We:
1. ✅ Receive and validate webhooks from any provider
2. ✅ Normalize them to a unified schema
3. ✅ Store them with intelligent retention (7-90 days)
4. ✅ Forward them to your app with automatic retries
5. ✅ Give you a beautiful dashboard to search, filter, and replay events
**You focus on your product. We handle the webhooks.**
---
## 🚀 Getting Started
### Prerequisites
- Docker & Docker Compose
- Node.js / Python (specify version)
### Local Development
## 🚀 Quick Start
### 1. Sign Up
```bash
# Clone the repo
git clone https://git.psmattas.com/Evercatch/REPO_NAME.git
cd REPO_NAME
# Copy environment variables
cp .env.example .env
# Start services
docker compose up -d
curl -X POST https://api.evercatch.dev/api/v1/auth/signup \
-H "Content-Type: application/json" \
-d '{
"email": "you@example.com",
"full_name": "Your Name",
"country": "IE"
}'
```
---
**Response:**
```json
{
"user": { "id": "550e8400-...", "email": "you@example.com" },
"api_key": {
"api_key": "ec_live_abc123...",
"prefix": "ec_live_abc1"
},
"subscription": { "tier": "sandbox", "status": "trialing" }
}
```
## 🌿 Branching & Commits
### 2. Point Your Webhooks at Evercatch
```
https://api.evercatch.dev/api/v1/webhooks/stripe/550e8400-...
```
All work follows the Evercatch contribution guide defined in the org README.
**Example: Configure Stripe**
1. Go to [Stripe Dashboard → Webhooks](https://dashboard.stripe.com/webhooks)
2. Click "Add Endpoint"
3. Enter: `https://api.evercatch.dev/api/v1/webhooks/stripe/550e8400-...`
4. Select events
5. Add header: `X-API-Key: ec_live_abc123...`
**Branch format:** `EC-ID-short-description`
**Commit format:** `EC-00: type(scope): message`
### 3. Configure Your Destination
```bash
curl -X POST https://api.evercatch.dev/api/v1/destinations \
-H "X-API-Key: ec_live_abc123..." \
-H "Content-Type: application/json" \
-d '{
"name": "Production API",
"url": "https://yourapp.com/webhooks",
"providers": ["stripe"],
"event_types": ["payment.*"]
}'
```
See [Evercatch Org README](https://git.psmattas.com/Evercatch) for full conventions.
### 4. That's It! 🎉
Evercatch now:
- ✅ Receives webhooks from Stripe
- ✅ Normalizes them to a unified schema
- ✅ Stores them for 24 hours (Sandbox tier)
- ✅ Forwards them to `yourapp.com/webhooks`
- ✅ Retries on failure
---
## ⚙️ CI/CD
## 📊 Pricing
Automated via Jenkins. Merges to `main` trigger staging deployments.
| Plan | Price | Events/mo | Retention | Destinations | Overage |
|------|-------|-----------|-----------|--------------|---------|
| **Sandbox** | €0 | 100k | 24 hours | 2 | — |
| **Indie** | €29 | 1M | 7 days | 10 | €0.50/100k |
| **Studio** | €99 | 10M | 30 days | Unlimited | €0.30/100k |
| **Enterprise** | €299 | 50M | 90 days | Unlimited | €0.20/100k |
| Pipeline | Status |
| :--- | :---: |
| Build | ![Build Status](https://img.shields.io/badge/build-pending-lightgrey) |
| Lint | ![Lint Status](https://img.shields.io/badge/lint-pending-lightgrey) |
| Test | ![Test Status](https://img.shields.io/badge/tests-pending-lightgrey) |
**All plans include:**
- ✅ Unlimited API keys
- ✅ Real-time event forwarding
- ✅ Automatic retries
- ✅ 99.9% uptime SLA
- ✅ Support via email
**Studio+ includes:**
- ✨ Full-text search
- ✨ Advanced filtering
- ✨ Event replay
- ✨ Custom retention
**Enterprise includes:**
- 🚀 Priority support
- 🚀 Custom SLAs
- 🚀 Dedicated Slack channel
- 🚀 SSO/SAML
- 🚀 Custom contracts
[**→ Start Free**](https://evercatch.dev/signup) · [**→ View Full Pricing**](https://evercatch.dev/pricing)
---
## 📄 License
## 🐛 Found a Bug?
**Copyright © 2026 Evercatch.**
Proprietary and confidential. Unauthorised distribution is strictly prohibited.
We want to fix it! **[→ Report a Bug](../../issues/new?template=bug_report.md)**
Please include:
- Clear steps to reproduce
- Expected vs actual behavior
- Your subscription tier
- Event IDs (if applicable)
**Do NOT include API keys or sensitive data.**
---
## ✨ Have a Feature Idea?
We'd love to hear it! **[→ Request a Feature](../../issues/new?template=feature_request.md)**
Tell us:
- What problem it solves
- How you'd use it
- Which tier would benefit
---
## 🔐 Security Vulnerability?
**DO NOT open a public issue.**
**Email:** [security@evercatch.dev](mailto:security@evercatch.dev)
We'll respond within 24 hours. See our [Security Policy](SECURITY.md) for details.
---
## ❓ Need Help?
- 📚 **Documentation**: [docs.evercatch.dev](https://docs.evercatch.dev)
- 📧 **Email Support**: [support@evercatch.dev](mailto:support@evercatch.dev)
- 💳 **Billing**: [billing@evercatch.dev](mailto:billing@evercatch.dev)
- **[→ Open a Support Ticket](../../issues/new?template=support_request.md)**
---
## 📚 Resources
- **Documentation:** [docs.evercatch.dev](https://docs.evercatch.dev)
- **API Reference:** [docs.evercatch.dev/api](https://docs.evercatch.dev/api)
- **Status Page:** [status.evercatch.dev](https://status.evercatch.dev)
- **Blog:** [blog.evercatch.dev](https://blog.evercatch.dev)
- **Roadmap:** [roadmap.evercatch.dev](https://roadmap.evercatch.dev)
- **Changelog:** [changelog.evercatch.dev](https://changelog.evercatch.dev)
---
## 🤝 Contributing
We welcome community contributions! See [CONTRIBUTING.md](CONTRIBUTING.md) for:
- Bug reports
- Feature requests
- Documentation improvements
- Beta testing
- Integration examples
---
## 📜 Code of Conduct
All community members must follow our [Code of Conduct](CODE_OF_CONDUCT.md).
**TL;DR:** Be respectful, professional, and kind. No harassment, discrimination, or spam.
**Report violations:** [conduct@evercatch.dev](mailto:conduct@evercatch.dev)
---
## ⚖️ Legal
- **Terms of Service:** [evercatch.dev/terms](https://evercatch.dev/terms)
- **Privacy Policy:** [evercatch.dev/privacy](https://evercatch.dev/privacy)
- **SLA:** [evercatch.dev/sla](https://evercatch.dev/sla)
- **Acceptable Use:** [evercatch.dev/acceptable-use](https://evercatch.dev/acceptable-use)
---
<p align="center">
<strong>Evercatch - No webhook left behind</strong>
<br/>
<a href="https://evercatch.dev">Website</a> •
<a href="https://docs.evercatch.dev">Docs</a> •
<a href="https://app.evercatch.dev">Dashboard</a> •
<a href="https://status.evercatch.dev">Status</a>
</p>