Weft — a local-first learning tool. Map what you are learning as a concept graph and study it with AI over MCP; every lesson, test and flashcard is a plain file on your disk.

Democratizing Knowledge through Open Source and Local-first AI

Weft. Weave your own concept graph, on your disk.

Map what you're learning, wire the prerequisites, and study each concept through lessons, tests, flashcards and more. Your AI writes the material over MCP, as plain files in folders you own.

What it is

Chats scroll away. Files stay.

An AI explanation is gone the moment the chat ends. Weft gives it a permanent, structured home: a concept graph on your own disk, where every lesson, test and flashcard is a plain file you keep.

In a folder on your disk. Every lesson, test and flashcard is a plain .md or .json file you can open with anything.

No. No accounts, no cloud, no database. just clone the repo, install and run.

Nothing is lost. The folders are the truth; the graph index is just a cache Weft rebuilds from them.

Any MCP client. In Claude Code the six prompts are slash commands; in Claude Desktop, the + menu.

EmbeddingsChunkingRetrievalRAGWEFT-MASTER / rag-roadmaprequiererelacionado_con.md on disk

Features

One concept. One folder.

One flat folder per concept — its .meta weaves the relations. Six tabs of material inside. Drag or scroll →

/01
solid = requiere · dashed = relacionado_con
The graph canvas
+
Needles & threadsCtrl+K · zoom · undo
/02
Lessons · Examples · Tests · Challenges · Flashcards · Notes
Six tabs per concept
+
Connections navtab-to-tab between concepts
/03
the Mistakes view: one timeline, newest first
The .errorlog
+
Every miss recordedwith the solution given
/04
drop a .pdf into lessons/ or examples/
PDFs in-app
+
Read, don't downloadpage by page
/05
plain .md and .json in folders you own
Local-first
+
Files are the truthno database

Then point your AI at it.

See how

How it works

01 / Seed

Start a project

One command scaffolds WEFT-MASTER/ — a folder of plain files with a small starter roadmap inside.

npm run seed → WEFT-MASTER/

02 / Map

Draw the graph

Add concepts and connect them: a solid thread marks a prerequisite, a dashed one a loose association.

requiere & relacionado_con

03 / Study

Work the material

Lessons, tests, challenges and flashcards per concept. Every missed answer is recorded with its solution.

Loaded on tests.json, .errorlog & flashcards.json

04 / Delegate

Let the AI write

Your assistant reads the graph over MCP and writes whole roadmaps, lessons and tests into it — files you own.

Uses tools like build_subgraph, create_lesson & add_questions

Local-first

No database. No cloud. No accounts.

Everything is a .md or .json file on your disk. if the server dies, your work survives. The graph index is just a cache; the folders are the truth. Everything is local-first, and YOU own it.

Install

Install from source.

Requires Node.js 20+. Weft is not on npm yet. MIT licensed. Seeding creates a starter WEFT-MASTER/ with a small RAG roadmap; the dev server runs on :5173 with the API on :3131.

Developer installation guide
git clone https://github.com/Ginescag/weft.git weft
cd weft
npm install
npm run seed
npm run dev
User installation guide
git clone https://github.com/Ginescag/weft.git weft  # download the source
cd weft  # step inside the project
npm install  # install dependencies
npm run build  # build the web app
npm link  # make the weft command global
npm run seed  # optional: seed a starter WEFT-MASTER/
weft  # first run — pick Start in the menu

Then, from any folder

weftinteractive menu (start · move project · quit)
weft servestart the server directly (app + API on :3131)
weft stopstop a running server (alias: weft close)
weft path [dir]show / change where your WEFT-MASTER lives
weft skill installinstall the Claude Code skill into ~/.claude/skills
weft mcpstart the MCP server (for AI tools)
weft helpusage

weft runs on the alternate screen buffer, like vim: an ANSI banner, a live dashboard with a request log while serving, and your terminal handed back exactly as it was on exit.

Wire it to your AI · MCP

Register the server once; the six prompts and the graph resources appear in your client.

One command
claude mcp add weft -- node /absolute/path/to/weft/bin/weft.js mcp

After npm link you can use weft mcp as the command. The six prompts become slash commands: /mcp__weft__…

Contribute to the open-source project.

Built in the open.

No company behind it, no telemetry, MIT licensed.
If you can run it, you can change it.

/01

Report & propose

Bugs and feature requests go through the issue templates. Anything bigger than a small fix starts as an issue first, so the approach is agreed before the work.

/02

Code

Fork, npm run dev for hot reload, send a focused PR. npm run typecheck && npm run build green is the whole gate. CI runs the same two commands on every PR.

/03

Docs & translations

README and HOWTO ship bilingual (EN & ES). Docs and translation PRs are first-class contributions, not an afterthought.

The filesystem is the source of truth so no databases; graph.json is a derived cache.

Code and UI are English; the on-disk data keys stay Spanish.

Design language: embroidery on linen so one saturated colour, calm motion, reduced-motion honoured.

MIT licensed, open-source, local-first. Your data is yours.

Start weaving.