# Atloria (self dogfood)

## Overview

Auto-generated technical documentation for **Atloria (self dogfood)** — 33916 entities (26785 doc comments, 1805 interfaces, 1093 functions, 876 components).

## Architecture

```mermaid
flowchart LR
  service_StorageHelperService_751da417["StorageHelperService"]
  service_Crop_140a6041["Crop"]
  service_ParserService_5634fec["ParserService"]
  service_EntityMapper_2dd3ba0b["EntityMapper"]
  service_ParserCoreBridge_5f634fe8["ParserCoreBridge"]
  service_ChunkerService_36d48187["ChunkerService"]
  service_FeatureExtractorService_54b31c9a["FeatureExtractorService"]
  service_AnalyzerService_509b5604["AnalyzerService"]
  service_SynthesizerService_5be315["SynthesizerService"]
  service_StructureService_335fa54b["StructureService"]
  service_V4dStructureService_1c78148e["V4dStructureService"]
  service_PhaseService_465e9705["PhaseService"]
  service_SessionService_22a97883["SessionService"]
  service_DocPlannerService_224fae1["DocPlannerService"]
  service_AgentContextService_36c11d80["AgentContextService"]
  service_AgentWriterService_58c6015c["AgentWriterService"]
  service_DocVerifierService_6b28454a["DocVerifierService"]
  service_GeneratorService_252aea01["GeneratorService"]
  service_VerifierAgentService_acd24ae["VerifierAgentService"]
  service_OpenAIReviewerService_36f27c12["OpenAIReviewerService"]
  service_VerifierService_3e00a087["VerifierService"]
  service_HybridMapperService_54fe3fb9["HybridMapperService"]
  service_LoginSelectorDetectorService_32760a58["LoginSelectorDetectorService"]
  service_ScreenshotCapturerService_6ed39a45["ScreenshotCapturerService"]
```

## Modules

- **ActivityModule**
- **AgentModule**
- **AIModule**
- **AnalyticsModule**
- **AppModule**
- **AssetsModule**
- **AudienceModule**
- **AuditModule**
- **AuthModule**
- **SamlModule**
- **BillingModule**
- **BitbucketModule**
- **BoardsModule**
- **BrandingModule**
- **CaptureModule**
- **ChangeRequestModule**
- **ChangelogModule**
- **CollaborationModule**
- **CommentModule**
- **ThrottlingModule**
- **ContentTasksModule**
- **CspReportModule**
- **DashboardModule**
- **DocVersionModule**
- **DocsPrModule**
- **DocsRepoModule**
- **DocumentModule**
- **DraftDocumentModule**
- **DocumentationModule**
- **EmailModule**
- **EventsModule**
- **GatewayModule**
- **GitSyncModule**
- **GitHubModule**
- **GithubAppModule**
- **GitLabModule**
- **GraphModule**
- **InvitationModule**
- **IssuesModule**
- **L10nModule**
- **ManualsInsightsModule**
- **NotificationModule**
- **OpsModule**
- **OrganizationModule**
- **ParserModule**
- **ParsingModule**
- **PlatformModule**
- **PmeModule**
- **ProjectModule**
- **ReaderAccessModule**
- **ReaderAccountModule**
- **ScimModule**
- **ScreenshotModule**
- **SdkModule**
- **SnippetsModule**
- **SuggestionModule**
- **SupportAgentModule**
- **TechnicalDocsModule**
- **TemplateModule**
- **ToursModule**
- **TrialModule**
- **WebhookModule**
- **WorkflowModule**
- **AppModule**
- **AppModule**
- **AnalysisModule**
- **AppModule**
- **GitModule**
- **AppModule**
- **AppModule**
- **AppModule**
- **AppModule**
- **IntegrationModule**
- **KnowledgeGraphModule**
- **OrchestratorModule**
- **QueueModule**
- **UsersModule**
- **PmeAgentModule**
- **QueueModule**
- **AppModule**
- **DiscoveryModule**
- **PdfModule**
- **PlaywrightModule**
- **ScreenshotModule**
- **StorageModule**
- **AppModule**
- **SdkGenModule**
- **DatabaseModule**
- **Atloria.CSharpParser** — .NET Exe project (C#)
- **atloria** — .NET solution file
- **atloria-monorepo** — .NET project in solution
- **libs** — .NET project in solution
- **parser-core** — .NET project in solution
- **dotnet-bridge** — .NET project in solution
- **Atloria.CSharpParser** — .NET project in solution

## Entry Points

- Controller: **ActivityController** (`atloria-monorepo/apps/api/src/activity/activity.controller.ts`)
- Controller: **AgentController** (`atloria-monorepo/apps/api/src/agent/agent.controller.ts`)
- Controller: **AIController** (`atloria-monorepo/apps/api/src/ai/ai.controller.ts`)
- Controller: **AnalyticsController** (`atloria-monorepo/apps/api/src/analytics/analytics.controller.ts`)
- Controller: **AnalyticsExportController** (`atloria-monorepo/apps/api/src/analytics/export/analytics-export.controller.ts`)
- Controller: **AppController** (`atloria-monorepo/apps/api/src/app/app.controller.ts`)
- Controller: **AssetsController** (`atloria-monorepo/apps/api/src/assets/assets.controller.ts`)
- Controller: **AudienceController** (`atloria-monorepo/apps/api/src/audience/audience.controller.ts`)
- Controller: **AuditController** (`atloria-monorepo/apps/api/src/audit/audit.controller.ts`)
- Controller: **AuthController** (`atloria-monorepo/apps/api/src/auth/auth.controller.ts`)
- Controller: **SamlController** (`atloria-monorepo/apps/api/src/auth/saml/saml.controller.ts`)
- Controller: **SsoController** (`atloria-monorepo/apps/api/src/auth/saml/sso.controller.ts`)
- Controller: **BillingController** (`atloria-monorepo/apps/api/src/billing/billing.controller.ts`)
- Controller: **BitbucketController** (`atloria-monorepo/apps/api/src/bitbucket/bitbucket.controller.ts`)
- Controller: **BoardsController** (`atloria-monorepo/apps/api/src/boards/boards.controller.ts`)
- Controller: **BrandingController** (`atloria-monorepo/apps/api/src/branding/branding.controller.ts`)
- Controller: **CaptureController** (`atloria-monorepo/apps/api/src/capture/capture.controller.ts`)
- Controller: **PublicCaptureController** (`atloria-monorepo/apps/api/src/capture/public-capture.controller.ts`)
- Controller: **ChangeRequestController** (`atloria-monorepo/apps/api/src/change-request/change-request.controller.ts`)
- Controller: **DocsConfigController** (`atloria-monorepo/apps/api/src/change-request/docs-config.controller.ts`)
- `GET /activities` → list
- `GET /activities/documents/:id` → getDocumentActivities
- `GET /activities/projects/:id` → getProjectActivities
- `GET /activities/recent/projects` → getRecentProjects
- `GET /activities/recent/documents` → getRecentDocuments
- `GET /agent/status` → getStatus
- `GET /ai/usage/logs` → usageLogs
- `POST /ai/enhance` → enhance
- `POST /ai/outline` → generateOutline
- `POST /ai/improve` → improve
- `POST /ai/summarize` → summarize
- `GET /ai/providers` → listProviders
- `POST /analytics/track` → track
- `GET /analytics/:projectId/overview` → getOverview
- `GET /analytics/:projectId/versions` → getVersionTraffic
- `GET /analytics/:projectId/documents` → getTopDocuments
- `GET /analytics/:projectId/search-queries` → getTopSearchQueries
- `GET /analytics/:projectId/daily-traffic` → getDailyTraffic
- `GET /analytics/:projectId/devices` → getDeviceBreakdown
- `GET /analytics/:projectId/sources` → getSourceBreakdown
- `GET /analytics/:projectId/geo` → getGeoBreakdown
- `GET /analytics/:projectId/zero-result-searches` → getZeroResultSearches
- `GET /analytics/:projectId/ghost-docs` → getGhostDocs
- `GET /analytics/:projectId/trending-docs` → getTrendingDocs
- `GET /analytics/:projectId/scroll-histogram` → getScrollHistogram
- `POST /analytics/feedback` → submitFeedback
- `GET /analytics/:projectId/feedback-summary` → getFeedbackSummary
- `POST /analytics/:projectId/export` → exportNow
- `GET /analytics/:projectId/reports` → listReports
- `POST /analytics/:projectId/reports` → createReport

## Key Components

_The most-referenced entities — start here._

- **PrismaService** (service) — referenced 144×
- **DatabaseModule** (module) — referenced 57×
- **AuthModule** (module) — referenced 37×
- **Project** (database model) — referenced 33×
- **User** (database model) — referenced 18×
- **AuditService** (service) — referenced 15×
- **Organization** (database model) — referenced 15×
- **Description** (doc comment) — referenced 15×
- **Example Input** (doc comment) — referenced 15×
- **Example Output** (doc comment) — referenced 15×

## Subsystems

Ordered by how much of the rest of the system depends on them, not by how much code they
contain. A small module many things import shapes this codebase more than a large one nothing
imports.

| Subsystem | Depended on by | Entities | Starts at |
|---|---|---|---|
| **Database** | 60 | 12 | `DatabaseModule` |
| **Auth** | 37 | 121 | `AuthController`, `register` |
| **Ai** | 10 | 231 | `AIController`, `usageLogs` |
| **Docs Repo** | 9 | 43 | `DocsRepoModule` |
| **Billing** | 9 | 24 | `BillingController`, `checkout` |
| **Audit** | 9 | 12 | `AuditController`, `queryOrg` |
| **Document** | 7 | 182 | `CategoryController`, `create` |
| **Reader Access** | 7 | 36 | `ProjectAccessController`, `getPolicy` |
| **Documentation** | 6 | 200 | `DocAutomationController`, `createConfig` |
| **Technical Docs** | 5 | 134 | `FreshnessController`, `stale` |

`Database` depend on no other subsystem here — they are the leaves.

## How this code is named

These conventions cover most of the codebase. Learning them is faster than reading an index —
each one lets you find any member of its family without looking it up.

| Pattern | Where | Count | Examples |
|---|---|---|---|
| `*.service.ts` | across the repository | 238 | `ai.service.ts`, `kg.service.ts`, `app.service.ts`, `url.service.ts` |
| `create*` | exported symbols | 137 | `createJob`, `createKey`, `createUser`, `createPost` |
| `*.dto.ts` | across the repository | 98 | `pme.dto.ts`, `saml.dto.ts`, `card.dto.ts`, `desk.dto.ts` |
| `*.controller.ts` | across the repository | 96 | `ai.controller.ts`, `app.controller.ts`, `sso.controller.ts`, `ops.controller.ts` |
| `*.module.ts` | across the repository | 88 | `ai.module.ts`, `kg.module.ts`, `app.module.ts`, `ops.module.ts` |
| `build*` | exported symbols | 70 | `buildBashEnv`, `buildLlmsTxt`, `buildThemeCss`, `buildProjectUrl` |
