Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions apps/chat/app/composables/useModels.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
export function useModels() {
const models = [
{ label: 'GPT-5 Nano', value: 'openai/gpt-5-nano', icon: 'i-simple-icons-openai' },
{ label: 'Claude Haiku 4.5', value: 'anthropic/claude-haiku-4.5', icon: 'i-simple-icons-anthropic' },
{ label: 'Claude Opus 4.6', value: 'anthropic/claude-opus-4.6', icon: 'i-simple-icons-anthropic' },
{ label: 'Claude Sonnet 4.6', value: 'anthropic/claude-sonnet-4.6', icon: 'i-simple-icons-anthropic' },
{ label: 'Gemini 3 Flash', value: 'google/gemini-3-flash', icon: 'i-simple-icons-google' }
]

Expand Down
4 changes: 2 additions & 2 deletions apps/chat/package.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"name": "nuxt-ui-template-chat",
"name": "@github-tools/chat",
"private": true,
"type": "module",
"scripts": {
Expand Down Expand Up @@ -44,7 +44,7 @@
"@nuxt/eslint": "^1.15.1",
"@types/node": "^24.10.13",
"drizzle-kit": "^0.31.9",
"eslint": "^10.0.2",
"eslint": "^9.19.0",
"typescript": "^5.9.3",
"vue-tsc": "^3.2.5"
},
Expand Down
6 changes: 5 additions & 1 deletion apps/docs/app/components/OgImage/OgImageDocs.vue
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,11 @@ const description = computed(() => (props.description || '').slice(0, 200))
<div style="position: absolute; top: -300px; right: -200px; width: 1200px; height: 900px; background: radial-gradient(ellipse at center, rgba(255, 255, 255, 0.025) 0%, transparent 50%);" />

<div style="position: absolute; top: 60px; left: 80px; display: flex; align-items: center;">
<svg width="32" height="32" viewBox="0 0 24 24" fill="#3f3f46">
<svg
width="32"
height="32"
viewBox="0 0 24 24"
fill="#3f3f46">
<path d="M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0024 12c0-6.63-5.37-12-12-12z" />
</svg>
<span style="color: #3f3f46; font-size: 24px; font-weight: 600; margin-left: 14px;">GitHub Tools</span>
Expand Down
35 changes: 0 additions & 35 deletions apps/docs/app/components/OgImage/OgImageLanding.vue

This file was deleted.

2 changes: 1 addition & 1 deletion apps/docs/app/components/app/AppHeader.vue
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ const appConfig = useAppConfig()
const site = useSiteConfig()

const { isEnabled: isAssistantEnabled } = useAssistant()
const { localePath, isEnabled, locales } = useDocusI18n()
const { localePath } = useDocusI18n()

const links = computed(() => appConfig.github && appConfig.github.url
? [
Expand Down
9 changes: 9 additions & 0 deletions apps/docs/eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
// @ts-check
import withNuxt from './.nuxt/eslint.config.mjs'

export default withNuxt({
rules: {
'vue/multi-word-component-names': 'off',
'vue/max-attributes-per-line': ['error', { singleline: 3 }]
}
})
1 change: 1 addition & 0 deletions apps/docs/nuxt.config.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
export default defineNuxtConfig({
extends: ['docus'],
modules: ['@nuxt/eslint'],
css: ['~/assets/css/main.css'],
colorMode: {
preference: 'dark',
Expand Down
5 changes: 5 additions & 0 deletions apps/docs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
"build": "nuxt build",
"generate": "nuxt generate",
"preview": "nuxt preview",
"postinstall": "nuxt prepare",
"lint": "eslint .",
"lint:fix": "eslint . --fix"
},
Expand All @@ -19,5 +20,9 @@
"zod": "^4.3.6",
"zod-to-json-schema": "^3.25.1"
},
"devDependencies": {
"@nuxt/eslint": "^1.15.1",
"eslint": "^9.19.0"
},
"packageManager": "pnpm@10.30.2"
}
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"build": "turbo run build",
"build:docs": "pnpm --filter @github-tools/docs build",
"build:packages": "pnpm --filter @github-tools/sdk build",
"dev": "turbo run dev",
"dev": "turbo run --filter=@github-tools/chat dev",
"docs:dev": "pnpm --filter @github-tools/docs dev",
"docs:build": "pnpm --filter @github-tools/docs build",
"docs:generate": "pnpm --filter @github-tools/docs generate",
Expand Down
8 changes: 8 additions & 0 deletions packages/github-tools/eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
import tseslint from 'typescript-eslint'

export default tseslint.config(
tseslint.configs.recommended,
{
ignores: ['dist'],
},
)
9 changes: 6 additions & 3 deletions packages/github-tools/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,8 @@
"scripts": {
"build": "tsdown",
"dev": "tsdown --watch",
"lint": "tsc --noEmit",
"lint": "eslint .",
"lint:fix": "eslint . --fix",
"typecheck": "tsc --noEmit"
},
"keywords": [
Expand All @@ -41,16 +42,18 @@
],
"license": "MIT",
"dependencies": {
"@octokit/rest": "^22.0.1"
"octokit": "^5.0.5"
},
"peerDependencies": {
"ai": "^6.0.97",
"zod": "^4.3.6"
},
"devDependencies": {
"@types/node": "^24.10.13",
"eslint": "^9.19.0",
"tsdown": "^0.20.3",
"typescript": "^5.9.3"
"typescript": "^5.9.3",
"typescript-eslint": "^8.24.0"
},
"packageManager": "pnpm@10.30.2",
"publishConfig": {
Expand Down
2 changes: 1 addition & 1 deletion packages/github-tools/src/client.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Octokit } from '@octokit/rest'
import { Octokit } from 'octokit'

export function createOctokit(token: string): Octokit {
return new Octokit({ auth: token })
Expand Down
4 changes: 2 additions & 2 deletions packages/github-tools/src/tools/commits.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ export const listCommits = (octokit: Octokit) =>
perPage: z.number().optional().default(30).describe('Number of results to return (max 100)'),
}),
execute: async ({ owner, repo, path, sha, author, since, until, perPage }) => {
const { data } = await octokit.repos.listCommits({
const { data } = await octokit.rest.repos.listCommits({
owner,
repo,
path,
Expand Down Expand Up @@ -46,7 +46,7 @@ export const getCommit = (octokit: Octokit) =>
ref: z.string().describe('Commit SHA, branch name, or tag'),
}),
execute: async ({ owner, repo, ref }) => {
const { data } = await octokit.repos.getCommit({ owner, repo, ref })
const { data } = await octokit.rest.repos.getCommit({ owner, repo, ref })
return {
sha: data.sha,
message: data.commit.message,
Expand Down
10 changes: 5 additions & 5 deletions packages/github-tools/src/tools/issues.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ export const listIssues = (octokit: Octokit) =>
perPage: z.number().optional().default(30).describe('Number of results to return (max 100)'),
}),
execute: async ({ owner, repo, state, labels, perPage }) => {
const { data } = await octokit.issues.listForRepo({
const { data } = await octokit.rest.issues.listForRepo({
owner,
repo,
state,
Expand Down Expand Up @@ -44,7 +44,7 @@ export const getIssue = (octokit: Octokit) =>
issueNumber: z.number().describe('Issue number'),
}),
execute: async ({ owner, repo, issueNumber }) => {
const { data } = await octokit.issues.get({ owner, repo, issue_number: issueNumber })
const { data } = await octokit.rest.issues.get({ owner, repo, issue_number: issueNumber })
return {
number: data.number,
title: data.title,
Expand Down Expand Up @@ -75,7 +75,7 @@ export const createIssue = (octokit: Octokit, { needsApproval = true }: ToolOpti
assignees: z.array(z.string()).optional().describe('GitHub usernames to assign to the issue'),
}),
execute: async ({ owner, repo, title, body, labels, assignees }) => {
const { data } = await octokit.issues.create({ owner, repo, title, body, labels, assignees })
const { data } = await octokit.rest.issues.create({ owner, repo, title, body, labels, assignees })
return {
number: data.number,
title: data.title,
Expand All @@ -97,7 +97,7 @@ export const addIssueComment = (octokit: Octokit, { needsApproval = true }: Tool
body: z.string().describe('Comment text (supports Markdown)'),
}),
execute: async ({ owner, repo, issueNumber, body }) => {
const { data } = await octokit.issues.createComment({ owner, repo, issue_number: issueNumber, body })
const { data } = await octokit.rest.issues.createComment({ owner, repo, issue_number: issueNumber, body })
return {
id: data.id,
url: data.html_url,
Expand All @@ -119,7 +119,7 @@ export const closeIssue = (octokit: Octokit, { needsApproval = true }: ToolOptio
stateReason: z.enum(['completed', 'not_planned']).optional().default('completed').describe('Reason for closing'),
}),
execute: async ({ owner, repo, issueNumber, stateReason }) => {
const { data } = await octokit.issues.update({
const { data } = await octokit.rest.issues.update({
owner,
repo,
issue_number: issueNumber,
Expand Down
10 changes: 5 additions & 5 deletions packages/github-tools/src/tools/pull-requests.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ export const listPullRequests = (octokit: Octokit) =>
perPage: z.number().optional().default(30).describe('Number of results to return (max 100)'),
}),
execute: async ({ owner, repo, state, perPage }) => {
const { data } = await octokit.pulls.list({ owner, repo, state, per_page: perPage })
const { data } = await octokit.rest.pulls.list({ owner, repo, state, per_page: perPage })
return data.map(pr => ({
number: pr.number,
title: pr.title,
Expand All @@ -37,7 +37,7 @@ export const getPullRequest = (octokit: Octokit) =>
pullNumber: z.number().describe('Pull request number'),
}),
execute: async ({ owner, repo, pullNumber }) => {
const { data } = await octokit.pulls.get({ owner, repo, pull_number: pullNumber })
const { data } = await octokit.rest.pulls.get({ owner, repo, pull_number: pullNumber })
return {
number: data.number,
title: data.title,
Expand Down Expand Up @@ -74,7 +74,7 @@ export const createPullRequest = (octokit: Octokit, { needsApproval = true }: To
draft: z.boolean().optional().default(false).describe('Create as draft pull request'),
}),
execute: async ({ owner, repo, title, body, head, base, draft }) => {
const { data } = await octokit.pulls.create({ owner, repo, title, body, head, base, draft })
const { data } = await octokit.rest.pulls.create({ owner, repo, title, body, head, base, draft })
return {
number: data.number,
title: data.title,
Expand All @@ -100,7 +100,7 @@ export const mergePullRequest = (octokit: Octokit, { needsApproval = true }: Too
mergeMethod: z.enum(['merge', 'squash', 'rebase']).optional().default('merge').describe('Merge strategy'),
}),
execute: async ({ owner, repo, pullNumber, commitTitle, commitMessage, mergeMethod }) => {
const { data } = await octokit.pulls.merge({
const { data } = await octokit.rest.pulls.merge({
owner,
repo,
pull_number: pullNumber,
Expand All @@ -127,7 +127,7 @@ export const addPullRequestComment = (octokit: Octokit, { needsApproval = true }
body: z.string().describe('Comment text (supports Markdown)'),
}),
execute: async ({ owner, repo, pullNumber, body }) => {
const { data } = await octokit.issues.createComment({ owner, repo, issue_number: pullNumber, body })
const { data } = await octokit.rest.issues.createComment({ owner, repo, issue_number: pullNumber, body })
return {
id: data.id,
url: data.html_url,
Expand Down
8 changes: 4 additions & 4 deletions packages/github-tools/src/tools/repository.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ export const getRepository = (octokit: Octokit) =>
repo: z.string().describe('Repository name'),
}),
execute: async ({ owner, repo }) => {
const { data } = await octokit.repos.get({ owner, repo })
const { data } = await octokit.rest.repos.get({ owner, repo })
return {
name: data.name,
fullName: data.full_name,
Expand All @@ -37,7 +37,7 @@ export const listBranches = (octokit: Octokit) =>
perPage: z.number().optional().default(30).describe('Number of branches to return (max 100)'),
}),
execute: async ({ owner, repo, perPage }) => {
const { data } = await octokit.repos.listBranches({ owner, repo, per_page: perPage })
const { data } = await octokit.rest.repos.listBranches({ owner, repo, per_page: perPage })
return data.map(branch => ({
name: branch.name,
sha: branch.commit.sha,
Expand All @@ -56,7 +56,7 @@ export const getFileContent = (octokit: Octokit) =>
ref: z.string().optional().describe('Branch, tag, or commit SHA (defaults to the default branch)'),
}),
execute: async ({ owner, repo, path, ref }) => {
const { data } = await octokit.repos.getContent({ owner, repo, path, ref })
const { data } = await octokit.rest.repos.getContent({ owner, repo, path, ref })
if (Array.isArray(data)) {
return { type: 'directory', entries: data.map(e => ({ name: e.name, type: e.type, path: e.path })) }
}
Expand Down Expand Up @@ -89,7 +89,7 @@ export const createOrUpdateFile = (octokit: Octokit, { needsApproval = true }: T
}),
execute: async ({ owner, repo, path, message, content, branch, sha }) => {
const encoded = Buffer.from(content).toString('base64')
const { data } = await octokit.repos.createOrUpdateFileContents({
const { data } = await octokit.rest.repos.createOrUpdateFileContents({
owner,
repo,
path,
Expand Down
4 changes: 2 additions & 2 deletions packages/github-tools/src/tools/search.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ export const searchCode = (octokit: Octokit) =>
perPage: z.number().optional().default(10).describe('Number of results to return (max 30)'),
}),
execute: async ({ query, perPage }) => {
const { data } = await octokit.search.code({ q: query, per_page: perPage })
const { data } = await octokit.rest.search.code({ q: query, per_page: perPage })
return {
totalCount: data.total_count,
items: data.items.map(item => ({
Expand All @@ -34,7 +34,7 @@ export const searchRepositories = (octokit: Octokit) =>
order: z.enum(['asc', 'desc']).optional().default('desc').describe('Sort order'),
}),
execute: async ({ query, perPage, sort, order }) => {
const { data } = await octokit.search.repos({ q: query, per_page: perPage, sort, order })
const { data } = await octokit.rest.search.repos({ q: query, per_page: perPage, sort, order })
return {
totalCount: data.total_count,
items: data.items.map(repo => ({
Expand Down
2 changes: 1 addition & 1 deletion packages/github-tools/src/types.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
export type { Octokit } from '@octokit/rest'
export type { Octokit } from 'octokit'

export type ToolOptions = { needsApproval?: boolean }
Loading
Loading