Create Repository

Creates a new repository for the authenticated user

Usage #

// Import the typed helper
import { createRepo } from "@hotglue/sdk/github";
const result = await client.execute({
...createRepo({
name: string,
description: string,
homepage: string,
// ...
}),
userId: "user_123",
});
// result is typed as CreateRepoOutput
const result = await client.execute({
integration: "github",
tool: "create_repo",
userId: "user_123",
input: {
name: string,
description: string,
homepage: string,
// ...
},
});
// The agent will automatically use this tool when needed
const agent = new Agent({
tools: () => hotglueTools({
integrations: ["github"],
userId: "user_123",
}),
});
await agent.generate("run the Create Repository tool");

Required Permissions #

repo

Input Schema #

name string required

Repository name

description string

Short description

homepage string

URL with more info

private bool

Whether the repository is private

default: false
visibility string

Repository visibility

values: public, private
has_issues bool

Enable issues

default: true
has_projects bool

Enable projects

default: true
has_wiki bool

Enable wiki

default: true
has_discussions bool

Enable discussions

default: false
auto_init bool

Create initial commit with README

default: false
gitignore_template string

Gitignore template name

license_template string

License template keyword (e.g., mit, apache-2.0)

Output Schema #

id int required
name string required
full_name string required
html_url string required
clone_url string
ssh_url string

This tool calls: #

POST https://api.github.com/user/repos