repoweaver
Version:
A GitHub App that skillfully weaves multiple templates together to create and update repositories with intelligent merge strategies
33 lines • 1.38 kB
TypeScript
import { TemplateRepository } from './types';
export interface GitHubFile {
name: string;
path: string;
content: string;
type: 'file' | 'dir';
}
export interface GitHubRepository {
id?: number;
owner: string;
name: string;
fullName: string;
defaultBranch: string;
isTemplate: boolean;
}
export declare class GitHubClient {
private octokit;
private installationId;
constructor(appId: string, privateKey: string, installationId: number);
createRepository(name: string, description?: string, isPrivate?: boolean): Promise<GitHubRepository>;
getRepository(owner: string, name: string): Promise<GitHubRepository>;
getRepositoryContents(owner: string, repo: string, path?: string, ref?: string): Promise<GitHubFile[]>;
createOrUpdateFile(owner: string, repo: string, path: string, content: string, message: string, branch?: string): Promise<void>;
createBranch(owner: string, repo: string, branchName: string, fromBranch?: string): Promise<void>;
createPullRequest(owner: string, repo: string, title: string, body: string, head: string, base: string): Promise<number>;
parseRepositoryUrl(url: string): Promise<{
owner: string;
repo: string;
branch?: string;
}>;
getTemplateFiles(template: TemplateRepository): Promise<GitHubFile[]>;
}
//# sourceMappingURL=github-client.d.ts.map