|
|
9 mēneši atpakaļ | |
|---|---|---|
| .. | ||
| src | 9 mēneši atpakaļ | |
| .gitignore | 9 mēneši atpakaļ | |
| README.md | 9 mēneši atpakaļ | |
| package-lock.json | 9 mēneši atpakaļ | |
| package.json | 9 mēneši atpakaļ | |
| tsconfig.json | 9 mēneši atpakaļ | |
TypeScript-based Claude Agent SDK client for automated issue handling in Gogs repositories.
This client uses the @anthropic-ai/claude-agent-sdk to provide AI-powered issue automation. It replaces the previous bash-based Claude Code implementation with a more robust, type-safe TypeScript solution.
client/
├── src/
│ ├── claude-client.ts # Main Claude Agent SDK client
│ ├── config.ts # Configuration management
│ ├── types.ts # TypeScript type definitions
│ └── index.ts # CLI entry point
├── dist/ # Compiled JavaScript (generated)
├── package.json # Dependencies and scripts
└── tsconfig.json # TypeScript configuration
cd client
npm install
npm run build
This compiles TypeScript to JavaScript in the dist/ directory.
import { ClaudeClient } from './client/dist/index.js';
const client = new ClaudeClient({
workingDirectory: '/path/to/repo',
mcpConfigPath: '/path/to/repo/.mcp-gogs.json',
allowedTools: ['mcp__gogs__get_issue', 'mcp__gogs__create_issue_comment', 'Read', 'Write'],
dangerouslySkipPermissions: true
});
const result = await client.handleIssue({
owner: 'username',
repo: 'repo-name',
number: 42,
title: 'Issue title',
body: 'Issue description',
action: 'opened',
pusher: 'username',
assignee: 'claude'
});
console.log(result);
node dist/index.js <owner> <repo> <pusher> <issue_number> <issue_title> <issue_body> <issue_action> [comment_body] [assignee]
The client is integrated with the webhook server via scripts/handle-issue-ts.sh, which is called from commands.json for issue and issue_comment events.
The client reads configuration from the repository's .env file:
GOGS_MCP_PATH=/data/gogs-mcp/dist/index.js
The client has access to all gogs MCP tools:
User Tools:
mcp__gogs__get_current_usermcp__gogs__get_usermcp__gogs__search_usersRepository Tools:
mcp__gogs__list_user_repositoriesmcp__gogs__search_repositoriesmcp__gogs__get_repositorymcp__gogs__create_repositorymcp__gogs__delete_repositoryContent Tools:
mcp__gogs__get_contentsmcp__gogs__get_raw_contentmcp__gogs__list_branchesmcp__gogs__get_commitsIssue Tools:
mcp__gogs__list_issuesmcp__gogs__get_issuemcp__gogs__create_issuemcp__gogs__update_issuemcp__gogs__list_issue_commentsmcp__gogs__create_issue_commentmcp__gogs__update_issue_commentFile Tools:
Read, Write, Edit, Bash, Grep, Glob, TodoWritenpm run watch
npm run clean
npm run build
ISC