diff --git a/apps/canvas/front/src/lib/github.ts b/apps/canvas/front/src/lib/github.ts
index 8537671..b1732a0 100644
--- a/apps/canvas/front/src/lib/github.ts
+++ b/apps/canvas/front/src/lib/github.ts
@@ -1,36 +1,36 @@
 export interface GitHubRepository {
-    id: number;
-    name: string;
-    full_name: string;
-    html_url: string;
-    ssh_url: string;
-    description: string | null;
-    private: boolean;
-    default_branch: string;
+	id: number;
+	name: string;
+	full_name: string;
+	html_url: string;
+	ssh_url: string;
+	description: string | null;
+	private: boolean;
+	default_branch: string;
 }
 
 export interface GitHubService {
-    /**
-     * Fetches a list of repositories for the authenticated user
-     * @returns Promise resolving to an array of GitHub repositories
-     */
-    getRepositories(): Promise<GitHubRepository[]>;
+	/**
+	 * Fetches a list of repositories for the authenticated user
+	 * @returns Promise resolving to an array of GitHub repositories
+	 */
+	getRepositories(): Promise<GitHubRepository[]>;
 }
 
 export class GitHubServiceImpl implements GitHubService {
-    private projectId: string;
+	private projectId: string;
 
-    constructor(projectId: string) {
-        this.projectId = projectId;
-    }
+	constructor(projectId: string) {
+		this.projectId = projectId;
+	}
 
-    async getRepositories(): Promise<GitHubRepository[]> {
-        const response = await fetch(`/api/project/${this.projectId}/repos/github`);
+	async getRepositories(): Promise<GitHubRepository[]> {
+		const response = await fetch(`/api/project/${this.projectId}/repos/github`);
 
-        if (!response.ok) {
-            throw new Error(`Failed to fetch repositories: ${response.statusText}`);
-        }
+		if (!response.ok) {
+			throw new Error(`Failed to fetch repositories: ${response.statusText}`);
+		}
 
-        return response.json();
-    }
-} 
\ No newline at end of file
+		return response.json();
+	}
+}
