Quick Start Guide
This guide will help you set up Gorkie locally and connect it to your Slack workspace.Prerequisites
Before you begin, make sure you have:- Bun installed on your machine
- Git for cloning the repository
- Slack workspace admin access to create and install apps
- Redis instance (local or cloud)
- PostgreSQL database (recommend Neon for serverless)
Step 1: Clone the Repository
Clone the Gorkie repository and install dependencies:Step 2: Create a Slack App
Gorkie includes a pre-configured manifest file that sets up all required permissions and features.Navigate to Slack Apps
Go to https://api.slack.com/apps and click Create New App
Use the Manifest
Copy the contents of
slack-manifest.json from the repository root and paste it into the manifest editorThe manifest configures OAuth scopes, event subscriptions, Socket Mode, and the assistant view. See the Slack Setup guide for detailed explanations of each permission.
Step 3: Configure Environment Variables
Copy the example environment file and configure your credentials:.env with your configuration:
Required: Slack Credentials
.env
Required: Redis and Database
.env
Required: AI Provider
You need at least one AI provider. Gorkie supports:.env
Required: E2B for Code Execution
.env
Optional: Additional Services
.env
Step 4: Initialize the Database
Push the database schema to your PostgreSQL instance:Step 5: Build the E2B Sandbox Template
Gorkie uses a custom E2B template with preinstalled tools. Build it with:gorkie-sandbox:latest with fd, ripgrep, imagemagick, ffmpeg, pip, and pillow preinstalled.
The sandbox template only needs to be built once. It’s automatically used when the bot starts up.
Step 6: Start the Development Server
Start Gorkie in watch mode for development:Step 7: Install to Your Workspace
In your Slack app settings:Step 8: Test Gorkie in Slack
Gorkie responds to:- @mentions in channels
- Direct messages
- Thread replies when Gorkie is already in the conversation
Development Commands
Useful commands for development:Next Steps
Slack Setup Details
Learn about OAuth scopes, event subscriptions, and Socket Mode
Configuration
Explore advanced configuration options and rate limiting
Troubleshooting
Bot not responding to messages
Bot not responding to messages
- Verify
SLACK_APP_TOKENis set and hasconnections:writescope - Check that Socket Mode is enabled in your Slack app settings
- Ensure the bot is invited to the channel (use
/invite @gorkie) - Check logs for connection errors
Database connection errors
Database connection errors
- Verify
DATABASE_URLformat is correct - For Neon, ensure
?sslmode=requireis appended - Run
bun run db:pushto create tables - Check that your database accepts connections from your IP
E2B sandbox failures
E2B sandbox failures
- Verify
E2B_API_KEYis set correctly - Run
bun run sandbox:buildto create the template - Check E2B dashboard for quota limits
- Review logs for specific sandbox errors
Rate limiting issues
Rate limiting issues
- Verify Redis connection with
REDIS_URL - Check Redis is running (
redis-cli ping) - Review rate limit configuration in code