mirror of
https://github.com/jeffusion/gitea-ai-assistant.git
synced 2026-03-27 10:05:50 +00:00
Add llm/, db/, crypto/ dirs to structure; replace OpenAI-only references with LLM Gateway. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)
46 lines
1.6 KiB
Plaintext
46 lines
1.6 KiB
Plaintext
---
|
|
description:
|
|
globs:
|
|
alwaysApply: true
|
|
---
|
|
# Technology Stack and Dependencies
|
|
|
|
## Core Technologies
|
|
|
|
- **Runtime**: Bun (JavaScript/TypeScript runtime)
|
|
- **Language**: TypeScript
|
|
- **Framework**: Hono (lightweight web framework)
|
|
- **API Integration**: LLM Gateway (OpenAI Compatible, OpenAI Responses API, Anthropic, Google Gemini), Gitea API
|
|
- **Containerization**: Docker, Kubernetes
|
|
|
|
## Key Dependencies
|
|
|
|
From [package.json](mdc:package.json):
|
|
|
|
### Production Dependencies
|
|
|
|
- **hono**: Lightweight, ultrafast web framework
|
|
- **@hono/zod-validator**: Schema validation for Hono
|
|
- **zod**: TypeScript-first schema validation
|
|
- **openai**: OpenAI API client (used for OpenAI Compatible and Responses providers)
|
|
- **@anthropic-ai/sdk**: Anthropic Messages API client
|
|
- **@google/genai**: Google Gemini API client
|
|
- **axios**: HTTP client for API requests
|
|
- **dotenv**: Environment variable management
|
|
- **lodash-es**: Utility library
|
|
|
|
### Development Dependencies
|
|
|
|
- **typescript**: TypeScript compiler and type definitions
|
|
- **tslint**: Code linting
|
|
- **@types/node**: Node.js type definitions
|
|
- **@types/lodash-es**: Type definitions for lodash-es
|
|
|
|
## Environment Configuration
|
|
|
|
The application uses a hybrid configuration approach:
|
|
|
|
- **Environment variables** ([src/config/index.ts](mdc:src/config/index.ts)): Gitea settings, server config, webhook security, review engine params
|
|
- **Web UI + SQLite DB** ([src/db/](mdc:src/db)): LLM provider settings (API keys, models, endpoints) — managed via Admin Dashboard
|
|
- **bun:sqlite**: Embedded database for LLM configuration persistence
|