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

***

[@s4ai/core Documentation](../../../modules.md) / [@s4ai/core](../README.md) / CrossRepoLearner

# Class: CrossRepoLearner

Defined in: intelligence/cross-repo-learner.js:162

## Extends

- [`Revenue`](../business/variables/Revenue.md)

## Constructors

### Constructor

> **new CrossRepoLearner**(`githubToken`): `CrossRepositoryLearner`

Defined in: intelligence/cross-repo-learner.js:163

#### Parameters

##### githubToken

`any`

#### Returns

`CrossRepositoryLearner`

#### Overrides

`EventEmitter.constructor`

## Properties

### analyzer

> **analyzer**: [`RepositoryAnalyzer`](../../../intelligence/cross-repo-learner/classes/RepositoryAnalyzer.md)

Defined in: intelligence/cross-repo-learner.js:165

***

### knowledgeGraph

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

Defined in: intelligence/cross-repo-learner.js:167

***

### learningHistory

> **learningHistory**: `any`[]

Defined in: intelligence/cross-repo-learner.js:166

***

### maxReposToLearnFrom

> **maxReposToLearnFrom**: `number`

Defined in: intelligence/cross-repo-learner.js:168

***

### updateInterval

> **updateInterval**: `number` \| `null`

Defined in: intelligence/cross-repo-learner.js:169

## Methods

### applyLearnedPatterns()

> **applyLearnedPatterns**(`targetProject`): `object`

Defined in: intelligence/cross-repo-learner.js:208

#### Parameters

##### targetProject

`any`

#### Returns

`object`

##### appliedTo

> **appliedTo**: `any` = `targetProject`

##### recommendations

> **recommendations**: `object`

###### recommendations.architecture

> **architecture**: `string` = `insights.commonPatterns.mostPopularArchitecture`

###### recommendations.cicd

> **cicd**: `string` = `insights.commonPatterns.recommendedCICDPlatform`

###### recommendations.documentation

> **documentation**: `string`[] = `insights.commonPatterns.documentationBestPractices`

###### recommendations.security

> **security**: `string`[] = `insights.commonPatterns.essentialSecurityMeasures`

###### recommendations.testing

> **testing**: `string` = `insights.commonPatterns.recommendedTestingStrategy`

##### timestamp

> **timestamp**: `number`

***

### getSummary()

> **getSummary**(): `object`

Defined in: intelligence/cross-repo-learner.js:243

#### Returns

`object`

##### applicableInsights

> **applicableInsights**: `number`

##### bestPractices

> **bestPractices**: `any` = `insights.bestPractices`

##### commonPatterns

> **commonPatterns**: `object` = `insights.commonPatterns`

###### commonPatterns.documentationBestPractices

> **documentationBestPractices**: `string`[]

###### commonPatterns.essentialSecurityMeasures

> **essentialSecurityMeasures**: `string`[]

###### commonPatterns.mostPopularArchitecture

> **mostPopularArchitecture**: `string` = `'modular'`

###### commonPatterns.recommendedCICDPlatform

> **recommendedCICDPlatform**: `string` = `'github-actions'`

###### commonPatterns.recommendedTestingStrategy

> **recommendedTestingStrategy**: `string` = `'unit + integration + e2e'`

##### lastUpdate

> **lastUpdate**: `number`

##### reposAnalyzed

> **reposAnalyzed**: `number` = `insights.totalReposAnalyzed`

***

### identifyInnovations()

> **identifyInnovations**(`keywords`): `object`[]

Defined in: intelligence/cross-repo-learner.js:224

#### Parameters

##### keywords

`any`

#### Returns

`object`[]

***

### learnFromRepositories()

> **learnFromRepositories**(`repoList`): `Promise`\<`void`\>

Defined in: intelligence/cross-repo-learner.js:172

#### Parameters

##### repoList

`any`

#### Returns

`Promise`\<`void`\>

***

### learnFromTrending()

> **learnFromTrending**(): `Promise`\<`void`\>

Defined in: intelligence/cross-repo-learner.js:193

#### Returns

`Promise`\<`void`\>

***

### startContinuousLearning()

> **startContinuousLearning**(`interval?`): `void`

Defined in: intelligence/cross-repo-learner.js:255

#### Parameters

##### interval?

`number` = `3600000`

#### Returns

`void`

***

### stopContinuousLearning()

> **stopContinuousLearning**(): `void`

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

#### Returns

`void`
