Giter Site home page Giter Site logo

sbot's Introduction

SBot the smart ChatDev bot

Introduction

SBot is designed to be a robotic member of a team of software developers. SBot can do actions and inform the team on events.

SBot interacts with members of the team on a chat. The idea is to let SBot do repetitive tasks that need human in the loop but can be partially automated. Usually these tasks need a human judgement to start them or a human to finish them. That is to complement tasks that can be fully automated in CI/CD systems.

Here are examples of such use cases:

  1. apply a Github PR as a patch to a package and update it when it is updated and remove it when it is merged.
  2. reproduce a CI error and let someone from the team debug it when it is reproduced.
  3. backport changes to stable branches when asked or a specific Github tag is set.

SBot is always connected to be able to interact all the time with its team. To do so when a configuration is changed or when its code is updated, it performs a hot reload without needing to restart to avoid losing the connection.

Getting started

SBot has been designed to run under Linux systems. Contributions are welcome to run it under other systems.

First, you need to install swi-prolog on the system hosting your bot. Under Fedora 27, you just have to do dnf install pl. For other Linux systems just follow the instructions here: http://www.swi-prolog.org/download/stable .

Then install the irclient module by running the following command at the Prolog prompt:

$ swipl
Welcome to SWI-Prolog (threaded, 64 bits, version 7.4.2)
SWI-Prolog comes with ABSOLUTELY NO WARRANTY. This is free software.
Please run ?- license. for legal details.

For online help and background, visit http://www.swi-prolog.org
For built-in help, use ?- help(Topic). or ?- apropos(Word).

?- pack_install(irc_client).
Install irc_client@1.3.0 from https://github.com/eazar001/irc_client/archive/v1.3.0.zip Y/n? 
...

Then copy the config.pl.ex into config.pl and edit it to suit your needs.

Once your configuration is ready, you just have to issue ./bot.sh to start the bot.

Alternatively, you can use our Ansible playbook to install what is needed. If you want to go this road, follow the instructions in the README.md file.

Modules

SBot has a modular design to allow teams to choose which modules to activate according to their needs.

A module is usually one Prolog file and a set of command line tools. This is designed this way to share tools beween the bot and the team.

github module

TBC

gerrit module

TBC

fun module

TBC

self module

TBC

admin module

TBC

autoupdate module

TBC

fedora module

TBC

trello module

TBC

dlrn module

TBC

sbot's People

Contributors

fredericlepied avatar spredzy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

spredzy

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.