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.
- 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
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