Skip to content

getgort/getgort.github.io

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

68 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The Gort Guide

Gort is a chatbot framework designed from the ground up for chatops.

Gort brings the power of the command line to the place you collaborate with your team: your chat window. Its open-ended command bundle support allows developers to implement functionality in the language of their choice, while powerful access control means you can collaborate around even the most sensitive tasks with confidence. A focus on extensibility and adaptability means that you can respond quickly to the unexpected, without your team losing visibility.

Features

Gort's design philosophy emphasizes flexibility and security by allowing you to:

  • Trigger commands through Slack (or another chat provider)
  • Implement commands in any programming language of your choice
  • Package commands into bundles that can be installed in Gort
  • Organize users into groups, and permissions into roles
  • Use a sophisticated identity and permission system to determine who can use commands
  • Customizable system and command output at the application, bundle, and even command level
  • Interact via Slack or Discord as first class chat providers (with more on the way!)
  • Record all activity in an audit log

Gort lets you build commands in any language you want, using tooling you're already comfortable with, and can tightly control who can use them and how.

History

Gort was initially conceived of as a Go re-implementation of Operable's Cog Slack Bot, and while it remains heavily inspired by Cog, Gort has largely gone its own way.

During our initial design process, we found that many of Cog’s features, however innovative, went largely unused, and the codebase had become difficult to extend and maintain. Additionally, its implementation language -- Elixir -- had relatively few proficient developers. The solution, which was discussed for many months on the Cog Slack workspace, was to rewrite Cog from scratch in such as Go, removing some of less-used functionality and reducing complexity in the process.

This gave us the opportunity to consider and possibly redefine what Cog was meant to be. To choose the features that make sense, and to discard those that don't. In this way, Gort can be described more as a "spiritual successor" to Cog than a faithful re-implementation.

User Documentation

  1. Gort Architecture
  2. Quick Start
  3. Getting Started
    1. Configuring Gort
    2. Deploying Gort
    3. Bootstrapping Gort
  4. Commands and Bundles
    1. Commands as Containers
    2. Command Environment Variables
  5. Command Bundles
    1. Bundle Configurations
    2. Permissions and Rules
    3. Writing a Command Bundle (COMING SOON!)
    4. Installing Your First Command Bundle
    5. Managing Bundles
  6. Command Execution Rules
  7. Output Formatting Templates
    1. The Response Envelope
    2. Template Functions
  8. Going Forward: Features to Look Forward To