# Repository Guidelines ## Project Structure & Module Organization This repository follows the RuoYi-Vue split architecture. Backend modules live at the repo root: `ruoyi-admin` is the Spring Boot entry point, `ruoyi-framework` holds security and web infrastructure, `ruoyi-system` contains business services and MyBatis mappers, `ruoyi-common` stores shared utilities, and `ruoyi-quartz` / `ruoyi-generator` provide scheduling and code generation. Frontend code is in `ruoyi-ui`, with pages under `src/views`, API wrappers under `src/api`, shared components under `src/components`, and static assets under `src/assets`. SQL scripts belong in `sql/`, and project documents go in `doc/`. ## Build, Test, and Development Commands Backend: - `mvn clean package -DskipTests` builds all Java modules. - `mvn test` runs backend tests for the full Maven reactor. - `mvn -pl ruoyi-admin -am spring-boot:run` starts the admin service with dependent modules. Frontend: - `cd ruoyi-ui && nvm use && npm install` installs frontend dependencies with Node managed by `nvm`. - `cd ruoyi-ui && npm run dev` starts the Vue 2 development server. - `cd ruoyi-ui && npm run build:prod` creates the production bundle. ## Coding Style & Naming Conventions Use 4 spaces for Java indentation and keep packages under `com.ruoyi.`. Follow existing suffixes such as `*Controller`, `*Service`, `*ServiceImpl`, and `*Mapper`; mapper XML files should stay under `src/main/resources/mapper/**`. Vue files follow the existing feature layout, for example `src/views/system/user/index.vue` and `src/api/system/user.js`. Match the repository’s current naming style instead of introducing new patterns. ## Testing Guidelines There are currently no committed `src/test` files, so new backend features should add focused tests under `module/src/test/java` using the `*Test` suffix. When changing frontend behavior, at minimum verify `npm run build:prod` succeeds and smoke-test the affected page flow locally. Keep tests narrow and aligned to the module you changed. ## Commit & Pull Request Guidelines Current history is minimal (`init`), so keep commit messages short, specific, and in Chinese, for example `新增贷款定价审批接口`. Ignore `.DS_Store` changes. PRs should state the affected modules, summarize behavior changes, list any SQL or configuration updates, and include screenshots for UI changes. ## Agent-Specific Notes Every change should leave an implementation record in `doc/`. If a feature touches both backend and frontend, maintain separate frontend and backend implementation plans; otherwise, record only the impacted side.