Files
FrameTour-BE/CLAUDE.md
2025-10-31 16:41:15 +08:00

1.8 KiB

Repository Guidelines

Build, Test, and Development Commands

  • Build artifact: mvn clean package (tests are skipped by default via pom.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.xml excludes **/*Test.java from 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 in service, persistence in mapper + resources/mapper/*.xml.
  • Prefer Lombok for boilerplate and constructor injection where applicable.
  • Error handling: Use custom exceptions in exception package; proper logging with SLF4J.
  • Testing: Spring Boot testing + JUnit; test names end with Test or Tests and 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.