# FileSystemProvider

**Kind:** Class

**Source:** [`atloria-monorepo/apps/cli/src/providers/filesystem.provider.ts`](https://github.com/sherkety/atloria/blob/main/atloria-monorepo/apps/cli/src/providers/filesystem.provider.ts#L19)

File system data provider
Reads from local JSON files in outputDir

**Implements:** `DataProvider`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `initialize` | `initialize(config: DataProviderConfig)` | `Promise<void>` |
| `getProjectMetadata` | `getProjectMetadata()` | `Promise<ProjectMetadata>` |
| `getEntities` | `getEntities()` | `Promise<Entity[]>` |
| `getEntitiesByType` | `getEntitiesByType(type: string)` | `Promise<Entity[]>` |
| `getEntityById` | `getEntityById(id: string)` | `Promise<Entity | null>` |
| `getRelationships` | `getRelationships()` | `Promise<Relationship[]>` |
| `getRelationshipsForEntity` | `getRelationshipsForEntity(entityId: string)` | `Promise<Relationship[]>` |
| `saveParseResults` | `saveParseResults(results: ParseResult[], project: DetectedProject)` | `Promise<void>` |
| `destroy` | `destroy()` | `Promise<void>` |

## Where it refuses work

- `FileSystemProvider` stops the work with `Error` when `!this.metadata` — “No metadata loaded. Run parse first or check outputDir.”.

## When something fails

- `FileSystemProvider` handles failure in 1 place: it discards it silently in all 1.
