# Campaign Messenger Runtime

This folder is a fresh Campaign Messenger runtime for a new user. It intentionally does not include any old campaign contacts, sent/skipped progress, invited history, logs, or campaign images.

## Files in this folder

- `CampaignMessenger.app` - preferred launcher.
- `CampaignMessenger.command` - fallback launcher that opens Terminal and a browser.
- `campaign_server` - compiled local server used by the fallback launcher.
- `ImagePasteboardHelper` - helper used by the image paste/send flow.
- `contacts.csv` - starter sample contact file. Replace or import the real contact list before sending.
- `message_config.json` - neutral starter message with no image selected.
- `send_status.json` - empty current-campaign sent/skipped tracking.
- `previous_campaign.json` - empty invited-history tracking.

## First setup

1. Replace `contacts.csv` or import the user's real CSV from the dashboard.
2. Open `CampaignMessenger.app` and wait 6-10 seconds for the dashboard.
3. Open **Edit Message & Image**.
4. Enter the approved message text.
5. Choose the approved image, confirm the preview, and save.
6. Grant macOS Accessibility permission to the exact `CampaignMessenger.app` in this folder.
7. If image sending is blocked, also grant Accessibility permission to `CampaignMessenger.app/Contents/Resources/ImagePasteboardHelper`.
8. Quit and reopen the app after changing Accessibility permission.
9. Send exactly one approved test message before sending to the full contact list.

Do not click **Send** during setup unless the selected contact is an approved test recipient.
