npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

botfront

v1.0.5

Published

Botfront is an open source chatbot platform based on Rasa.

Downloads

239

Readme

Botfront is an open-source enterprise-grade conversational platform built with Rasa. It provides super intuitive interfaces and collaborative features to domain experts, conversational designers and engineers.

Botfront only requires a recent version of Docker. You can install the CLI with the following:

npm install -g botfront

Then just run botfrontto get started.

The official documentation of Botfront is hosted on botfront.io. It is automatically built and updated on every new release. Once you've installed the cli you can also use botfront docs to open it.

We welcome contributions! It can be as easy as clicking on the "Edit page on Github" link at the bottom of every documentation pages.

Installation

  1. Botfront is a Meteor app, so the first step is to install Meteor
  2. Then clone this repo and install the dependencies:
git clone https://github.com/botfront/botfront
cd botfront/botfront
meteor npm install
  1. Install the CLI from the source code:
# if you installed Botfront from npm uninstall it.
npm uninstall -g botfront
# Install the cli from the source code
cd cli && npm link

Botfront needs to be connected to other services, especially Rasa. To do this, you need to create a regular project, and start Botfront with a dedicated configuration:

  1. Create a Botfront project with botfront init (somewhere else, not in the repo)
  2. Start your project with botfront up -e botfront. This will run all services except the Botfront app, since you are going to run it with Meteor locally
  3. Go back to the botfront checkout cd botfront/botfront and run Botfront with meteor npm run start:docker-compose.dev. Botfront will be available at http://localhost:3000 so open your browser and happy editing :smile_cat:

TroubleShooting

Some botfront cli commands that may help if you run into problems:

botfront init     # create a new botfront project
botfront logs     # show the logs!
botfront killall  # stop all docker services
botfront down     # stop all botfront services
botfront up       # restart botfront
botfront docs     # open the docs in your browser

Note that these should be run from the same directory as your botfront project

Contribute

We ❤️ contributions of all size and sorts. If you find a typo, if you want to improve a section of the documentation or if you want to help with a bug or a feature, here are the steps:

  1. Fork the repo and create a new branch, say fix-botfront-typo-1
  2. Fix/improve the codebase
  3. Commit the changes. Commit message must follow the naming convention, say fix(conversation builder): display story groups in alphabetical order
  4. Make a pull request. Pull request name must follow the naming convention. It can simply be one of your commit messages, just copy paste it, e.g. fix(readme): improve the readability and move sections
  5. Submit your pull request and wait for all checks passed (up to an hour)
  6. Request reviews from one of the developers from our core team.
  7. Get a 👍 and PR gets merged.

Well done! Once a PR gets merged, here are the things happened next:

  • all Docker images tagged with branch-master will be automatically updated in an hour. You may check the status on the Actions tab.
  • your contribution and commits will be included in our release note.

Testing

End to end tests are using the Cypress testing framework.

To manually run the Cypress tests, you need to have Botfront running in development mode. Some tests also require Rasa to be available.

Once you are at the root of the repo, you can enter the following.

cd botfront
# if you want to open Cypress' graphical interface
npx cypress open
# If you want to run the whole suite in headless mode
# This could take up to an hour depending on your computer
npx cypress run
# If you want to run a specific test
npx cypress run --spec "cypress/integration/02_training/training.spec.js"

Commit messages naming convention

To help everyone with understanding the commit history of Botfront, we employ commitlint to enforce the commit styles:

type(scope?): subject

where type is one of the following:

  • build
  • ci
  • chore
  • docs
  • feat
  • fix
  • perf
  • refactor
  • revert
  • style
  • test

scope is optional, represents the module your commit working on.

subject explains the commit.

As an example, a commit that improved the documentation:

docs(conversation builder): update slots manager screenshot.

Copyright (C) 2021 Dialogue Technologies Inc.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.(C) 2021 Dialogue Technologies Inc. All rights reserved.