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