Nástroj pro automatickou synchronizaci email kampaní z Ecomailu do markdown souborů pro Claude knowledge base.
- Automatická synchronizace - Denní synchronizace přes GitHub Actions
- Inkrementální updates - Stahuje pouze nové kampaně
- Markdown konverze - Převádí HTML kampaně na čitelný markdown
- State management - Pamatuje si stav synchronizace
- Commit integrace - Automaticky commituje změny do repozitáře
ecomail-sync/
├── .github/workflows/sync-ecomail.yml # GitHub Actions workflow
├── src/
│ ├── index.ts # Entry point
│ ├── services/ecomail-client.ts # Ecomail API client
│ ├── converters/campaign-to-markdown.ts # HTML → Markdown konverze
│ ├── sync/sync-manager.ts # Sync logika a state
│ └── types/index.ts # TypeScript typy
├── knowledge-base/ # Output složka
│ ├── campaigns/ # Markdown soubory kampaní
│ └── summary.md # Souhrnný report
├── state/sync-state.json # Stav synchronizace
└── .env # API konfigurace
```bash git clone cd ecomail-sync npm install ```
Zkopírujte `.env.example` na `.env` a nastavte:
```bash cp .env.example .env ```
Upravte `.env`: ```env ECOMAIL_API_KEY=your_api_key_here DEBUG=false ```
```bash
npm run build
npm run sync
DEBUG=true npm run sync ```
- Přihlaste se do Ecomail
- Jděte do Nastavení → API
- Zkopírujte váš API klíč
- Vložte ho do `.env` souboru
```bash npm run build # Kompilace TypeScript npm run sync # Spuštění synchronizace npm run dev # Watch mode pro vývoj npm run typecheck # Kontrola TypeScript typů ```
```bash
npm run sync -- --force
DEBUG=true npm run sync
DEBUG=true npm run sync -- --force ```
Workflow se spouští:
- Denně ve 2:00 UTC (3:00/4:00 CET)
- Manuálně přes GitHub Actions UI
V GitHub repozitáři nastavte:
- `ECOMAIL_API_KEY` - váš Ecomail API klíč
- Jděte na Actions tab
- Vyberte workflow "📧 Sync Ecomail Campaigns"
- Klikněte Run workflow
- Volitelně zapněte:
- Force full sync - plná synchronizace
- Debug mode - detailní logy
Ukládají se do `knowledge-base/campaigns/` ve formátu: ``` YYYY-MM-DD-nazev-kampane.md ```
Struktura markdown souboru: ```markdown
ID: campaign_123 Datum odeslání: 15. 12. 2024 10:30 Předmět: Vánoční akce - 50% sleva Preheader: Jen do konce roku...
[Konvertovaný HTML obsah]
- Typ: newsletter
- Příjemců: 1,250
- Tagy: vanoce, akce ```
`knowledge-base/summary.md` obsahuje:
- Datum poslední synchronizace
- Statistiky celkové synchronizace
- Seznam nově synchronizovaných kampaní
`state/sync-state.json` obsahuje: ```json { "lastSyncDate": "2024-12-15T10:30:00.000Z", "lastCampaignId": "campaign_123", "syncedCampaignIds": ["campaign_123", "campaign_122"], "totalSyncedCount": 145 } ```
❌ "ECOMAIL_API_KEY není nastaven"
- Zkontrolujte `.env` soubor
- API klíč musí být platný Ecomail API klíč
❌ "Nepodařilo se připojit k Ecomail API"
- Zkontrolujte internetové připojení
- API klíč může být neplatný
- Ecomail API může být dočasně nedostupný
❌ "Rate limit exceeded"
- Počkejte chvilku před dalším pokusem
- Nástroj automaticky respektuje rate limity
❌ GitHub Actions selhávají
- Zkontrolujte, že `ECOMAIL_API_KEY` je nastaven v Secrets
- Možná jsou problémy s přístupovými právy
Zapněte detailní logování: ```bash DEBUG=true npm run sync ```
Smazání stavu vynutí plnou synchronizaci: ```bash rm state/sync-state.json npm run sync ```
- API klíč je uložen v `.env` (neprobíhá do Gitu)
- GitHub Actions používá Secrets
- Žádné citlivé údaje v logovacích zprávách
- Max 100 kampaní per synchronizace
- 500 posledních ID v cache stavu
- 1000 requests/hour Ecomail API limit
- 30 minut timeout pro GitHub Actions
```bash npm run dev ```
- `EcomailClient` - API komunikace s retry a rate limiting
- `SyncManager` - State management a inkrementální logika
- `CampaignToMarkdownConverter` - HTML → Markdown konverze
- Vytvořte novou branch z `develop`
- Implementujte změny
- Otestujte lokálně
- Vytvořte Pull Request do `develop`
- ✅ První verze MVP
- ✅ Ecomail API integrace
- ✅ Markdown konverze
- ✅ GitHub Actions workflow
- ✅ Inkrementální synchronizace
# Připrav soubory pro nahrání do Claude
./scripts/prepare-for-claude.sh
# Soubory najdeš v claude-export/ složce- Vytvoř nový Claude Project "Ecomail Marketing"
- Nahraj soubory z
claude-export/do Project Knowledge - Claude bude mít kontext všech historických kampaní
Použij odkazy v promptech:
"Na základě kampaní z https://github.com/petrogurcak/ecomail-sync/tree/develop/knowledge-base/campaigns
vytvoř novou vánoční kampaň podobnou těm z prosince 2024."
"Analyzuj trendy z https://github.com/petrogurcak/ecomail-sync/blob/develop/knowledge-base/summary.md"
- Každý den se spustí sync a updatuje knowledge base
- Nové kampaně se automaticky přidají do GitHub
- Claude vždy pracuje s nejnovějšími daty
Vytvoření nové kampaně:
"Na základě historických kampaní z mé knowledge base vytvoř novou letní kampaň pro Etapu.
Zachovej tone of voice Gábi z Etapy a zaměř se na sezónní novinky."
Analýza a optimalizace:
"Analyzuj předměty emailů z posledních 10 kampaní a navrhni 5 variant
pro novou kampaň o podzimním menu."
A/B testing náměty:
"Na základě úspěšných kampaní s emojis vytvoř 3 varianty předmětu
pro Black Friday akci."
Vytvořeno s ❤️ pomocí Claude Code