# Repository Guidelines

## Project Structure & Module Organization
- `mengyaconnect-backend/` Go (Gin) HTTP + WebSocket SSH bridge. Most logic in `main.go`; config helpers in `config.go`. Persistent data under `data/` (`data/ssh/*.json`, `data/command/command.json`, `data/script/`).
- `mengyaconnect-frontend/` Vite + Vue 3 SPA. Entry at `index.html`; UI in `src/App.vue`; build output in `dist/`.
- `debug-logs/` local logs, not part of app runtime.

## Build, Test, and Development Commands
Backend:
- `cd mengyaconnect-backend && go run .` Run API server (default `:8080`).
- `go build -o mengyaconnect-backend` Build local binary.
- `go fmt ./...` Format Go code.
- `go test ./...` Run Go tests (if present).

Frontend:
- `cd mengyaconnect-frontend && npm install` Install dependencies.
- `npm run dev` Start Vite dev server (`http://localhost:5173`).
- `npm run build` Build production assets to `dist/`.
- `npm run preview` Preview the production build.

Optional container:
- `cd mengyaconnect-backend && docker-compose up --build` Run backend in Docker (host `2431` -> container `8080`).

## Coding Style & Naming Conventions
- Go: follow `gofmt` output; prefer `camelCase` for unexported identifiers and `PascalCase` for exported ones.
- Vue: keep 2-space indentation, double quotes, and semicolons as used in `src/App.vue`. Use `<script setup>` for new components and keep UI code in `mengyaconnect-frontend/src/`.

## Testing Guidelines
- Backend uses Go’s standard testing (`*_test.go`). No dedicated lint/test tooling beyond `go test`.
- Frontend has no test runner configured; if you add one, add an npm script and document it here.

## Commit & Pull Request Guidelines
- Commit history is minimal; one commit uses Conventional Commits (`chore: ...`). Prefer `type: short summary` for consistency and keep commits scoped.
- PRs should include: a clear summary, testing notes (commands run), and screenshots for UI changes. Call out any changes to env/config or persisted data.

## Security & Configuration Tips
- Do not commit real SSH credentials or production data in `mengyaconnect-backend/data/`; sanitize sample files.
- Key env vars: backend `PORT`, `DATA_DIR`, `ALLOWED_ORIGINS`; frontend `VITE_WS_URL`/`VITE_WS_PORT`.
