GitRoot

Craft your forge // Build your project // Grow your community freely
 1// SPDX-FileCopyrightText: 2025 Romain Maneschi <romain@gitroot.dev>
 2//
 3// SPDX-License-Identifier: MIT
 4
 5import { Iterator } from "./iterator";
 6import { InitKind, Report } from "./model";
 7import { Commit } from "./model/commit";
 8import { File } from "./model/file";
 9
10export interface Plugin {
11  init(repoName: string, initKind: InitKind, conf: string): void;
12  startCommit(commit: Commit): void;
13  addFile(file: File): void;
14  modFile(file: File): void;
15  delFile(file: File): void;
16  endCommit(commit: Commit): void;
17  finish(): void;
18}
19
20export interface PluginReporter {
21  report(report: Iterator<Report>): void;
22}