examples/showcases/microsoft-kanban/README.md
A Next.js + C# starter demonstrating AG-UI protocol integration between CopilotKit (frontend) and Microsoft Agent Framework (backend).
https://github.com/user-attachments/assets/531c6a3b-e7ea-476a-8cbd-6c30f7245c4e
brew install dotnet@9# 1. Install dependencies
pnpm install
# 2. Set OpenAI API key
cd agent && dotnet user-secrets set OpenAIKey "sk-..." && cd ..
# 3. Start both servers (UI on :3000, agent on :8000)
pnpm dev
| Command | Description |
|---|---|
pnpm dev | Start UI + agent servers |
pnpm dev:ui | Start only Next.js UI |
pnpm dev:agent | Start only C# agent |
pnpm build | Build for production |
pnpm lint | Run ESLint |
├── agent/ # C# Backend (Microsoft Agent Framework)
│ ├── Program.cs # Agent with 11 Kanban tools
│ ├── SharedStateAgent.cs # AG-UI state synchronization wrapper
│ ├── Services/KanbanService.cs # Board/task operations
│ └── Models/ # AgentState, Board, KanbanTask types
│
├── src/
│ ├── app/
│ │ ├── page.tsx # Main Kanban UI with useCoAgent hook
│ │ ├── layout.tsx # CopilotKit provider
│ │ └── api/copilotkit/ # AG-UI integration endpoint
│ │
│ ├── components/kanban/ # KanbanBoard, BoardTabs, TaskCard
│ └── lib/kanban/ # Types and initial state
The C# agent provides 11 tools for Kanban management:
State: get_state
Boards: create_board, delete_board, rename_board, switch_board
Tasks: create_task, update_task_field, add_task_tag, remove_task_tag, move_task_to_status, delete_task
"Create a board called Sprint Planning"
"Add a task: Implement user authentication"
"Move the auth task to in progress"
"Add urgent tag to the login bug"
"Show me all tasks in review"
ag_ui_state on each requestAgent won't connect: Verify agent running on port 8000 (curl http://localhost:8000/)
OpenAIKey not found:
cd agent && dotnet user-secrets set OpenAIKey "sk-..."
Port conflict: Update port in agent/Properties/launchSettings.json and src/app/api/copilotkit/route.ts
MIT
Built by Mark Morgan