Skip to content

Commit bdb5984

Browse files
committed
Add copilot instructions file
1 parent ebd8ed2 commit bdb5984

1 file changed

Lines changed: 21 additions & 0 deletions

File tree

.github/copilot-instructions.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
Use `make verify` to validate the project
2+
3+
## Tech Stack
4+
- Java 21, DropWizard (HTTP server), JDBI (no ORM), Postgres, Lombok
5+
- Gradle build with shadow JAR as deployment artifact
6+
- Docker + docker-compose for local dev and integration tests
7+
8+
## Testing
9+
- `src/test/` — unit tests; no database or server required
10+
- `src/testInteg/` — integration tests; require Docker (docker-compose spins up a live DB and server automatically via Gradle)
11+
- Do not put integration tests in `src/test/` or unit tests in `src/testInteg/`
12+
13+
## Code Style
14+
- Google Java Format is enforced via Spotless (`make format` or `./gradlew spotlessApply`)
15+
- No wildcard imports (Spotless removes them)
16+
- Use Lombok annotations (`@Value`, `@Builder`, `@Data`, `@RequiredArgsConstructor`, etc.) instead of hand-written boilerplate
17+
18+
## Database
19+
- No ORM — use JDBI with SQL object pattern
20+
- Database migrations go in `database/migrations/` as Flyway `.sql` files
21+
- Migration naming convention: `V{major}.{minor}.{patch}__description.sql`

0 commit comments

Comments
 (0)