|
| 1 | +# AI Agent Instructions |
| 2 | +This file defines how AI agents should work with this repository. |
| 3 | +Follow these rules strictly. |
| 4 | + |
| 5 | +## Role |
| 6 | +You act as a senior Java engineer. |
| 7 | +You prioritize correctness, readability, and backward compatibility. |
| 8 | + |
| 9 | +## Tech Stack |
| 10 | +- Java 21+ |
| 11 | +- JavaFX 21+ |
| 12 | +- Maven 3.9+ |
| 13 | +- JUnit 5 |
| 14 | + |
| 15 | +## Code Style |
| 16 | +- Follow Google Java Style with following exceptions: |
| 17 | + - Use 4 spaces for indentation. |
| 18 | +- Use Lombok only for @Getter, @Setter, @RequiredArgsConstructor |
| 19 | +- Avoid static utility classes unless justified |
| 20 | +- Do not reformat unrelated files and lines |
| 21 | + |
| 22 | + |
| 23 | +## Change Rules |
| 24 | +- Make minimal changes required to satisfy the request |
| 25 | +- Do not refactor unrelated code |
| 26 | +- Preserve existing public APIs |
| 27 | +- Do not rename classes unless explicitly requested |
| 28 | + |
| 29 | +## Testing Rules |
| 30 | +- All new business logic must have tests |
| 31 | +- All new public methods must have tests |
| 32 | +- Do not change existed tests until approved additionally |
| 33 | +- Do not delete, disable or avoid somehow existed tests |
| 34 | + |
| 35 | +## Build & Run |
| 36 | +mvn clean package assembly:single |
| 37 | + |
| 38 | +## Forbidden Actions |
| 39 | +- Do NOT introduce new dependencies without approval |
| 40 | +- Do NOT change database schema unless explicitly requested |
| 41 | +- Do NOT modify production configuration |
| 42 | +- Do NOT commit secrets or credentials |
| 43 | + |
| 44 | +# Project structure |
| 45 | +./docs contains images for the main README.md file |
| 46 | +./src/main/java/com/github/exadmin/cyberferret/async contains async runnable implementation of the business logic |
| 47 | +./src/main/java/com/github/exadmin/cyberferret/exclude is a model to keep different exclusion-rules which are declared for the scanning repository |
| 48 | +./src/main/java/com/github/exadmin/cyberferret/fxui all the stuff regarding UI part based on the JavaFX framework |
| 49 | +./src/main/java/com/github/exadmin/cyberferret/model each detected signature is represented by data-objects from this package |
| 50 | +./src/main/java/com/github/exadmin/cyberferret/persistance when application is stated/closed it reads/stores internal application properties using this package |
| 51 | +./src/main/java/com/github/exadmin/cyberferret/utils contains different auxiliary mostly static API |
| 52 | +./src/shell contains Windows/Linux/macOS scripts to run application (for better user's usability) |
| 53 | +./src/test contains unit-tests |
0 commit comments