You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: AGENTS.md
+3-1Lines changed: 3 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -32,7 +32,7 @@ Run the relevant commands locally before opening a PR:
32
32
| Intelligence service lint/type check |`poetry run black --check .`, `poetry run flake8 .`, `poetry run mypy .` inside `server/intelligence-service`. |
33
33
| Webhook ingest lint |`poetry run black --check .` and `poetry run flake8 .` inside `server/webhook-ingest`. |
34
34
35
-
Document any skipped gate in the PR description with a rationale.
35
+
Document any skipped gate in the PR description with a rationale. Always finish a change set by running `npm run format` followed by `npm run lint` so both styling and type checks reflect the final state.
36
36
37
37
## 4. Code generation & forbidden edits
38
38
We rely heavily on generated artifacts. Never hand-edit these directories—regenerate instead:
@@ -54,6 +54,7 @@ Regeneration is destructive; stash local edits before running these commands. Ch
54
54
1. Spin up PostgreSQL through Docker (ensure Docker is running or set `CI=true` with a ready Postgres).
55
55
2. Snapshot the schema, run Liquibase diff, and create a timestamped changelog file.
56
56
3. Tear down the temporary container.
57
+
- Trim the generated changelog to only the real schema deltas (e.g., new columns). Never commit the raw diff wholesale—prune back to the minimal change set before renaming it into `db/changelog/`.
57
58
- After drafting a changelog, run `npm run db:generate-erd-docs` and `npm run db:generate-models:intelligence-service` to keep ERD docs and SQLAlchemy models in sync.
58
59
- Never manually edit generated Liquibase diff sections unless you fully understand the implications. Prefer creating a follow-up changelog to fix mistakes.
59
60
@@ -76,6 +77,7 @@ Regeneration is destructive; stash local edits before running these commands. Ch
76
77
- Reuse existing DTO converters/mappers instead of duplicating mapping logic. Look at `gitprovider.team` for established patterns.
77
78
- Security: new endpoints must enforce permissions using the existing security utilities (`EnsureAdminUser`, etc.).
78
79
- Keep Liquibase changelog IDs monotonic and descriptive. Align entity annotations with the generated change sets.
80
+
- Annotate record components in DTOs with `@NonNull` whenever the API should require them so the generated OpenAPI schema matches the backend contract.
79
81
- When integrating with the intelligence-service client, always regenerate (`npm run generate:api:intelligence-service:client`) after touching the spec and commit the updated Java files.
Copy file name to clipboardExpand all lines: server/application-server/src/main/java/de/tum/in/www1/hephaestus/gitprovider/pullrequestreviewcomment/github/GitHubPullRequestReviewCommentSyncService.java
+13-14Lines changed: 13 additions & 14 deletions
Original file line number
Diff line number
Diff line change
@@ -123,11 +123,13 @@ public PullRequestReviewComment processPullRequestReviewComment(
Copy file name to clipboardExpand all lines: server/application-server/src/main/java/de/tum/in/www1/hephaestus/gitprovider/pullrequestreviewthread/github/GitHubPullRequestReviewThreadSyncService.java
+4-1Lines changed: 4 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -69,7 +69,10 @@ public PullRequestReviewThread processThreadEvent(GHEventPayloadPullRequestRevie
69
69
.toList();
70
70
71
71
for (GHPullRequestReviewCommentcomment : sortedComments) {
0 commit comments