open-auto-doc
Data Models

Data Models

Data models for open-auto-doc

Data Models

FileNode

Represents a file or directory in the project tree structure with hierarchical composition support

File: packages/analyzer/src/types.ts

Fields

FieldTypeDescriptionConstraints
pathstringFull path to the file or directory-
namestringBase name of the file or directory-
type"file" | "directory"Classification as file or directory-
childrenFileNode[]Child nodes if this is a directoryoptional
extensionstringFile extension if applicableoptional
sizenumberFile size in bytesoptional

Relationships

  • contains many FileNode (hierarchical)

DependencyInfo

Package manager dependencies extracted from package.json or equivalent manifest files

File: packages/analyzer/src/types.ts

Fields

FieldTypeDescriptionConstraints
packageManagerstringPackage manager type (e.g., npm, yarn, pnpm)-
dependenciesRecord<string, string>Production dependencies with versions-
devDependenciesRecord<string, string>Development dependencies with versions-
rawstringRaw content of the dependency file-

Relationships

  • belongs to StaticAnalysis

ClaudeMdContent

Parsed content from CLAUDE.md project context files that provide AI guidance for analysis

File: packages/analyzer/src/types.ts

Fields

FieldTypeDescriptionConstraints
pathstringPath to the CLAUDE.md file-
contentstringFull content of the CLAUDE.md file-

Relationships

  • belongs to StaticAnalysis

ImportEdge

Represents a direct import/dependency relationship between two modules or files

File: packages/analyzer/src/types.ts

Fields

FieldTypeDescriptionConstraints
fromstringSource file or module identifier-
tostringTarget file or module identifier-
isExternalbooleanWhether the import is from an external package-

Relationships

  • belongs to ImportGraph
  • relates ModuleCluster to ModuleCluster

ModuleCluster

Group of related files that form a logical module with measured internal and external coupling

File: packages/analyzer/src/types.ts

Fields

FieldTypeDescriptionConstraints
namestringName identifier for the module cluster-
filesstring[]List of file paths in this cluster-
internalEdgeCountnumberNumber of imports within the cluster-
externalEdgeCountnumberNumber of imports outside the cluster-

Relationships

  • belongs to ImportGraph
  • contains multiple files

ImportGraph

Complete directed graph of module imports and dependencies across the codebase with clustering analysis

File: packages/analyzer/src/types.ts

Fields

FieldTypeDescriptionConstraints
edgesImportEdge[]All import relationships detected-
moduleClustersModuleCluster[]Identified module clusters and their coupling metrics-

Relationships

  • belongs to StaticAnalysis
  • contains ImportEdge[], ModuleCluster[]

StaticAnalysis

Result of static code parsing covering file structure, dependencies, entry points, and import relationships

File: packages/analyzer/src/types.ts

Fields

FieldTypeDescriptionConstraints
fileTreeFileNodeHierarchical representation of all files and directories-
languagesstring[]Programming languages detected in the codebase-
dependenciesDependencyInfo[]Package dependencies from all manifest files-
claudeMdClaudeMdContent[]CLAUDE.md context files found-
entryFilesstring[]Entry point files identified-
totalFilesnumberTotal count of files analyzed-
importGraphImportGraphModule import graph and clusteringoptional

Relationships

  • contains FileNode, DependencyInfo[], ClaudeMdContent[], ImportGraph

MermaidDiagram

Diagram definition in Mermaid syntax for visualizing architecture, data flow, or entity relationships

File: packages/analyzer/src/types.ts

Fields

FieldTypeDescriptionConstraints
idstringUnique identifier for the diagram-
titlestringHuman-readable title of the diagram-
descriptionstringDescription of what the diagram shows-
mermaidSyntaxstringValid Mermaid diagram syntax-

Relationships

  • belongs to ArchitectureOverview
  • belongs to AnalysisResult

ModuleInfo

Detailed information about a logical module within the architecture

File: packages/analyzer/src/types.ts

Fields

FieldTypeDescriptionConstraints
namestringModule name-
descriptionstringModule purpose and responsibility-
filesstring[]File paths that comprise this module-
responsibilitiesstring[]List of key responsibilities-

Relationships

  • belongs to ArchitectureOverview

ArchitectureOverview

High-level architectural analysis including module decomposition, data flow, and technology stack assessment

File: packages/analyzer/src/types.ts

Fields

FieldTypeDescriptionConstraints
summarystring2-3 paragraph architecture summary-
projectPurposestringPlain-language description of project purpose for new users-
targetAudiencestringIntended users of the software-
techStackstring[]Key technologies and frameworks-
modulesModuleInfo[]Identified modules and their responsibilities-
dataFlowstringDescription of data movement through the system-
entryPointsstring[]Primary application entry points-
keyPatternsstring[]Architectural patterns and design patterns-
diagramsMermaidDiagram[]Architecture and data flow diagrams-

Relationships

  • contains ModuleInfo[], MermaidDiagram[]
  • belongs to AnalysisResult

ParameterDoc

Documentation for a single parameter in an API endpoint

File: packages/analyzer/src/types.ts

Fields

FieldTypeDescriptionConstraints
namestringParameter name-
typestringParameter data type-
requiredbooleanWhether the parameter is required-
descriptionstringParameter purpose and usage-
location"path" | "query" | "header" | "body"Where the parameter appears in the request-

Relationships

  • belongs to ApiEndpoint

ApiEndpoint

Documentation for a single REST API endpoint including method, path, parameters, and request/response bodies

File: packages/analyzer/src/types.ts

Fields

FieldTypeDescriptionConstraints
methodstringHTTP method (GET, POST, PUT, DELETE, etc.)-
pathstringURL path or route pattern-
descriptionstringEndpoint purpose and behavior-
parametersParameterDoc[]Parameters expected by the endpoint-
requestBodystringRequest body structure or schemaoptional
responseBodystringResponse body structure or schemaoptional
authenticationstringAuthentication requirementsoptional

Relationships

  • contains ParameterDoc[]
  • belongs to AnalysisResult

PropDoc

Documentation for a single prop/parameter of a UI component

File: packages/analyzer/src/types.ts

Fields

FieldTypeDescriptionConstraints
namestringProp name-
typestringProp data type or TypeScript type-
requiredbooleanWhether the prop is required-
defaultValuestringDefault value if anyoptional
descriptionstringProp purpose and usage-

Relationships

  • belongs to ComponentDoc

ComponentDoc

Documentation for a reusable UI component including props, usage examples, and category

File: packages/analyzer/src/types.ts

Fields

FieldTypeDescriptionConstraints
namestringComponent name-
descriptionstringComponent purpose and behavior-
filePathstringSource file location-
propsPropDoc[]Component props-
usagestringExample usage code-
categorystringComponent category (UI, Layout, etc.)optional

Relationships

  • contains PropDoc[]
  • belongs to AnalysisResult

FieldDoc

Documentation for a single field within a data model

File: packages/analyzer/src/types.ts

Fields

FieldTypeDescriptionConstraints
namestringField name-
typestringField data type-
descriptionstringField purpose and constraints-
constraintsstring[]Validation constraints (nullable, unique, etc.)optional

Relationships

  • belongs to DataModelDoc

DataModelDoc

Complete documentation for a data model/entity including fields and relationships to other models

File: packages/analyzer/src/types.ts

Fields

FieldTypeDescriptionConstraints
namestringModel/entity name-
descriptionstringModel purpose and usage-
filePathstringSource file location-
fieldsFieldDoc[]Fields and properties of the model-
relationshipsstring[]Relationships to other models-

Relationships

  • contains FieldDoc[]
  • belongs to AnalysisResult

Feature

A user-facing or system feature within the application

File: packages/analyzer/src/types.ts

Fields

FieldTypeDescriptionConstraints
namestringFeature name-
descriptionstringFeature description and user value-
categorystringFeature category or domain-
relatedFilesstring[]Implementation files for this feature-

Relationships

  • belongs to FeaturesAnalysis

UseCase

User scenario or workflow demonstrating feature usage

File: packages/analyzer/src/types.ts

Fields

FieldTypeDescriptionConstraints
titlestringUse case title-
descriptionstringScenario description-
involvedFeaturesstring[]Features involved in this use case-

Relationships

  • belongs to FeaturesAnalysis

FeaturesAnalysis

Analysis of user-facing features and use cases demonstrating the application's capabilities

File: packages/analyzer/src/types.ts

Fields

FieldTypeDescriptionConstraints
taglinestringOne-line summary of application capabilities-
targetAudiencestringIntended end-users-
featuresFeature[]List of features-
useCasesUseCase[]List of usage scenarios-

Relationships

  • contains Feature[], UseCase[]
  • belongs to AnalysisResult

GettingStartedGuide

Quick-start guide covering installation, setup, and first steps for new users

File: packages/analyzer/src/types.ts

Fields

FieldTypeDescriptionConstraints
prerequisitesstring[]Software and knowledge prerequisites-
installationstringInstallation instructions-
quickStartstringFirst steps to run the application-
configurationstringConfiguration instructionsoptional
examplesstringUsage examplesoptional

Relationships

  • belongs to AnalysisResult

AnalysisResult

Complete analysis output combining static parsing, architectural analysis, and detailed documentation of APIs, components, and data models

File: packages/analyzer/src/types.ts

Fields

FieldTypeDescriptionConstraints
repoNamestringRepository name-
repoUrlstringRepository URL-
staticAnalysisStaticAnalysisStatic code parsing results-
architectureArchitectureOverviewArchitecture analysis-
featuresFeaturesAnalysis | nullFeatures analysis (nullable for non-feature-rich projects)-
apiEndpointsApiEndpoint[]Documented API endpoints-
componentsComponentDoc[]Documented UI components-
dataModelsDataModelDoc[]Documented data models-
gettingStartedGettingStartedGuideGetting started guide-
diagramsMermaidDiagram[]All diagrams from all analysis stages-

Relationships

  • contains StaticAnalysis, ArchitectureOverview, FeaturesAnalysis, ApiEndpoint[], ComponentDoc[], DataModelDoc[], GettingStartedGuide, MermaidDiagram[]

ApiContract

Specification of an API contract between a consumer repository and provider repository

File: packages/analyzer/src/types.ts

Fields

FieldTypeDescriptionConstraints
consumerRepostringConsumer repository identifier-
providerRepostringProvider repository identifier-
endpointstringAPI endpoint path-
methodstringHTTP method-
descriptionstringContract description-

Relationships

  • belongs to CrossRepoAnalysis

RepoRelationship

Describes how two repositories relate to and depend on each other

File: packages/analyzer/src/types.ts

Fields

FieldTypeDescriptionConstraints
fromstringSource repository-
tostringTarget repository-
relationshipTypestringType of relationship (depends-on, provides-api, etc.)-
descriptionstringRelationship description-

Relationships

  • belongs to CrossRepoAnalysis

IntegrationPattern

Recurring pattern in how multiple repositories integrate and interact

File: packages/analyzer/src/types.ts

Fields

FieldTypeDescriptionConstraints
reposstring[]Involved repository identifiers-
patternstringPattern name-
descriptionstringPattern description-
directionstringDirection of data/control flow-

Relationships

  • belongs to CrossRepoAnalysis

CrossRepoAnalysis

Analysis of relationships, contracts, and integration patterns across multiple repositories in a monorepo or distributed system

File: packages/analyzer/src/types.ts

Fields

FieldTypeDescriptionConstraints
summarystringOverview of cross-repository relationships-
sharedDependenciesstring[]Dependencies shared across repositories-
techStackOverlapstring[]Common technologies used-
apiContractsApiContract[]API contracts between repos-
repoRelationshipsRepoRelationship[]Repository dependencies-
integrationPatternsIntegrationPattern[]Integration patterns-
dataFlowAcrossServicesstringData flow description-
sharedConventionsstring[]Shared coding conventions-
diagramsMermaidDiagram[]Diagrams showing relationships-

Relationships

  • contains ApiContract[], RepoRelationship[], IntegrationPattern[], MermaidDiagram[]

AnalyzerOptions

Configuration options for the code analyzer pipeline

File: packages/analyzer/src/types.ts

Fields

FieldTypeDescriptionConstraints
repoPathstringLocal path to the repository-
repoNamestringRepository name-
repoUrlstringRepository URL-
apiKeystringAnthropic API key for Claude-
modelstringClaude model to useoptional
skipInitbooleanSkip CLAUDE.md generationoptional
onProgress(stage: string, message: string) => voidProgress callbackoptional
onAgentMessage(text: string) => voidAgent message callbackoptional

Relationships

  • used by analyzeRepository()

AgentQueryOptions

Configuration for running an AI agent query with Claude Agent SDK

File: packages/analyzer/src/agent-sdk.ts

Fields

FieldTypeDescriptionConstraints
systemPromptstringSystem prompt for agent behavior-
promptstringMain query/task prompt-
cwdstringWorking directory for agent file access-
apiKeystringAnthropic API key-
modelstringClaude model versionoptional
outputSchemaRecord<string, unknown>JSON schema for structured outputoptional
allowedToolsstring[]Tools agent can useoptional
maxTurnsnumberMaximum agent turnsoptional
onAgentMessage(text: string) => voidMessage callbackoptional
retryOnMaxTurnsbooleanAuto-retry if max turns exceededoptional

Relationships

  • used by runAgent()

AgentError

Error type thrown when an AI agent query fails

File: packages/analyzer/src/agent-sdk.ts

Fields

FieldTypeDescriptionConstraints
name"AgentError"Error type identifier-
messagestringError message-
subtypestringError subtype (error_max_turns, no_result, etc.)-
numTurnsnumberNumber of agent turns executedoptional

Relationships

  • thrown by runAgent()

IncrementalOptions

Options for incremental analysis that reuses previous analysis results

File: packages/analyzer/src/pipeline.ts

Fields

FieldTypeDescriptionConstraints
repoPathstringLocal path to the repository-
repoNamestringRepository name-
repoUrlstringRepository URL-
apiKeystringAnthropic API key-
previousResultAnalysisResultPrevious analysis to diff against-
previousCommitShastringPrevious commit SHA for change detection-
modelstringClaude model to useoptional
skipInitbooleanSkip CLAUDE.md generationoptional
onProgress(stage: string, message: string) => voidProgress callbackoptional
onAgentMessage(text: string) => voidAgent message callbackoptional

Relationships

  • extends AnalyzerOptions
  • contains AnalysisResult

On this page