# windshiftapp/core architecture

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

- Interactive diagram: https://gitdiagram.com/windshiftapp/core
- Repository: https://github.com/windshiftapp/core

## Overview

Windshift is a self-hosted team work-management platform. A user plans and tracks work in the Svelte app: board, backlog, hierarchy, roadmap and milestone views lead into work-item details, with workflow customization and collaboration around those items. The frontend’s API layer connects the product to the Go application, which also supports customer intake, integrations, AI and automation, and optional product extensions. The README documents these capabilities; sampled backend excerpts are limited, so the graph avoids asserting detailed handler-to-service wiring.

Main entry points: [`frontend/src/App.svelte`](https://github.com/windshiftapp/core/blob/main/frontend/src/App.svelte) (Windshift app), [`cmd/ws/main.go`](https://github.com/windshiftapp/core/blob/main/cmd/ws/main.go) (Go application), [`frontend/src/lib/api`](https://github.com/windshiftapp/core/tree/main/frontend/src/lib/api) (Frontend API), [`frontend/src/lib/features/items`](https://github.com/windshiftapp/core/tree/main/frontend/src/lib/features/items) (Work-item context)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_experience["Work experience"]
  node_app["Windshift app<br/>[App.svelte]"]
  node_planning["Boards and planning"]
  node_iterations["Iterations"]
  node_workitem["Work-item context"]
  node_knowledge["Pages and collaboration"]
end

subgraph group_configuration["Workflow and intake"]
  node_workflow["Workflow settings"]
  node_channels["Customer channels"]
  node_forms["Forms and requests"]
end

subgraph group_automation["Automation and AI"]
  node_actions["Action flows"]
  node_agents["AI agents"]
  node_chat["AI chat"]
  node_llm["LLM connections<br/>[manager.go]"]
end

subgraph group_platform["Application platform"]
  node_api["Frontend API"]
  node_server["Go application<br/>[main.go]"]
  node_eventengine["Domain event engine<br/>[engine.go]"]
  node_llmusage[("LLM usage records")]
end

subgraph group_integrations["Connected services"]
  node_extensions["Plugins<br/>[manager.go]"]
  node_scm["SCM integrations<br/>[scm.js]"]
end

node_user(("Team member"))
node_database[("SQLite or PostgreSQL")]

node_user -->|"uses"| node_app
node_app -->|"presents"| node_planning
node_app -->|"presents"| node_iterations
node_app -->|"presents"| node_workitem
node_app -->|"presents"| node_knowledge
node_app -->|"configures"| node_workflow
node_app -->|"configures"| node_channels
node_channels -->|"accepts requests"| node_forms
node_app -->|"configures"| node_actions
node_app -->|"configures"| node_agents
node_app -->|"uses"| node_chat
node_planning -->|"requests data"| node_api
node_iterations -->|"requests data"| node_api
node_workitem -->|"requests data"| node_api
node_forms -->|"submits requests"| node_api
node_api -->|"sends requests"| node_server
node_server -->|"reads and writes"| node_database
node_server -->|"runs event delivery"| node_eventengine
node_server -->|"manages connections"| node_llm
node_llm -->|"records usage"| node_llmusage
node_server -->|"manages plugins"| node_extensions
node_workitem -.->|"connects repositories"| node_scm

click node_app "https://github.com/windshiftapp/core/blob/main/frontend/src/App.svelte"
click node_planning "https://github.com/windshiftapp/core/tree/main/frontend/src/lib/features/collections"
click node_iterations "https://github.com/windshiftapp/core/tree/main/frontend/src/lib/features/iterations"
click node_workitem "https://github.com/windshiftapp/core/tree/main/frontend/src/lib/features/items"
click node_knowledge "https://github.com/windshiftapp/core/tree/main/frontend/src/lib/features"
click node_workflow "https://github.com/windshiftapp/core/tree/main/frontend/src/lib/features"
click node_channels "https://github.com/windshiftapp/core/tree/main/frontend/src/lib/features/channels"
click node_forms "https://github.com/windshiftapp/core/tree/main/frontend/src/lib/features/forms"
click node_actions "https://github.com/windshiftapp/core/tree/main/frontend/src/lib/features/actions"
click node_agents "https://github.com/windshiftapp/core/tree/main/frontend/src/lib/features/agents"
click node_chat "https://github.com/windshiftapp/core/tree/main/frontend/src/lib/features/chat"
click node_api "https://github.com/windshiftapp/core/tree/main/frontend/src/lib/api"
click node_server "https://github.com/windshiftapp/core/blob/main/cmd/ws/main.go"
click node_eventengine "https://github.com/windshiftapp/core/blob/main/internal/events/engine.go"
click node_llm "https://github.com/windshiftapp/core/blob/main/internal/llm/manager.go"
click node_llmusage "https://github.com/windshiftapp/core/blob/main/internal/repository/llm_usage_repository.go"
click node_extensions "https://github.com/windshiftapp/core/blob/main/internal/plugins/manager.go"
click node_scm "https://github.com/windshiftapp/core/blob/main/frontend/src/lib/api/scm.js"

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_app,node_planning,node_iterations,node_workitem,node_knowledge toneBlue
class node_workflow,node_channels,node_forms,node_database toneAmber
class node_actions,node_agents,node_chat,node_llm toneMint
class node_api,node_server,node_eventengine,node_llmusage toneRose
class node_extensions,node_scm,node_user toneIndigo
```

## Components

### Work experience

- [Windshift app](https://github.com/windshiftapp/core/blob/main/frontend/src/App.svelte): `frontend/src/App.svelte`
- [Boards and planning](https://github.com/windshiftapp/core/tree/main/frontend/src/lib/features/collections): `frontend/src/lib/features/collections`
- [Iterations](https://github.com/windshiftapp/core/tree/main/frontend/src/lib/features/iterations): `frontend/src/lib/features/iterations`
- [Work-item context](https://github.com/windshiftapp/core/tree/main/frontend/src/lib/features/items): `frontend/src/lib/features/items`
- [Pages and collaboration](https://github.com/windshiftapp/core/tree/main/frontend/src/lib/features): `frontend/src/lib/features`

### Workflow and intake

- [Workflow settings](https://github.com/windshiftapp/core/tree/main/frontend/src/lib/features): `frontend/src/lib/features`
- [Customer channels](https://github.com/windshiftapp/core/tree/main/frontend/src/lib/features/channels): `frontend/src/lib/features/channels`
- [Forms and requests](https://github.com/windshiftapp/core/tree/main/frontend/src/lib/features/forms): `frontend/src/lib/features/forms`

### Automation and AI

- [Action flows](https://github.com/windshiftapp/core/tree/main/frontend/src/lib/features/actions): `frontend/src/lib/features/actions`
- [AI agents](https://github.com/windshiftapp/core/tree/main/frontend/src/lib/features/agents): `frontend/src/lib/features/agents`
- [AI chat](https://github.com/windshiftapp/core/tree/main/frontend/src/lib/features/chat): `frontend/src/lib/features/chat`
- [LLM connections](https://github.com/windshiftapp/core/blob/main/internal/llm/manager.go): `internal/llm/manager.go`

### Application platform

- [Frontend API](https://github.com/windshiftapp/core/tree/main/frontend/src/lib/api): `frontend/src/lib/api`
- [Go application](https://github.com/windshiftapp/core/blob/main/cmd/ws/main.go): `cmd/ws/main.go`
- [Domain event engine](https://github.com/windshiftapp/core/blob/main/internal/events/engine.go): `internal/events/engine.go`
- [LLM usage records](https://github.com/windshiftapp/core/blob/main/internal/repository/llm_usage_repository.go): `internal/repository/llm_usage_repository.go`

### Connected services

- [Plugins](https://github.com/windshiftapp/core/blob/main/internal/plugins/manager.go): `internal/plugins/manager.go`
- [SCM integrations](https://github.com/windshiftapp/core/blob/main/frontend/src/lib/api/scm.js): `frontend/src/lib/api/scm.js`

### Other components

- **Team member**
- **SQLite or PostgreSQL**

## Connections

- Team member → Windshift app: uses
- Windshift app → Boards and planning: presents
- Windshift app → Iterations: presents
- Windshift app → Work-item context: presents
- Windshift app → Pages and collaboration: presents
- Windshift app → Workflow settings: configures
- Windshift app → Customer channels: configures
- Customer channels → Forms and requests: accepts requests
- Windshift app → Action flows: configures
- Windshift app → AI agents: configures
- Windshift app → AI chat: uses
- Boards and planning → Frontend API: requests data
- Iterations → Frontend API: requests data
- Work-item context → Frontend API: requests data
- Forms and requests → Frontend API: submits requests
- Frontend API → Go application: sends requests
- Go application → SQLite or PostgreSQL: reads and writes
- Go application → Domain event engine: runs event delivery
- Go application → LLM connections: manages connections
- LLM connections → LLM usage records: records usage
- Go application → Plugins: manages plugins
- Work-item context → SCM integrations: connects repositories
