git clone https://github.com/Portkey-AI/vivcal.git
cd vivcal
npm install
npm run setup # Interactive setup wizard
npm startThe setup wizard will guide you through configuring Google Calendar credentials and optional Portkey API key.
npm install- Go to Google Cloud Console
- Create a new project (or select existing)
- Enable the Google Calendar API and People API
- Go to APIs & Services → Credentials
- Click Create Credentials → OAuth client ID
- Select Desktop app as application type
- Download the JSON and save as
google-creds.jsonin the project root
The file should look like:
{
"installed": {
"client_id": "...",
"project_id": "...",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_secret": "...",
"redirect_uris": ["http://localhost:7175/auth/google/callback"]
}
}For AI-powered natural language event creation, create a .env file:
PORTKEY_API_KEY=your_key_here
PORTKEY_PROMPT_ID=your_prompt_id # Optional, defaults to pp-dateparse-d0b165Without this, VivCal uses chrono-node for local date parsing (works great for simple inputs like "meeting tomorrow at 3pm").
npm start| Shortcut | Action |
|---|---|
Alt+N |
Quick add event |
Alt+C |
Toggle calendar panel |
npm run distThe packaged app will be in dist/mac-arm64/VivCal.app.
Application logs are stored at:
~/Library/Application Support/vivcal/logs/main.log
