You've already forked FrameTour-BE
1.8 KiB
1.8 KiB
Repository Guidelines
Build, Test, and Development Commands
- Build artifact:
mvn clean package(tests are skipped by default viapom.xml). - Run locally (dev):
mvn spring-boot:run -Dspring-boot.run.profiles=dev. - Run jar:
java -jar target/basic21-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev. - Execute all tests:
mvn -DskipTests=false test(note:pom.xmlexcludes**/*Test.javafrom test-compile; temporarily remove/override that config if you need to compile and run tests). - Run single test:
mvn -DskipTests=false test -Dtest=ClassNameTest(after removing testExcludes from maven-compiler-plugin).
Code Style Guidelines
- Java 21. Use 4-space indentation; UTF-8; no wildcard imports.
- Packages:
com.ycwl.basic.*; classes PascalCase; methods/fields camelCase; constants UPPER_SNAKE_CASE. - Controllers in
controller, business logic inservice, persistence inmapper+resources/mapper/*.xml. - Prefer Lombok for boilerplate and constructor injection where applicable.
- Error handling: Use custom exceptions in
exceptionpackage; proper logging with SLF4J. - Testing: Spring Boot testing + JUnit; test names end with
TestorTestsand mirror package structure.
Project Structure
- Application code:
src/main/java/com/ycwl/basic/**(controllers, services, mapper/repository, dto/model, config, util). - Resources:
src/main/resources/**(Spring configs,mapper/*.xml, static assets, logging). - Tests:
src/test/java/**mirrors main packages. - Build output:
target/(never commit).
Agent-Specific Notes
- Keep changes minimal and within existing package boundaries.
- Do not reorganize MyBatis XML names or mapper interfaces without updating both sides.
- If altering APIs, update affected tests and documentation in the same PR.