diff --git a/AGENTS.md b/AGENTS.md
new file mode 100644
index 0000000..6c39197
--- /dev/null
+++ b/AGENTS.md
@@ -0,0 +1,38 @@
+# 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 `