Skip to content

Latest commit

 

History

History
80 lines (54 loc) · 3.22 KB

File metadata and controls

80 lines (54 loc) · 3.22 KB

Project Charter — mtchat

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."

Vision

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.

Mission

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.

Scope

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

License

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.

Community and governance

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.

Trademarks

"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.

Charter changes

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