Skip to content

A friendly and extensible ChatOps framework written in Ruby

License

Notifications You must be signed in to change notification settings

dvinciguerra/hiko

Repository files navigation

Hiko

A friendly and extensible ChatOps framework written in Ruby

Hiko is a modern framework to build ChatOps bots in a simple and powerful way. Inspired by projects like Lita, Hiko allows you to create custom plugins and connect your bot to different platforms (Slack, Discord, Terminal, etc.) through modular Adapters.

Quick to set up. Easy to extend. Built with Ruby.

Features

  • Extensible architecture with support for plugins and adapters
  • Powerful routing with syntax inspired by Sinatra
  • Modular adapters: run on Slack, Discord, Terminal and more
  • Optional async execution with thread support
  • Automatic plugin registration
  • Built-in CLI to run and manage your bot
  • Easy to test and develop

Getting Started

Install the gem:

gem install hiko

Or add it to your Gemfile:

gem "hiko"

Create a simple bot:

# bot.rb
require "hiko"

Hiko::Bot.new do |bot|
  bot.adapter = Hiko::Adapters::Terminal.new

  bot.route(/^ping$/i) do |message|
    message.reply("pong!")
  end
end.run

Run it:

ruby bot.rb

Plugin Structure

You can easily create your own plugins:

module Hiko::Plugins
  class Ping < Hiko::Plugin
    route /^ping$/i, :pong

    def pong(message)
      message.reply("pong!")
    end
  end
end

Adapters

Adapters allow Hiko to work on different platforms. Current adapters include:

TerminalAdapter: run interactively in your terminal

SlackAdapter: Slack integration (coming soon)

DiscordAdapter: Discord integration (coming soon)


Roadmap

[x] Terminal support

[ ] Default help plugin

[ ] Redis integration for persistent state

[ ] Web-based admin interface

[ ] Command authentication

[ ] Dynamic plugin loading


Contributing

Feel free to open issues, submit PRs, or suggest ideas! Our goal is to make Hiko a practical tool for all kinds of chat-based automation.

License

MIT © Daniel Vinciguerra

About

A friendly and extensible ChatOps framework written in Ruby

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published