TaskWing
The local-first knowledge layer for AI development.
Website ·
Tutorial ·
Vision ·
Install
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

Supported Models

Brand names and logos are trademarks of their respective owners; usage here indicates compatibility, not endorsement.
What It Does
Slash Commands
Use these from your AI assistant once connected:
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:
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}
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