tmct The Mechanical Code Talker — a pure-JS, no-LLM, offline, $0 chatbot

tmct's memory is sentences about things — so read it. Ask the graph a question below, click any term inside a fact to drill in, and every answer is grounded or an honest miss. No model calls anywhere.

The memory ledger — the real engine and a real taught store, in your browser open full-screen →

A chatbot in the ELIZA/PARRY lineage, obsessed with software the way PARRY was obsessed with the mafia. Interpretation is mechanical, memory is an OWL-labelled graph on disk, and every answer is either grounded or an honest miss. It starts stocked with an everyday, general-knowledge vocabulary by default. Point it at a codebase and it reasons over that too. It also holds a thread: ask about something, then ask "what calls it?", and tmct still knows what "it" means.

Live demo — running the real engine, right now, in your browser
tmct>
wink-nlp: loading…
This box asks a real question of a small fixture repo's code graph (examples/mini-webapp) using the exact same query engine the CLI ships. It runs live, client-side; nothing is precomputed on a server (GitLab Pages doesn't have one). The same question against a real repo, from a terminal:

    

Install & quickstart

npm install -g @polycode-projects/the-mechanical-code-talker

$ tmct
tmct> what talks to the payment module?
…
tmct> what calls it?
…
tmct> which modules do not import logger?
…
tmct> how is the payment module different from the logger?
…
tmct> give me a detailed overview of how the payment module works
…
tmct> /memory        # inspect what tmct remembers, with provenance
tmct> /exit

Point it at a repo's graph with tmct chat --repo /path/to/repo, or start with nothing. tmct bootstraps an empty memory and remembers what you tell it.

tmct init         # scaffold .tmct/, tmct.toml, seed the default persona + provenance
tmct syllogise    # offline: pre-derive entailed facts (a maintenance job)

Full feature list, the detailed-answer pipeline, and a library API in the README.