Files
MonocoEditor-With-Lsp-Backend/AGENTS.md
2026-02-15 15:55:49 +08:00

52 lines
2.2 KiB
Markdown

# Repository Guidelines
## Project Structure & Module Organization
This repository is a Vite + Vue 3 + TypeScript frontend app.
- `src/`: application source code
- `src/components/`: Vue UI components (for example, `MonacoEditor.vue`, `ThemeToggle.vue`)
- `src/api/`: HTTP client logic (`completion.ts`)
- `src/types/`: shared TypeScript interfaces for API payloads
- `public/`: static assets served as-is
- `dist/`: production build output (generated)
- `backend/`: placeholder folder; no active backend code is currently committed
Use the `@` alias for imports from `src` (configured in `vite.config.ts` and `tsconfig.app.json`).
## Build, Test, and Development Commands
- `npm install`: install dependencies.
- `npm run dev`: start local development server with HMR.
- `npm run build`: run type checks (`vue-tsc -b`) and build production assets.
- `npm run preview`: serve the built app locally for verification.
Current package scripts do not include linting or unit test commands.
## Coding Style & Naming Conventions
- Use Vue 3 Composition API with `<script setup lang="ts">`.
- Use TypeScript strict mode patterns; avoid `any` unless justified.
- Use 2-space indentation and single quotes, matching existing files.
- Name components in PascalCase (e.g., `MonacoEditor.vue`).
- Name composables/helpers and API modules in camelCase (e.g., `fetchCompletions`).
- Keep shared interfaces in `src/types/*` and colocate feature-specific logic where used.
## Testing Guidelines
No automated test framework is configured yet in `package.json`.
When adding tests, prefer Vitest + Vue Test Utils and place files as:
- `src/**/__tests__/*.spec.ts`
Minimum verification for every change:
1. `npm run build` succeeds.
2. `npm run dev` runs without console/runtime errors for the changed flow.
## Commit & Pull Request Guidelines
Git history is not available in this workspace snapshot, so no existing commit pattern can be inferred. Use Conventional Commits going forward:
- `feat: add completion request timeout`
- `fix: handle empty completion response`
PRs should include:
1. Clear summary of user-visible and technical changes.
2. Linked issue/task ID (if applicable).
3. Validation steps and commands run.
4. Screenshots or short recordings for UI changes.