[**@s4ai/core Documentation v0.3.23**](../../../README.md)

***

[@s4ai/core Documentation](../../../modules.md) / [intelligence/multi-repo-learner](../README.md) / MultiRepoLearner

# Class: MultiRepoLearner

Defined in: intelligence/multi-repo-learner.js:11

## Constructors

### Constructor

> **new MultiRepoLearner**(`config?`): `MultiRepoLearner`

Defined in: intelligence/multi-repo-learner.js:12

#### Parameters

##### config?

#### Returns

`MultiRepoLearner`

## Properties

### config

> **config**: `object`

Defined in: intelligence/multi-repo-learner.js:13

#### gitHubToken

> **gitHubToken**: `any`

#### maxRepos

> **maxRepos**: `any`

#### patternThreshold

> **patternThreshold**: `any`

***

### discoveredRepos

> **discoveredRepos**: `any`[]

Defined in: intelligence/multi-repo-learner.js:19

***

### insightCache

> **insightCache**: `Map`\<`any`, `any`\>

Defined in: intelligence/multi-repo-learner.js:22

***

### learningGraph

> **learningGraph**: `Map`\<`any`, `any`\>

Defined in: intelligence/multi-repo-learner.js:21

***

### patterns

> **patterns**: `Map`\<`any`, `any`\>

Defined in: intelligence/multi-repo-learner.js:20

## Methods

### buildLearningGraph()

> **buildLearningGraph**(): `Map`\<`any`, `any`\> \| \{ `edges`: `never`[]; `nodes`: `never`[]; \}

Defined in: intelligence/multi-repo-learner.js:139

Build learning graph: nodes = repos, edges = pattern similarity

#### Returns

`Map`\<`any`, `any`\> \| \{ `edges`: `never`[]; `nodes`: `never`[]; \}

***

### calculatePatternSimilarity()

> **calculatePatternSimilarity**(`patternsA`, `patternsB`): `number`

Defined in: intelligence/multi-repo-learner.js:189

Calculate pattern similarity between two repos

#### Parameters

##### patternsA

`any`

##### patternsB

`any`

#### Returns

`number`

***

### discoverRepositories()

> **discoverRepositories**(`criteria?`): `Promise`\<`any`[]\>

Defined in: intelligence/multi-repo-learner.js:30

Discover repositories based on criteria

#### Parameters

##### criteria?

###### language

`string` = `'javascript'`

###### topic

`string` = `'ai'`

#### Returns

`Promise`\<`any`[]\>

***

### extractPatterns()

> **extractPatterns**(`repo`): `Promise`\<\{ \}\>

Defined in: intelligence/multi-repo-learner.js:56

Extract patterns from repository structure and code

#### Parameters

##### repo

`any`

#### Returns

`Promise`\<\{ \}\>

***

### findTransferablePatterns()

> **findTransferablePatterns**(): `Promise`\<`object`[]\>

Defined in: intelligence/multi-repo-learner.js:98

Find transferable patterns across repos

#### Returns

`Promise`\<`object`[]\>

***

### generateInsights()

> **generateInsights**(): `Promise`\<\{ \}\>

Defined in: intelligence/multi-repo-learner.js:205

Generate insights from cross-repo learning

#### Returns

`Promise`\<\{ \}\>

***

### getGraphVisualization()

> **getGraphVisualization**(): `Map`\<`any`, `any`\>

Defined in: intelligence/multi-repo-learner.js:303

Get learning graph visualization

#### Returns

`Map`\<`any`, `any`\>

***

### getInsights()

> **getInsights**(): `any`

Defined in: intelligence/multi-repo-learner.js:310

Get cached insights

#### Returns

`any`

***

### runLearningCycle()

> **runLearningCycle**(`criteria`): `Promise`\<\{ `graphEdges`: `any`; `insights`: \{ \}; `patternsFound`: `number`; `reposAnalyzed`: `number`; \}\>

Defined in: intelligence/multi-repo-learner.js:265

Run full learning cycle

#### Parameters

##### criteria

`any`

#### Returns

`Promise`\<\{ `graphEdges`: `any`; `insights`: \{ \}; `patternsFound`: `number`; `reposAnalyzed`: `number`; \}\>
