{"id":13827831,"url":"https://github.com/botui/botui","last_synced_at":"2025-05-14T07:08:25.686Z","repository":{"id":37550037,"uuid":"95794276","full_name":"botui/botui","owner":"botui","description":"🤖 A JavaScript framework for building conversational UIs","archived":false,"fork":false,"pushed_at":"2023-04-25T18:31:50.000Z","size":3256,"stargazers_count":2888,"open_issues_count":72,"forks_count":370,"subscribers_count":56,"default_branch":"main","last_synced_at":"2025-05-11T07:47:06.137Z","etag":null,"topics":["bot","botui","chat","conversational-ui","javascript","react","typescript"],"latest_commit_sha":null,"homepage":"https://botui.org","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/botui.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2017-06-29T15:54:57.000Z","updated_at":"2025-05-07T21:35:44.000Z","dependencies_parsed_at":"2024-01-16T22:22:11.825Z","dependency_job_id":"7586b348-8516-4174-bfc6-72e5923518cf","html_url":"https://github.com/botui/botui","commit_stats":{"total_commits":461,"total_committers":23,"mean_commits":"20.043478260869566","dds":0.09544468546637741,"last_synced_commit":"60c0aef5ca2eaee0afd9c12ccbc7c60b597c0ab3"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/botui%2Fbotui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/botui%2Fbotui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/botui%2Fbotui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/botui%2Fbotui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/botui","download_url":"https://codeload.github.com/botui/botui/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254092776,"owners_count":22013290,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bot","botui","chat","conversational-ui","javascript","react","typescript"],"created_at":"2024-08-04T09:02:13.588Z","updated_at":"2025-05-14T07:08:25.660Z","avatar_url":"https://github.com/botui.png","language":"TypeScript","readme":"![logo](packages/botui/assets/logo.svg)\n\n[![join discussion](https://img.shields.io/badge/discussions-🤝-blueviolet?style=flat-square)](https://github.com/botui/botui/discussions) [![npm](https://img.shields.io/npm/v/botui.svg?style=flat-square)](https://www.npmjs.com/package/botui) [![npm](https://img.shields.io/npm/dm/botui.svg?style=flat-square)](https://www.npmjs.com/package/botui) [![Twitter Follow](https://img.shields.io/twitter/follow/moinism)](https://twitter.com/moinism)\n\n\u003e A JavaScript framework for creating conversational UIs.\n\n\n[Main Site](https://botui.org) - [Read Docs](https://docs.botui.org) - [Examples](https://github.com/moinism/botui-examples) - [🪄 Quickstart](https://github.com/botui/react-quickstart)\n\n## Showcase 🎇✨\n\nWe are listing all the cool projects that people are building with BotUI, [here](https://github.com/botui/botui/blob/master/Showcase.md). See others' and add yours!\n\n🚨 **Note**\n\nThis version is using a completely different approach for building UIs. Do not use it as a drop-in replacement for the previous version. If you want to use the previous (vue-only) approach, install the `0.3.9` version: `npm i botui@0.3.9`.\n\n### Quick look\n\n![preview](packages/botui/assets/botui_preview.gif)\n\n## Installation\n\n```bash\nnpm i botui @botui/react\n```\n\n### Example usage in React\n\n```js\nimport { useEffect } from 'react'\nimport { createRoot } from 'react-dom/client'\n\nimport { createBot } from 'botui'\nimport { BotUI, BotUIMessageList, BotUIAction } from '@botui/react'\n\nconst myBot = createBot()\n```\n\n```html\n\u003cdiv id=\"botui-app\"\u003e\u003c/div\u003e\n```\n\n```js\nconst App = () =\u003e {\n\n  useEffect(() =\u003e {\n    myBot\n      .wait({ waitTime: 1000 })\n      .then(() =\u003e myBot.message.add({ text: 'hello, what is your name?' }))\n      .then(() =\u003e myBot.action.set(\n          {\n            options: [\n              { label: 'John', value: 'john' },\n              { label: 'Jane', value: 'jane' },\n            ],\n          },\n          { actionType: 'select' }\n      ))\n      .then((data) =\u003e myBot.message.add({ text: `nice to meet you ${data.selected.label}` }))\n  }, [])\n\n  return \u003cdiv\u003e\n    \u003cBotUI bot={myBot}\u003e\n      \u003cBotUIMessageList /\u003e\n      \u003cBotUIAction /\u003e\n    \u003c/BotUI\u003e\n  \u003c/div\u003e\n}\n\nconst containerElement = document.getElementById('botui-app')\nconst root = createRoot(containerElement)\nroot.render(\u003cApp /\u003e)\n```\n\n### License\n\n[MIT License](https://github.com/moinism/botui/blob/master/LICENSE) - Copyrights (c) 2017-23 - Moin Uddin\n","funding_links":[],"categories":["JavaScript","TypeScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbotui%2Fbotui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbotui%2Fbotui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbotui%2Fbotui/lists"}