Every Git operation is an API call

Create repositories, commit files, apply diffs, create ephemeral branches, listen to webhooks, and stream repo activity. Your product, pipeline, or agent uses the API while developers work from the terminal — against the same repositories.

SDKs

First-class SDKs for TypeScript, Python, and Go

Typed clients with builder patterns for multi-file commits, automatic pagination, webhook validation, and structured error handling. No HTTP boilerplate.

TypeScript
import { GitForge } from "@gitforge/sdk";

const gf = new GitForge({ token: "gf_..." });

// Create a repo
const repo = await gf.repos.create({
  name: "my-repo",
  visibility: "private",
});

// Commit files without a git client
await gf.commits
  .create(repo.id, {
    branch: "main",
    message: "initial commit",
    authorName: "CI Bot",
    authorEmail: "[email protected]",
  })
  .addFile("README.md", "# My Project")
  .addFile("config.json", '{ "version": 1 }')
  .send();
Python
from gitforge import GitForge

client = GitForge(token="gf_...")

# Create a repo
repo = await client.repos.create(
    name="my-repo",
    visibility="private",
)

# Commit files without a git client
await client.repo(repo.id).commits \
    .create(
        branch="main",
        message="initial commit",
        author_name="CI Bot",
        author_email="[email protected]",
    ) \
    .add_file("README.md", "# My Project") \
    .add_file("config.json", '{ "version": 1 }') \
    .send()
Go
client := gitforge.New("gf_...")

// Create a repo
repo, _ := client.Repos.Create(ctx, gitforge.CreateRepoOpts{
    Name:       "my-repo",
    Visibility: "private",
})

// Commit files without a git client
client.Commits.Create(ctx, repo.ID, gitforge.CreateCommitOpts{
    Branch:  "main",
    Message: "initial commit",
    Files: []gitforge.CommitFile{
        {Path: "README.md", Content: "# My Project"},
        {Path: "config.json", Content: `{ "version": 1 }`},
    },
})
Coverage

Full resource coverage

Repositories

Create
List
Get
Update
Delete

Branches

List
Create
Delete
Promote

Commits

Create (builder)
List
Get

Files

Get blob
Get tree

Tags

List
Create
Delete

Webhooks

Create
List
Update
Delete
Test

Search

Code search

Tokens

Create
List
Revoke

Mirrors

List
Create
Sync
Delete
Use Cases

Built for automation, not just browsing

Internal developer platforms

Scaffold new repos with templates, enforce standards, and automate onboarding — all through the API.

CI/CD pipelines

Create branches, commit build artifacts, trigger webhooks, and manage releases programmatically.

AI coding agents

MCP integration lets agents create branches, commit code, and open PRs without shell access to git.

Generated code & artifacts

Commit generated documentation, config files, or build outputs directly via API without cloning.

Start building on Git

Create a free account, generate an API token, and make your first API call in under a minute.

Programmable Git API — Create Repos, Commit Files, Branch by API | GitForge