Skip to content

createProject

createProject(input, repoRoot, ghRunner?, _identityCheck?): Promise<{ entry: RepoEntry; ok: true; warning?: string; } | { error: string; ok: false; }>

Defined in: src/repos.ts:453

Bootstrap a new git project at <repoRoot>/<input.name>.

Returns { ok: true, entry } on full success, { ok: true, entry, warning } when local succeeded but GitHub failed (partial success), or { ok: false, error } when the local setup itself failed.

Pre-commit failures clean up the half-created directory. Remote failures never clean up — the local repo is kept.

boolean

string

string

string

"private" | "public"

string

GhRunner

Injectable async runner for gh CLI calls (default: promisified execFile + 60s timeout).

() => boolean

Injectable identity checker; defaults to gitIdentityPresent(). Exposed for tests because Bun’s process.env mutations don’t propagate to child processes in the same way Node does.

Promise<{ entry: RepoEntry; ok: true; warning?: string; } | { error: string; ok: false; }>