# nocobase/nocoreach architecture

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

- Interactive diagram: https://gitdiagram.com/nocobase/nocoreach
- Repository: https://github.com/nocobase/nocoreach

## Overview

NocoReach is an AI growth-operations platform built on NocoBase: users connect data sources, review daily analysis and evidence-backed opportunities, delegate work to agents, approve changes, and compare impact. The map preserves the documented data, analysis, agent, review, impact, and customization capabilities. Several backend subsystems are represented by their enclosing directory because their implementation files were not sampled; relationships without direct source evidence are cited to the README’s product description.

Main entry points: [`server/nocoreach/execution/service.ts`](https://github.com/nocobase/nocoreach/blob/main/server/nocoreach/execution/service.ts) (Execution service), [`server/nocoreach/legacy/database.ts`](https://github.com/nocobase/nocoreach/blob/main/server/nocoreach/legacy/database.ts) (Business data store), [`server/nocoreach/daily-analysis.ts`](https://github.com/nocobase/nocoreach/blob/main/server/nocoreach/daily-analysis.ts) (Daily analysis), [`server/nocoreach/manual-tasks.ts`](https://github.com/nocobase/nocoreach/blob/main/server/nocoreach/manual-tasks.ts) (Task management)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_insights["Research and insights"]
  node_research["Research pages"]
  node_daily_analysis["Daily analysis<br/>[daily-analysis.ts]"]
  node_analysis_rules["Analysis rules<br/>[analysis-rules.ts]"]
  node_evidence["Opportunity evidence"]
  node_strategy["Insights and opportunities"]
  node_data_views["Data views<br/>[data-views.ts]"]
end

subgraph group_operations["Growth operations"]
  node_task_management["Task management<br/>[manual-tasks.ts]"]
  node_task_ui["Task workspace"]
  node_review_publish["Review and publish<br/>[article-review.tsx]"]
  node_impact["Impact comparison"]
end

subgraph group_execution["Agent execution"]
  node_execution_service["Execution service<br/>[service.ts]"]
  node_execution_flow["Execution flow<br/>[article-flow.ts]"]
  node_agent_runtime["Agent runtime<br/>[executor.ts]"]
  node_playbooks["Playbooks and skills<br/>[skills.tsx]"]
  node_knowledge["Project knowledge"]
end

subgraph group_platform["Platform services"]
  node_routes["Product navigation"]
  node_legacy_store[("Business data store<br/>[database.ts]")]
  node_access["Access control<br/>[service.ts]"]
  node_provider["NocoReach provider<br/>[nocoreach.ts]"]
end

subgraph group_integrations["Data integrations"]
  node_source_connect["Source connections"]
  node_collectors["Data collection"]
  node_source_services["Source services"]
  node_sync["Search sync<br/>[sync-service.ts]"]
  node_report_cache["Report cache"]
  node_external_sources{{"Connected data sources"}}
end

node_user(("Growth team"))
node_agent(("Coding agent"))

node_user -->|"opens"| node_routes
node_routes -->|"routes to"| node_strategy
node_user -->|"connects sources"| node_source_connect
node_source_connect -.->|"configures"| node_collectors
node_external_sources -->|"provides data"| node_collectors
node_collectors -.->|"feeds"| node_source_services
node_source_services -->|"supplies changes"| node_daily_analysis
node_daily_analysis -->|"evaluates"| node_analysis_rules
node_daily_analysis -->|"produces"| node_evidence
node_evidence -->|"informs"| node_strategy
node_strategy -->|"hands off work"| node_task_management
node_user -->|"explores"| node_research
node_research -.->|"reads data"| node_data_views
node_sync -->|"writes data"| node_legacy_store
node_sync -->|"uses cache"| node_report_cache
node_task_management -->|"starts work"| node_execution_service
node_task_management -->|"reads and writes"| node_legacy_store
node_execution_service -->|"runs article flow"| node_execution_flow
node_execution_service -.->|"delegates execution"| node_agent_runtime
node_playbooks -->|"guides work"| node_execution_service
node_knowledge -->|"informs agents"| node_execution_service
node_agent -->|"runs tasks"| node_agent_runtime
node_execution_service -.->|"provides task state"| node_task_ui
node_task_ui -->|"supports review"| node_review_publish
node_user -->|"approves changes"| node_review_publish
node_review_publish -->|"enables comparison"| node_impact
node_provider -->|"uses data layer"| node_legacy_store
node_provider -->|"creates access service"| node_access
node_access -->|"reads and writes"| node_legacy_store

click node_routes "https://github.com/nocobase/nocoreach/blob/main/client/nocoreach-routes.ts"
click node_research "https://github.com/nocobase/nocoreach/tree/main/client/pages"
click node_source_connect "https://github.com/nocobase/nocoreach/blob/main/client/pages/source-connections.tsx"
click node_collectors "https://github.com/nocobase/nocoreach/tree/main/server/nocoreach"
click node_source_services "https://github.com/nocobase/nocoreach/tree/main/server/nocoreach"
click node_daily_analysis "https://github.com/nocobase/nocoreach/blob/main/server/nocoreach/daily-analysis.ts"
click node_analysis_rules "https://github.com/nocobase/nocoreach/blob/main/server/nocoreach/analysis-rules.ts"
click node_evidence "https://github.com/nocobase/nocoreach/blob/main/server/nocoreach/analysis-evidence.ts"
click node_strategy "https://github.com/nocobase/nocoreach/tree/main/client/pages/strategy"
click node_data_views "https://github.com/nocobase/nocoreach/blob/main/server/nocoreach/data-views.ts"
click node_sync "https://github.com/nocobase/nocoreach/blob/main/server/nocoreach/sync-service.ts"
click node_report_cache "https://github.com/nocobase/nocoreach/blob/main/server/nocoreach/google-report-cache.ts"
click node_task_management "https://github.com/nocobase/nocoreach/blob/main/server/nocoreach/manual-tasks.ts"
click node_task_ui "https://github.com/nocobase/nocoreach/tree/main/client/pages/task-detail"
click node_execution_service "https://github.com/nocobase/nocoreach/blob/main/server/nocoreach/execution/service.ts"
click node_execution_flow "https://github.com/nocobase/nocoreach/blob/main/server/nocoreach/execution/article-flow.ts"
click node_agent_runtime "https://github.com/nocobase/nocoreach/blob/main/server/online-agent/executor.ts"
click node_review_publish "https://github.com/nocobase/nocoreach/blob/main/client/pages/task-detail/article-review.tsx"
click node_impact "https://github.com/nocobase/nocoreach/tree/main/client/pages/task-detail"
click node_playbooks "https://github.com/nocobase/nocoreach/blob/main/client/pages/skills.tsx"
click node_knowledge "https://github.com/nocobase/nocoreach/tree/main/client/pages/project-knowledge"
click node_legacy_store "https://github.com/nocobase/nocoreach/blob/main/server/nocoreach/legacy/database.ts"
click node_access "https://github.com/nocobase/nocoreach/blob/main/server/access/service.ts"
click node_provider "https://github.com/nocobase/nocoreach/blob/main/server/providers/nocoreach.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_research,node_daily_analysis,node_analysis_rules,node_evidence,node_strategy,node_data_views toneBlue
class node_task_management,node_task_ui,node_review_publish,node_impact toneAmber
class node_execution_service,node_execution_flow,node_agent_runtime,node_playbooks,node_knowledge toneMint
class node_routes,node_legacy_store,node_access,node_provider toneRose
class node_source_connect,node_collectors,node_source_services,node_sync,node_report_cache,node_external_sources,node_user,node_agent toneIndigo
```

## Components

### Research and insights

- [Research pages](https://github.com/nocobase/nocoreach/tree/main/client/pages): `client/pages`
- [Daily analysis](https://github.com/nocobase/nocoreach/blob/main/server/nocoreach/daily-analysis.ts): `server/nocoreach/daily-analysis.ts`
- [Analysis rules](https://github.com/nocobase/nocoreach/blob/main/server/nocoreach/analysis-rules.ts): `server/nocoreach/analysis-rules.ts`
- [Opportunity evidence](https://github.com/nocobase/nocoreach/blob/main/server/nocoreach/analysis-evidence.ts): `server/nocoreach/analysis-evidence.ts`
- [Insights and opportunities](https://github.com/nocobase/nocoreach/tree/main/client/pages/strategy): `client/pages/strategy`
- [Data views](https://github.com/nocobase/nocoreach/blob/main/server/nocoreach/data-views.ts): `server/nocoreach/data-views.ts`

### Growth operations

- [Task management](https://github.com/nocobase/nocoreach/blob/main/server/nocoreach/manual-tasks.ts): `server/nocoreach/manual-tasks.ts`
- [Task workspace](https://github.com/nocobase/nocoreach/tree/main/client/pages/task-detail): `client/pages/task-detail`
- [Review and publish](https://github.com/nocobase/nocoreach/blob/main/client/pages/task-detail/article-review.tsx): `client/pages/task-detail/article-review.tsx`
- [Impact comparison](https://github.com/nocobase/nocoreach/tree/main/client/pages/task-detail): `client/pages/task-detail`

### Agent execution

- [Execution service](https://github.com/nocobase/nocoreach/blob/main/server/nocoreach/execution/service.ts): `server/nocoreach/execution/service.ts`
- [Execution flow](https://github.com/nocobase/nocoreach/blob/main/server/nocoreach/execution/article-flow.ts): `server/nocoreach/execution/article-flow.ts`
- [Agent runtime](https://github.com/nocobase/nocoreach/blob/main/server/online-agent/executor.ts): `server/online-agent/executor.ts`
- [Playbooks and skills](https://github.com/nocobase/nocoreach/blob/main/client/pages/skills.tsx): `client/pages/skills.tsx`
- [Project knowledge](https://github.com/nocobase/nocoreach/tree/main/client/pages/project-knowledge): `client/pages/project-knowledge`

### Platform services

- [Product navigation](https://github.com/nocobase/nocoreach/blob/main/client/nocoreach-routes.ts): `client/nocoreach-routes.ts`
- [Business data store](https://github.com/nocobase/nocoreach/blob/main/server/nocoreach/legacy/database.ts): `server/nocoreach/legacy/database.ts`
- [Access control](https://github.com/nocobase/nocoreach/blob/main/server/access/service.ts): `server/access/service.ts`
- [NocoReach provider](https://github.com/nocobase/nocoreach/blob/main/server/providers/nocoreach.ts): `server/providers/nocoreach.ts`

### Data integrations

- [Source connections](https://github.com/nocobase/nocoreach/blob/main/client/pages/source-connections.tsx): `client/pages/source-connections.tsx`
- [Data collection](https://github.com/nocobase/nocoreach/tree/main/server/nocoreach): `server/nocoreach`
- [Source services](https://github.com/nocobase/nocoreach/tree/main/server/nocoreach): `server/nocoreach`
- [Search sync](https://github.com/nocobase/nocoreach/blob/main/server/nocoreach/sync-service.ts): `server/nocoreach/sync-service.ts`
- [Report cache](https://github.com/nocobase/nocoreach/blob/main/server/nocoreach/google-report-cache.ts): `server/nocoreach/google-report-cache.ts`
- **Connected data sources**

### Other components

- **Growth team**
- **Coding agent**

## Connections

- Growth team → Product navigation: opens (evidence: `README.md`)
- Product navigation → Insights and opportunities: routes to (evidence: `client/nocoreach-routes.ts`)
- Growth team → Source connections: connects sources (evidence: `README.md`)
- Source connections → Data collection: configures
- Connected data sources → Data collection: provides data (evidence: `README.md`)
- Data collection → Source services: feeds
- Source services → Daily analysis: supplies changes (evidence: `README.md`)
- Daily analysis → Analysis rules: evaluates (evidence: `README.md`)
- Daily analysis → Opportunity evidence: produces (evidence: `README.md`)
- Opportunity evidence → Insights and opportunities: informs (evidence: `README.md`)
- Insights and opportunities → Task management: hands off work (evidence: `README.md`)
- Growth team → Research pages: explores (evidence: `README.md`)
- Research pages → Data views: reads data
- Search sync → Business data store: writes data (evidence: `server/nocoreach/sync-service.ts`)
- Search sync → Report cache: uses cache (evidence: `server/nocoreach/sync-service.ts`)
- Task management → Execution service: starts work (evidence: `server/nocoreach/manual-tasks.ts`)
- Task management → Business data store: reads and writes (evidence: `server/nocoreach/manual-tasks.ts`)
- Execution service → Execution flow: runs article flow (evidence: `server/nocoreach/execution/service.ts`)
- Execution service → Agent runtime: delegates execution
- Playbooks and skills → Execution service: guides work (evidence: `README.md`)
- Project knowledge → Execution service: informs agents (evidence: `server/nocoreach/execution/service.ts`)
- Coding agent → Agent runtime: runs tasks (evidence: `README.md`)
- Execution service → Task workspace: provides task state
- Task workspace → Review and publish: supports review (evidence: `README.md`)
- Growth team → Review and publish: approves changes (evidence: `README.md`)
- Review and publish → Impact comparison: enables comparison (evidence: `README.md`)
- NocoReach provider → Business data store: uses data layer (evidence: `server/providers/nocoreach.ts`)
- NocoReach provider → Access control: creates access service (evidence: `server/providers/nocoreach.ts`)
- Access control → Business data store: reads and writes (evidence: `server/access/service.ts`)
