Skip to content
This repository was archived by the owner on Jul 7, 2026. It is now read-only.

imdevarsh/gorkie

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

725 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Important

This repository has moved. The source code for Gorkie v3 is now available at: techwithanirudh/gorkie

Gorkie banner

Gorkie for Slack

Table of Contents

  1. Introduction
  2. Features
  3. Tech Stack
  4. Getting Started
  5. Project Structure
  6. Development
  7. License

Introduction

Gorkie is an AI assistant for Slack. It responds in mentions, DMs, Assistant threads, and subscribed Slack threads with answers backed by tools, sandboxed code execution, web search, Slack context, file uploads, image generation, and reminders.

The bot runs as a long-lived Bun process. Slack events are handled through Vercel Chat SDK and the Slack adapter in Socket Mode, while coding agent work runs through Vercel AI SDK Harness/Pi. Each active Slack conversation gets an E2B sandbox so Gorkie can run commands, inspect files, generate artifacts, and upload results back to Slack.

Features

  • Slack-native replies for mentions, DMs, Assistant threads, and thread follow-ups.
  • Per-thread sandbox sessions backed by E2B.
  • Coding-agent workflows through AI SDK Harness/Pi.
  • Slack-aware tools for reading public channel/thread history, posting messages, looking up users/channels, and reacting to messages.
  • Web search through Exa.
  • Image generation and file uploads back into the active Slack thread.
  • Mermaid diagram generation.
  • Scheduled Slack reminders.
  • App Home customization for user instructions and presets.
  • Langfuse/OpenTelemetry tracing hooks for runtime visibility.

Tech Stack

Getting Started

Create a new Slack app using the provided manifest. You will also need Git, Bun, a PostgreSQL database, an E2B API key, and model provider keys for the configured Harness/Pi attempts.

# Clone this repository
git clone https://github.com/imdevarsh/gorkie-slack.git

# Install dependencies
bun install

# Copy and fill in the bot environment
cp apps/bot/.env.example apps/bot/.env

# Push the database schema
bun run db:push

# Start the Slack bot
bun run dev:bot

Local development uses Slack Socket Mode, so the bot does not need a public HTTP tunnel just to receive Slack events.

See DEVELOPMENT.md for the full local setup, sandbox template notes, and deployment guidance.

Project Structure

apps/
  bot/        Slack runtime, Chat SDK wiring, Slack features, bot-owned tools
docs/         Human/agent-readable architecture notes
packages/
  ai/         Harness/Pi agent setup, prompts, provider attempts, session files
  db/         Drizzle schema, PostgreSQL client, queries
  logging/    Pino logger factory
  sandbox/    E2B sandbox provider, template builder, sandbox skills
  utils/      Shared framework-agnostic helpers
tooling/
  cspell/     Shared cspell configuration
  github/     Reusable GitHub Actions setup
  typescript/ Shared TypeScript configs

apps/bot is the production runtime. It runs TypeScript directly with Bun and keeps Slack Socket Mode, Chat SDK state, Harness/Pi sessions, and E2B sandbox coordination in one process.

Development

Use these checks before handing off changes:

bun run typecheck
bun run check
bun run check:spelling

Build everything with:

bun run build

Build the sandbox template when sandbox tools, skills, browser dependencies, or CLI packages change:

bun run build:template

Manual Slack smoke testing is documented in TESTING.md.

Architecture notes live in docs/. They are Markdown files with Fumadocs-compatible frontmatter/components and can be previewed with:

bun run docs:preview

License

This project is under the MIT license. See LICENSE for details.

About

No description, website, or topics provided.

Resources

License

Stars

11 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages