First version. Expect this to evolve as the project and community grow. TODOs flag the parts that need a real answer before this charter is "done."
A small, local-first question-and-answer chatbot you can stand up in minutes — without paying for an LLM, without learning a RAG pipeline, and without giving up control over what your users see.
mtchat is a Deno + Hono + React app that pairs an editable Q&A admin table with a chat interface. End-users ask questions; mtchat finds the closest match from the curated set; the matched answer is returned verbatim (or, optionally, rephrased by an LLM you plug in).
Defaults are deterministic: same question, same answer, every time. This makes mtchat a good fit for static FAQ chat, internal helpdesks, support docs, and any context where predictable, auditable answers matter more than open-ended generation.
In scope:
- A self-contained Deno application — server, API, and React UI in one repo
- An editable Q&A admin page (powered by
@datasketch/monkeytab) - A chat interface (powered by
@assistant-ui/react) - Deterministic token-overlap retrieval against the curated Q&A pairs
- An optional LLM rephrasing layer (no LLM key required to be useful)
- Multiple storage backends: in-memory by default, JSON file or SQLite for persistence
- Local-first by design — runs on your laptop, your server, or anywhere Deno runs
Out of scope (for now):
- Multi-tenant hosting, SSO, or organization management
- Vector embeddings or full RAG pipeline (may arrive in a later phase if there's demand)
- Voice input/output, file uploads, or attachments
- Agent workflows or tool calling
MIT — see LICENSE.
The MIT license was chosen because:
- It's permissive — anyone can run, modify, fork, or embed mtchat in commercial products without copyleft obligations
- It's the standard license for the JavaScript/TypeScript ecosystem mtchat builds on
- It minimizes legal friction for adoption
- It's OSI-approved, GPL-compatible, and SPDX-recognized
By contributing, you agree your contributions are licensed under the same terms.
- Issues and discussions: https://github.com/datasketch/mtchat/issues
- Pull requests: see
CONTRIBUTING.md - Code of conduct: see
CODE_OF_CONDUCT.md - Roadmap: see
ROADMAP.md
TODO: name the maintainers and document the decision process for breaking changes. mtchat is early — the project is currently driven by the initial maintainer team. Governance will be revisited once an external contributor base develops.
"mtchat" is a project name. It may be used to refer to the project itself (in articles, presentations, integrations) without permission. Commercial use of the name for derivative products requires permission.
TODO: formal trademark policy if/when commercial derivatives become a concern.
This charter is intentionally short. Updates happen via PR to this file. Substantial changes (scope, license, governance) should be discussed in a GitHub issue first.
Charter v0.1 · MIT licensed · last updated 2026-04-08