Sandbox
@josephgoksu/TaskWing

Local knowledge layer for AI coding tools

TaskWing extracts decisions, patterns, and constraints from a codebase and keeps them in a local SQLite database. AI tools then use the `taskwing` CLI, slash commands, or hooks to ask questions, plan work, and move through tasks with that stored context.

87 stars5 forksGoUpdated 4mo ago
Who it's for

Builders who want their agent to query local project knowledge, plan work, and carry architectural context across sessions.

What it delivers

You can give an agent reusable project context without uploading your knowledge base to a cloud service.

What it does

Local knowledge extraction

Builds a knowledge base of decisions, patterns, and constraints from the project.

Query from AI tools

Lets Claude Code, Codex, Cursor, Gemini CLI, and others call the CLI for context and answers.

Plan and task flow

Supports plan, next, start, complete, and verify style task progression.

Claude Code hooks

Provides session-init, continue-check, session-end, and status hooks for autonomous workflows.

Local privacy model

Stores the knowledge base on the machine in SQLite and avoids a cloud database or sync.

Skills and prompts

Includes reusable agent files and skills for taskwing workflows.

How to get it

  1. 1Run
    brew install josephgoksu/tap/taskwing
  2. 2No signup. No account. Works offline. Everything stays local in SQLite.
    curl -fsSL https://taskwing.app/install.sh | sh

README


TaskWing
TaskWing

The local-first knowledge layer for AI development.

Website · Tutorial · Vision · Install

Go Report Card License

TaskWing ask demo


Your AI tools start every session from zero -- and every session, your code context flows through someone else's cloud.

TaskWing takes the opposite approach. One command extracts your architecture into a local knowledge base on your machine. No cloud. No account. Every AI session after that just knows -- without your knowledge base leaving your infrastructure.

Without TaskWing              With TaskWing
─────────────────             ─────────────
8-12 file reads               1 taskwing ask
~25,000 tokens                ~1,500 tokens
2-3 minutes                   42 seconds
No architectural context       170+ knowledge nodes

Install

brew install josephgoksu/tap/taskwing

No signup. No account. Works offline. Everything stays local in SQLite.

Alternative: install via curl
curl -fsSL https://taskwing.app/install.sh | sh

Quick Start

# 1. Declare a TaskWing project + generate AI tool integration files
cd your-project
taskwing init                  # writes .taskwing.yaml + .claude/commands/taskwing/

# 2. Extract your architecture (one-time)
taskwing learn
# -> 22 decisions, 12 patterns, 9 constraints extracted

# 3. Plan and execute with your AI assistant
/taskwing:plan       # Create a plan
/taskwing:next       # Get next task with full context
# ...work...
/taskwing:done       # Mark complete, advance to next

That's it. Your AI assistant now has local architectural context across every session.

Slash commands are pure prompts that drive the taskwing CLI directly - no MCP server, no daemon, no per-AI registration. They work in any AI client that can run shell commands.

Private by Architecture

TaskWing keeps your knowledge base on your machine. No cloud database, no account, no sync.

  YOUR MACHINE                          EXTERNAL
  ─────────────────────────────────     ─────────────────────────
                                        ┌───────────────────────┐
  ┌──────────────┐   code context       │ LLM Provider          │
  │ Your codebase ├────────────────────>│ (OpenAI, Anthropic,   │
  └──────────────┘   (bootstrap only)   │  Google, Bedrock)     │
         │                              └───────────┬───────────┘
         │                                          │ findings
         v                                          │
  ┌──────────────────────┐  <───────────────────────┘
  │ .taskwing/memory.db  │
  │ Local SQLite         │  Your knowledge base.
  │ Never uploaded.      │  Never leaves your machine.
  └──────────┬───────────┘
             │ taskwing CLI (local subprocess)
             v
  ┌──────────────────────┐              ┌───────────────────────┐
  │ AI Tool              │  may send    │ Tool's own cloud      │
  │ (Claude, Cursor,     ├─────────────>│ (per their privacy    │
  │  Copilot, Gemini)    │  to their    │  policy)              │
  └──────────────────────┘  servers     └───────────────────────┘


  FULL AIR-GAP (everything stays left of the line):

  ┌──────────────┐        ┌─────────┐        ┌──────────────┐
  │ Your codebase ├──────>│ Ollama  ├──────>│ .taskwing/   │
  └──────────────┘        │ (local) │        │ memory.db    │
                          └─────────┘        └──────┬───────┘
                                                    │ taskwing CLI
                                                    v
                                             ┌──────────────┐
                                             │ Local AI tool │
                                             └──────────────┘
                                             Zero network calls.

What TaskWing controls: Your knowledge base is stored and queried locally. AI tools invoke the taskwing CLI as a local subprocess - no network calls.

What your AI tool controls: Cloud-based tools (Claude, Cursor, Copilot) may send conversations to their own servers. Check their privacy settings (e.g., Cursor's Privacy Mode, Copilot's data retention policies).

Full air-gap: Use Ollama for bootstrap + a local AI tool. Nothing leaves your machine.

Works With

Claude Code OpenAI Codex Cursor GitHub Copilot Gemini CLI OpenCode

Supported Models

OpenAI Anthropic Google Gemini AWS Bedrock Ollama

Brand names and logos are trademarks of their respective owners; usage here indicates compatibility, not endorsement.

What It Does

CapabilityDescription
Local knowledgeExtracts decisions, patterns, and constraints into local SQLite
Plan to tasksTurns a plan into decomposed tasks with architecture context
AI-driven lifecycleTask execution -- next, start, complete, verify
Code analysisSymbol search, call graphs, impact analysis, simplification
Root cause firstAI-powered diagnosis before proposing fixes
Works everywhereSlash commands invoke the taskwing CLI directly - works in any AI tool that runs shell commands

Slash Commands

Use these from your AI assistant once connected:

CommandWhen to use
/taskwing:planClarify a goal and build an approved execution plan
/taskwing:nextStart the next approved task with full context
/taskwing:doneComplete the current task after verification
/taskwing:contextGet full project knowledge dump for complete architectural context
CLI verbs the slash commands rely on

The four slash commands above are pure prompts that drive these CLI verbs. You can run any of them by hand to drive TaskWing without an AI tool:

VerbPurpose
taskwing ask "<query>" --jsonSearch project knowledge (decisions, patterns, constraints)
taskwing knowledge --jsonDump every knowledge node, grouped by type
taskwing task next --jsonGet the next pending task
taskwing task current --jsonShow the current in-progress task
taskwing task start <id>Claim a task
taskwing task complete <id> --summary "..." --files a,b,cMark complete
taskwing plan --params '<json>'Drive a plan flow (clarify → decompose → expand → finalize)
Autonomous task execution (hooks)

TaskWing integrates with Claude Code's hook system for autonomous plan execution:

taskwing hook session-init      # Initialize session tracking
taskwing hook continue-check    # Check if should continue to next task
taskwing hook session-end       # Cleanup session
taskwing hook status            # View current session state

Circuit breakers prevent runaway execution:

  • --max-tasks=5 -- Stop after N tasks for human review
  • --max-minutes=30 -- Stop after N minutes
AWS Bedrock setup
llm:
  provider: bedrock
  model: anthropic.claude-sonnet-4-5-20250929-v1:0
  bedrock:
    region: us-east-1
  apiKeys:
    bedrock: ${BEDROCK_API_KEY}
ModelUse case
anthropic.claude-opus-4-6-v1Highest quality reasoning
anthropic.claude-sonnet-4-5-20250929-v1:0Best default balance
amazon.nova-premier-v1:0AWS flagship Nova
amazon.nova-pro-v1:0Strong balance
meta.llama4-maverick-17b-instruct-v1:0Open-weight general model

Or configure interactively: taskwing config

  • taskwing init
  • taskwing learn
  • taskwing ask "<query>"
  • taskwing knowledge
  • taskwing task <next|current|start|complete>
  • taskwing plan --params '<json>'
  • taskwing doctor
  • taskwing config
  • taskwing start

Documentation

License

MIT

Files in the repo

Repository payload23 top-level entries
  • .github
  • cmd
  • demos
  • docs
  • internal
  • scripts
  • skills
  • .air.toml
  • .gitignore
  • .goreleaser.yaml
  • .taskwing.example.yaml
  • AGENTS.md
  • CHANGELOG.md
  • CLAUDE.md
  • example.env
  • GEMINI.md
  • go.mod
  • go.sum
  • install.sh
  • LICENSE
  • main.go
  • Makefile
  • README.md

Discussion (0)

Ask about usage, or say what you built with it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More tools

JuliusBrussee/
caveman

🪨 why use many token when few token do trick — Claude Code skill that cuts 65% of tokens by talking like caveman

105k
1 add
MemPalace/
mempalace

The best-benchmarked open-source AI memory system. And it's free.

59k
stablyai/
orca

Orca is the ADE for working with a fleet of parallel agents. Run any coding agent with your own subscription. Available on desktop, mobile and remote runtime.

66k

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io

132k

Never stop coding. Free MIT AI gateway: one endpoint, 352 providers (150+ free), 1200+ models Kimi, Claude, GPT, Gemini, GLM, DeepSeek, MiniMax. Works with Claude Code, Codex, Cursor, OpenCode, Cline & Copilot. Quota-aware auto-fallback, RTK+Caveman compression saves 15-95% tokens, MCP/A2A, Desktop/PWA. Built by 550+ contributors

64k
headroomlabs-ai/
headroom

Compress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.

71k