You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .agents/architecture.md
+6-11Lines changed: 6 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,35 +1,32 @@
1
1
# Task Wizard — Architecture Summary
2
2
3
-
Task Wizard is a self-hosted, privacy-focused task management application. It is composed of three main services and a shared protobuf contract layer.
3
+
Task Wizard is a self-hosted, privacy-focused task management application. It is composed of three main services.
4
4
5
5
## System Components
6
6
7
7
### 1. API Server (`apiserver/`)
8
8
-**Language**: Go
9
-
-**Framework**: Gin (HTTP), gRPC, WebSocket
9
+
-**Framework**: Gin (HTTP), WebSocket
10
10
-**DI**: Uber FX
11
11
-**Database**: SQLite (default) or MySQL via GORM
12
12
-**Role**: The central backend. Handles all business logic, persistence, authentication, background scheduling, notifications, and serves the frontend as static files.
13
13
14
14
### 2. Frontend (`frontend/`)
15
15
-**Language**: TypeScript
16
16
-**Framework**: React (class components) with Redux
17
-
-**Transport**: gRPC-Web as primary, HTTP REST as fallback
17
+
-**Transport**: HTTP REST
18
18
-**Role**: Single-page application for task management, label organization, notification configuration, API token management, and user settings.
19
19
20
20
### 3. MCP Server (`mcpserver/`)
21
21
-**Language**: C# (.NET 9)
22
22
-**Framework**: ASP.NET Core with ModelContextProtocol
23
23
-**Role**: Exposes task and label management as MCP (Model Context Protocol) tools so AI assistants can interact with Task Wizard programmatically. Currently uses in-memory stub data.
24
24
25
-
### 4. Protobuf Contracts (`proto/`)
26
-
-**Language**: Protocol Buffers v3
27
-
-**Role**: Single source of truth for all message types, enumerations, and service definitions shared between the API server (Go) and the frontend (TypeScript). Code generation scripts produce Go and TypeScript stubs.
28
25
29
26
## Communication
30
27
31
28
```
32
-
┌───────────┐ gRPC-Web / HTTP ┌──────────────┐
29
+
┌───────────┐ HTTP REST ┌──────────────┐
33
30
│ Frontend │ ──────────────────► │ API Server │
34
31
│ (React) │ ◄──── WebSocket ── │ (Go / Gin) │
35
32
└───────────┘ └──────┬───────┘
@@ -52,7 +49,6 @@ Task Wizard is a self-hosted, privacy-focused task management application. It is
Copy file name to clipboardExpand all lines: .github/copilot-instructions.md
+2-6Lines changed: 2 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,9 +6,9 @@ For detailed architecture, data flow, and feature documentation, see the `.agent
6
6
7
7
## Project Overview
8
8
9
-
Task Wizard is a self-hosted, privacy-focused task management app: React frontend communicates via gRPC-Web/HTTP → Go API server handles business logic and persistence → SQLite/MySQL via GORM. A .NET MCP server exposes tools for AI assistants.
9
+
Task Wizard is a self-hosted, privacy-focused task management app: React frontend communicates via HTTP → Go API server handles business logic and persistence → SQLite/MySQL via GORM. A .NET MCP server exposes tools for AI assistants.
10
10
11
-
**Components:** API Server (`apiserver/`), Frontend (`frontend/`), MCP Server (`mcpserver/`), Proto (`proto/`)
11
+
**Components:** API Server (`apiserver/`), Frontend (`frontend/`), MCP Server (`mcpserver/`)
-**Always build and test before completing work**: run `go build ./... && go test ./...` for backend, `yarn lint && yarn tsc && yarn build` for frontend, `dotnet build` for MCP server
75
-
- After proto changes, run `cd proto && .\generate.ps1` and verify all builds still pass
0 commit comments