Files
jsowell-charger-web/AGENTS.md

49 lines
2.5 KiB
Markdown
Raw Normal View History

2026-01-27 14:13:52 +08:00
# Repository Guidelines
This repository contains a Java 8, multi-module Spring Boot backend plus a separate Vue 2 (Vue CLI) admin UI.
## Project Structure & Module Organization
- Backend parent: `pom.xml` (aggregates the Maven modules).
- Backend modules live under `jsowell-*/`.
- Entry point/service: `jsowell-admin/` (Spring Boot app).
- Shared/core: `jsowell-common/`, `jsowell-framework/`, `jsowell-system/`.
- Business/integrations: `jsowell-pile/`, `jsowell-netty/`, `jsowell-thirdparty/`, plus schedulers/generator/settlement modules.
- UI: `jsowell-ui/` (not part of the Maven build). Code is in `jsowell-ui/src/`, static assets in `jsowell-ui/public/`.
- Reference material: `doc/`, `docs/`; database scripts: `sql/`; helper batch scripts: `bin/`.
## Build, Test, and Development Commands
Backend (from repo root):
- `mvn clean compile`: compile all modules.
- `mvn clean package -DskipTests` (or `bin\\package.bat`): build artifacts.
- `mvn test` (or `mvn -pl jsowell-admin test`): run backend tests.
- `mvn -pl jsowell-admin spring-boot:run -Dspring-boot.run.profiles=dev`: run the API locally.
UI (from `jsowell-ui/`):
- `npm run dev`: start dev server (uses `jsowell-ui/.env.*` modes).
- `npm run build:prd`: production build.
- `npm run lint`: ESLint on `src/`.
## Coding Style & Naming Conventions
- Java: follow existing conventions (4 spaces; `PascalCase` types; `camelCase` methods; `UPPER_SNAKE_CASE` constants). Keep changes scoped to one module when possible.
- UI: follow `jsowell-ui/.editorconfig` + `jsowell-ui/.eslintrc.js` (2 spaces, single quotes, no semicolons). Run `npm run lint` before PRs.
## Testing Guidelines
- Backend tests are primarily in `jsowell-admin/src/test/java` and use Spring Boot + JUnit.
- Prefer `*Test.java` naming and avoid tests that depend on external services unless clearly marked/configured.
## Commit & Pull Request Guidelines
- Commit subjects commonly use short prefixes: `add ...`, `update ...`, `bugfix ...`. Keep them under ~72 chars; add module context when helpful (example: `jsowell-ui: update login flow`).
- PRs should target `dev` unless agreed otherwise, include a clear description, and link the relevant issue/ticket.
- Include screenshots for UI changes and migration notes for DB/API changes (`sql/`, request/response examples).
## Security & Configuration Notes
- Environment config lives in `jsowell-admin/src/main/resources/application-*.yml` and `jsowell-ui/.env.*`.
- Do not commit real secrets/keys; use placeholders and local overrides.
- See `CLAUDE.md` for deeper architecture and operational notes.