# kk666679/legaiai-my architecture

> Architecture diagram of the GitHub repository kk666679/legaiai-my, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-13). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/kk666679/legaiai-my
- Repository: https://github.com/kk666679/legaiai-my

## Overview

LawMate is a legal AI platform for matter management, research, drafting, and governed agent operations. A lawyer uses the frontend to reach the backend; requests may use tRPC or streaming APIs, enqueue work for BullMQ workers, and persist legal or vector data in PostgreSQL. The repository also includes an MCP interface, model-provider routing, and billing capabilities. The README documents the broad runtime flow; source excerpts and the index support several backend and MCP links, but many domain-specific worker and UI connections are not sampled.

Main entry points: [`packages/backend/src/server.ts`](https://github.com/kk666679/legaiai-my/blob/main/packages/backend/src/server.ts) (API Backend), [`@kk666679/mcp/tools/index.js`](https://github.com/kk666679/legaiai-my/blob/main/%40kk666679/mcp/tools/index.js) (MCP Tools), [`@kk666679/mcp/server.js`](https://github.com/kk666679/legaiai-my/blob/main/%40kk666679/mcp/server.js) (MCP Server), [`packages/backend/src/lib/payments/billingService.ts`](https://github.com/kk666679/legaiai-my/blob/main/packages/backend/src/lib/payments/billingService.ts) (Billing Service)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_experience["User Interfaces"]
  node_frontend["Web Frontend"]
  node_mcp["MCP Server<br/>[server.js]"]
  node_mcp_tools["MCP Tools<br/>[index.js]"]
  node_mcp_agents["Agent Tools<br/>[agents.js]"]
  node_mcp_kg["Knowledge Tools<br/>[kg.js]"]
  node_mcp_skills["Skill Tools<br/>[skills.js]"]
  node_mcp_resources["MCP Resources<br/>[resources.js]"]
  node_mcp_prompts["MCP Prompts<br/>[prompts.js]"]
end

subgraph group_services["Backend Services"]
  node_backend["API Backend<br/>[server.ts]"]
  node_trpc["tRPC Routers"]
  node_queue["BullMQ Queue<br/>[index.ts]"]
  node_postgres[("PostgreSQL<br/>[index.ts]")]
end

subgraph group_legal["Legal Workflows"]
  node_drafting["Drafting Router<br/>[drafting.ts]"]
  node_legal_plugin["Legal Plugin<br/>[legal-plugin.ts]"]
  node_workers["Task Workers"]
end

subgraph group_operations["Agent Operations"]
end

subgraph group_platform["Platform Capabilities"]
  node_providers["Model Providers<br/>[factory.ts]"]
  node_llm_routing["LLM Routing<br/>[cascade.ts]"]
  node_autobuild_routes["Autobuild Routes<br/>[modelRoutes.js]"]
  node_tiered_routes["Route Resolution<br/>[model-routes.js]"]
  node_billing["Billing Service<br/>[billingService.ts]"]
  node_payment_flow["Payment Orchestration<br/>[orchestrator.ts]"]
  node_pricing["Pricing Plans<br/>[pricing.ts]"]
end

node_lawyer(("Lawyer"))

node_lawyer -->|"uses"| node_frontend
node_frontend -->|"calls API"| node_backend
node_backend -->|"routes to"| node_trpc
node_trpc -->|"dispatches"| node_drafting
node_backend -->|"enqueues jobs"| node_queue
node_queue -->|"dispatches jobs"| node_workers
node_backend -->|"queries"| node_postgres
node_backend -->|"uses providers"| node_providers
node_backend -->|"uses routing"| node_llm_routing
node_backend -->|"loads plugin"| node_legal_plugin
node_mcp -->|"assembles tools"| node_mcp_tools
node_mcp -->|"loads resources"| node_mcp_resources
node_mcp -->|"loads prompts"| node_mcp_prompts
node_mcp -->|"dispatches calls"| node_mcp_tools
node_mcp_tools -->|"registers tools"| node_mcp_agents
node_mcp_tools -->|"registers tools"| node_mcp_kg
node_mcp_tools -->|"registers tools"| node_mcp_skills
node_billing -->|"uses orchestration"| node_payment_flow
node_billing -->|"gets plan"| node_pricing
node_autobuild_routes -->|"resolves routes"| node_tiered_routes

click node_frontend "https://github.com/kk666679/legaiai-my/tree/main/packages/frontend"
click node_mcp "https://github.com/kk666679/legaiai-my/blob/main/%40kk666679/mcp/server.js"
click node_mcp_tools "https://github.com/kk666679/legaiai-my/blob/main/%40kk666679/mcp/tools/index.js"
click node_mcp_agents "https://github.com/kk666679/legaiai-my/blob/main/%40kk666679/mcp/tools/agents.js"
click node_mcp_kg "https://github.com/kk666679/legaiai-my/blob/main/%40kk666679/mcp/tools/kg.js"
click node_mcp_skills "https://github.com/kk666679/legaiai-my/blob/main/%40kk666679/mcp/tools/skills.js"
click node_mcp_resources "https://github.com/kk666679/legaiai-my/blob/main/%40kk666679/mcp/resources.js"
click node_mcp_prompts "https://github.com/kk666679/legaiai-my/blob/main/%40kk666679/mcp/prompts.js"
click node_backend "https://github.com/kk666679/legaiai-my/blob/main/packages/backend/src/server.ts"
click node_trpc "https://github.com/kk666679/legaiai-my/tree/main/packages/backend/src/trpc/routers"
click node_drafting "https://github.com/kk666679/legaiai-my/blob/main/packages/backend/src/trpc/routers/drafting.ts"
click node_legal_plugin "https://github.com/kk666679/legaiai-my/blob/main/packages/backend/src/plugins/legal-plugin.ts"
click node_workers "https://github.com/kk666679/legaiai-my/tree/main/workers"
click node_queue "https://github.com/kk666679/legaiai-my/blob/main/packages/backend/src/queues/index.ts"
click node_postgres "https://github.com/kk666679/legaiai-my/blob/main/packages/backend/src/db/index.ts"
click node_providers "https://github.com/kk666679/legaiai-my/blob/main/packages/backend/src/lib/providers/factory.ts"
click node_llm_routing "https://github.com/kk666679/legaiai-my/blob/main/packages/backend/src/lib/llm/cascade.ts"
click node_autobuild_routes "https://github.com/kk666679/legaiai-my/blob/main/packages/autoclaw/autobuild/modelRoutes.js"
click node_tiered_routes "https://github.com/kk666679/legaiai-my/blob/main/packages/autoclaw/autobuild/routing/model-routes.js"
click node_billing "https://github.com/kk666679/legaiai-my/blob/main/packages/backend/src/lib/payments/billingService.ts"
click node_payment_flow "https://github.com/kk666679/legaiai-my/blob/main/packages/backend/src/lib/payments/orchestrator.ts"
click node_pricing "https://github.com/kk666679/legaiai-my/blob/main/packages/backend/src/lib/pricing.ts"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_frontend,node_mcp,node_mcp_tools,node_mcp_agents,node_mcp_kg,node_mcp_skills,node_mcp_resources,node_mcp_prompts toneBlue
class node_backend,node_trpc,node_queue,node_postgres toneAmber
class node_drafting,node_legal_plugin,node_workers toneMint
class node_providers,node_llm_routing,node_autobuild_routes,node_tiered_routes,node_billing,node_payment_flow,node_pricing,node_lawyer toneIndigo
```

## Components

### User Interfaces

- [Web Frontend](https://github.com/kk666679/legaiai-my/tree/main/packages/frontend): `packages/frontend`
- [MCP Server](https://github.com/kk666679/legaiai-my/blob/main/%40kk666679/mcp/server.js): `@kk666679/mcp/server.js`
- [MCP Tools](https://github.com/kk666679/legaiai-my/blob/main/%40kk666679/mcp/tools/index.js): `@kk666679/mcp/tools/index.js`
- [Agent Tools](https://github.com/kk666679/legaiai-my/blob/main/%40kk666679/mcp/tools/agents.js): `@kk666679/mcp/tools/agents.js`
- [Knowledge Tools](https://github.com/kk666679/legaiai-my/blob/main/%40kk666679/mcp/tools/kg.js): `@kk666679/mcp/tools/kg.js`
- [Skill Tools](https://github.com/kk666679/legaiai-my/blob/main/%40kk666679/mcp/tools/skills.js): `@kk666679/mcp/tools/skills.js`
- [MCP Resources](https://github.com/kk666679/legaiai-my/blob/main/%40kk666679/mcp/resources.js): `@kk666679/mcp/resources.js`
- [MCP Prompts](https://github.com/kk666679/legaiai-my/blob/main/%40kk666679/mcp/prompts.js): `@kk666679/mcp/prompts.js`

### Backend Services

- [API Backend](https://github.com/kk666679/legaiai-my/blob/main/packages/backend/src/server.ts): `packages/backend/src/server.ts`
- [tRPC Routers](https://github.com/kk666679/legaiai-my/tree/main/packages/backend/src/trpc/routers): `packages/backend/src/trpc/routers`
- [BullMQ Queue](https://github.com/kk666679/legaiai-my/blob/main/packages/backend/src/queues/index.ts): `packages/backend/src/queues/index.ts`
- [PostgreSQL](https://github.com/kk666679/legaiai-my/blob/main/packages/backend/src/db/index.ts): `packages/backend/src/db/index.ts`

### Legal Workflows

- [Drafting Router](https://github.com/kk666679/legaiai-my/blob/main/packages/backend/src/trpc/routers/drafting.ts): `packages/backend/src/trpc/routers/drafting.ts`
- [Legal Plugin](https://github.com/kk666679/legaiai-my/blob/main/packages/backend/src/plugins/legal-plugin.ts): `packages/backend/src/plugins/legal-plugin.ts`
- [Task Workers](https://github.com/kk666679/legaiai-my/tree/main/workers): `workers`

### Platform Capabilities

- [Model Providers](https://github.com/kk666679/legaiai-my/blob/main/packages/backend/src/lib/providers/factory.ts): `packages/backend/src/lib/providers/factory.ts`
- [LLM Routing](https://github.com/kk666679/legaiai-my/blob/main/packages/backend/src/lib/llm/cascade.ts): `packages/backend/src/lib/llm/cascade.ts`
- [Autobuild Routes](https://github.com/kk666679/legaiai-my/blob/main/packages/autoclaw/autobuild/modelRoutes.js): `packages/autoclaw/autobuild/modelRoutes.js`
- [Route Resolution](https://github.com/kk666679/legaiai-my/blob/main/packages/autoclaw/autobuild/routing/model-routes.js): `packages/autoclaw/autobuild/routing/model-routes.js`
- [Billing Service](https://github.com/kk666679/legaiai-my/blob/main/packages/backend/src/lib/payments/billingService.ts): `packages/backend/src/lib/payments/billingService.ts`
- [Payment Orchestration](https://github.com/kk666679/legaiai-my/blob/main/packages/backend/src/lib/payments/orchestrator.ts): `packages/backend/src/lib/payments/orchestrator.ts`
- [Pricing Plans](https://github.com/kk666679/legaiai-my/blob/main/packages/backend/src/lib/pricing.ts): `packages/backend/src/lib/pricing.ts`

### Other components

- **Lawyer**

## Connections

- Lawyer → Web Frontend: uses
- Web Frontend → API Backend: calls API
- API Backend → tRPC Routers: routes to (evidence: `packages/backend/src/server.ts`)
- tRPC Routers → Drafting Router: dispatches (evidence: `packages/backend/src/server.ts`)
- API Backend → BullMQ Queue: enqueues jobs (evidence: `packages/backend/src/server.ts`)
- BullMQ Queue → Task Workers: dispatches jobs
- API Backend → PostgreSQL: queries (evidence: `packages/backend/src/server.ts`)
- API Backend → Model Providers: uses providers (evidence: `packages/backend/src/server.ts`)
- API Backend → LLM Routing: uses routing (evidence: `packages/backend/src/server.ts`)
- API Backend → Legal Plugin: loads plugin (evidence: `packages/backend/src/server.ts`)
- MCP Server → MCP Tools: assembles tools (evidence: `@kk666679/mcp/server.js`)
- MCP Server → MCP Resources: loads resources (evidence: `@kk666679/mcp/server.js`)
- MCP Server → MCP Prompts: loads prompts (evidence: `@kk666679/mcp/server.js`)
- MCP Server → MCP Tools: dispatches calls (evidence: `@kk666679/mcp/server.js`)
- MCP Tools → Agent Tools: registers tools (evidence: `@kk666679/mcp/tools/index.js`)
- MCP Tools → Knowledge Tools: registers tools (evidence: `@kk666679/mcp/tools/index.js`)
- MCP Tools → Skill Tools: registers tools (evidence: `@kk666679/mcp/tools/index.js`)
- Billing Service → Payment Orchestration: uses orchestration (evidence: `packages/backend/src/lib/payments/billingService.ts`)
- Billing Service → Pricing Plans: gets plan (evidence: `packages/backend/src/lib/payments/billingService.ts`)
- Autobuild Routes → Route Resolution: resolves routes
