Generate smarter tasks
Use GPT to generate high-level goals, tasks, and subtasks for any project idea or technical roadmap.
🚧 Experimental Project
Weave CLI is an experimental, AI-first CLI built to explore the principles of the Model Context Protocol.
It’s part of an ongoing learning journey — expect rapid changes, rough edges, and interesting ideas.
Weave is a developer-first CLI designed to bring the power of structured context and AI to your local workflow.
Generate smarter tasks
Use GPT to generate high-level goals, tasks, and subtasks for any project idea or technical roadmap.
Break things down fast
Go from epic to detailed task breakdown with one command — Weave makes progress planning instant.
Get AI code help
Ask for help with any task and Weave will generate implementation advice and sample code using GPT.
Own your context
Everything is saved locally — context, tasks, history, and exports. No SaaS lock-in, just dev tools.
Export everything
Share project plans or task boards with Markdown or JSON export. Great for docs, clients, or your team.
weave init
— start fresh with a local workspacegenerate-tasks
— generate epics using your project goalsbreakdown
— break down high-level tasks with GPTai-help
— get implementation help or boilerplateexport
— create sharable docs or project boards.mcp/
+ config — stores project and context state locallyHere’s a sample of what Weave CLI generates when exporting a project plan to Markdown:
vercel.json
configai-help
Let’s say you want help with this task:
Task: Build WebSocket listener in frontend
Reference the task using the id of task and subtasks
You can run:
weave ai-help 1.2
Weave will respond with something like:
To implement a WebSocket listener in your frontend (React, Vue, or vanilla JS), follow these steps:
Create a WebSocket client using the WebSocket
API:
const socket = new WebSocket("wss://your-project.supabase.co/realtime/v1");
Handle open, message, and close events:
socket.onopen = () => console.log("Connected to WebSocket");
socket.onmessage = (event) => { const data = JSON.parse(event.data); // Handle incoming message};
socket.onclose = () => console.log("Disconnected");
Authenticate if needed by appending your Supabase JWT as a query param or via headers (depending on config).
Reconnect on failure using an exponential backoff strategy or a library like reconnecting-websocket.
Every
ai-help
response is tailored to your task and local context — helping you move faster with less guesswork.