mindstack
v0.1.0
Published
A powerful and flexible framework for building bots without restrictions
Downloads
2
Maintainers
Readme
Mind Stack
A powerful and flexible bot framework for building bots without restrictions
Introduction
Read the docs, have a look at our examples, or see the list of repositories that power this project.
Why choose between coding and configuration when you can have both. Configure your services (discord, slack, etc), and code your logic.
This framework provides structuring and guidelines to allow the user to write there own use cases with tools they need readily available.
THIS IS AN ONGOING PROJECT, DOCUMENTATION WILL BE UPDATED AS THE PROJECT PROGRESSES
Getting started
You can take a look at our docker box or CLI tool. Otherwise you will need the following setup and ready to go, then your ready for installation:
- NodeJs (>= 10)
- RabbitMQ server
- Data service (JAM stack such as Gatsby or Gridsome)
- Developer account, relevant to the adapters your using (see specific adapter repos for links)
Installation
Create a new git repository for your bot instance and setup a node project using npm init
inside the repo.
Now create an empty file called bot.js and install Mind Stack:
NPM
npm i -S mindstack
Yarn
yarn add mindstack
Now you need to make sure you have a RabbitMQ server setup with a queue/exchange called mindstack
:
Fresh install (Ubuntu)
apt-get install rabbitmq-server
service rabbitmq-server start
rabbitmq-plugins enable rabbitmq_management
rabbitmqadmin declare queue name=mindstack durable=false
Only creating the queue (Preexisting RabbitMQ install)
rabbitmqadmin declare queue name=mindstack durable=false
Usage
Node (bot.js)
const MindStack = require('mindstack');
let botInstance = new MindStack();
Command line
node bot.js
See docs for giving your bot functionality and features
Repositories
There are several repositories used to add functionality or work with Mind Stack. They are listed categorically below (send a request if you want to add your own repositories)
Adapters
- Alexa - Alexa adapter for Mind Stack
- Discord - Discord adapter for Mind Stack
- Mail - Mail adapter for Mind Stack
- Slack - Slack adapter for Mind Stack
- Terminal - Terminal adapter for Mind Stack
Bot instance
- Mind Stack - A powerful and flexible bot framework for building bots without restrictions
Data services
- Data bite - ES6 simplified class for consuming data from an external service
Frameworks
- High tech - A framework for building skills/applications for bleeding edge tech devices
Lexicon
- Lemme Lex - A library for creating dictionaries that can be utilised by NLP tools
- Consent lex - A lexicon for giving or declining consent (yes and no)
- Salutation lex - A lexicon for arrival and departure salutations
Payment
- Payment provider - Abstraction class for handling payments from multiple providers using common methods
- VC PP - Virtual currency payment provider
- Alexa PP - Alexa Payment provider
Recognisers
- Eduir - Educated intent recogniser
- Molir CLI - Molir (A.k.a Most Likely/Obvious Intent Recogniser) command line tool
Scaffolding
- Mind Stack CLI - CLI tool for Mind Stack
- Rapid Intent Builder - Rapid intent builder for quick prototyping/development of complex bots
Skillsets
- Basic skillset - A basic skillset for a bot that can say hello and goodbye in many different ways
- Store skillset - Sell products and services, ecommerce using natural language
Transformers
- Sanitize mail - A sanitize-html wrapper optimised for sanitising HTML for email clients
- Strip mentions - Strip @mentions from a string using a default or custom handle style
- Turndown SSML - A Turndown plugin to convert SSML into markdown files
- Verbose Utterance - Interprete/compile *.utter files for creating a verbose library of utterances
Virtual machines
- Brain box - Docker machine for running Mind Stack instance