@@ -94,9 +94,24 @@ These instructions guide GitHub Copilot in generating Git commit messages that a
9494 - "Simple, self-explanatory single-file changes"
9595 - "The title completely describes the change"
9696 - "Trivial fixes or updates (e.g., 'docs: fix typo in README')"
97- - "Include a longer description of the changes, if necessary. Use complete sentences."
97+ - "** BODY FORMAT AND STYLE:** "
98+ - "Write in ** past tense** (describe what was done, not what to do)"
99+ - "Examples: 'Added feature X', 'Implemented Y', 'Fixed Z', 'Updated configuration'"
100+ - "Use complete sentences with proper capitalization and punctuation"
101+ - "Wrap lines at 72 characters for readability"
102+ - "Separate paragraphs with blank lines for better structure"
103+ - "** LISTING MODIFIED FILES:** "
104+ - "For ** 2-10 files** : List files with brief description of changes"
105+ - "Format: 'Modified files (X):' or 'Affected files (X):' followed by bulleted list"
106+ - "Use ` - ` (hyphen) for bullet points, not ` • ` "
107+ - "Example format: ` - FileName.cs: Brief description of change ` "
108+ - "File descriptions should use past tense (e.g., 'Added method', 'Updated logic')"
109+ - "For ** >10 files** : Group by layer/component instead of listing all files"
110+ - "Example: 'This change spans multiple layers (15 files modified):'"
111+ - "Then list high-level changes by component/layer, not individual files"
112+ - "For ** 1 file** : Generally omit file listing (it's in the commit diff)"
98113 - "Explain the motivation for the change and how it differs from previous behavior."
99- - "Wrap lines at 72 characters ."
114+ - "For significant changes, include performance metrics, testing notes, or migration guidance ."
100115- ** Footer (Optional):**
101116 - "Use the footer to reference issue trackers, breaking changes, or other metadata."
102117 - "** Breaking Changes:** Start with ` BREAKING CHANGE: ` (or ` BREAKING-CHANGE: ` ) followed by a description. Alternatively, append ` ! ` after type/scope (e.g., ` feat!: ` or ` feat(api)!: ` )."
@@ -324,52 +339,84 @@ Fixes #156
324339```
325340feat(WebApp.Middleware): add prompt injection detection
326341
327- Implement Azure Content Safety prompt shield to detect
342+ Implemented Azure Content Safety prompt shield to detect
328343and block jailbreak attempts before reaching the AI agent.
329- Returns 400 status with descriptive error message.
344+ Added 400 status response with descriptive error message.
330345
331- Modified files:
332- - ContentSafetyMiddleware.cs: Add prompt shield check
333- - ContentSafetyService.cs: Implement shield API call
334- - IContentSafetyService.cs: Add interface method
346+ Modified files (3) :
347+ - ContentSafetyMiddleware.cs: Added prompt shield check
348+ - ContentSafetyService.cs: Implemented shield API call
349+ - IContentSafetyService.cs: Added interface method
335350
336351Closes #42
337352```
338353
339354```
340355refactor(Domain): extract task validation to factory method
341356
342- Move validation logic from constructor to TaskItem.Create()
357+ Moved validation logic from constructor to TaskItem.Create()
343358factory method following domain-driven design principles.
344- Ensures all task creation goes through proper validation.
359+ This ensures all task creation goes through proper validation.
345360
346- This change affects TaskItem entity and all places where
347- tasks are created, but maintains the same validation behavior.
361+ Affected files (2):
362+ - TaskItem.cs: Extracted Create() factory method
363+ - TaskRepository.cs: Updated to use factory method
364+
365+ This change maintains the same validation behavior while
366+ improving code organization and testability.
348367```
349368
350369```
351370perf(Infrastructure): add database indexes for task queries
352371
353- Add composite index on Status, Priority, and CreatedAt columns
354- to optimize filtering queries. Reduces query time by 75% for
355- GetAllTasksAsync with multiple filters.
372+ Added composite index on Status, Priority, and CreatedAt
373+ columns to optimize filtering queries. Performance tests
374+ showed 75% reduction in query time for GetAllTasksAsync
375+ with multiple filters applied.
376+
377+ Modified files (2):
378+ - TaskDbContext.cs: Added index configuration
379+ - 20251018_AddTaskIndexes.cs: New EF migration
356380
357- Modified:
358- - TaskDbContext.cs: Add index configuration
359- - New migration: 20251018_AddTaskIndexes.cs
381+ Refs: #89
382+ ```
383+
384+ ```
385+ feat(Application): implement task search and filtering
386+
387+ Added comprehensive search and filtering capabilities for
388+ tasks including full-text search, status filtering, priority
389+ filtering, and date range queries.
390+
391+ This change spans multiple layers (12 files modified):
392+ - Application layer: New DTOs, interfaces, and service methods
393+ - Infrastructure layer: Repository implementations and queries
394+ - WebApp layer: New API endpoints and request validators
395+
396+ Key changes:
397+ - Created SearchTasksDto with filter parameters
398+ - Implemented full-text search on Title and Description
399+ - Added composite indexes for performance
400+ - Created GET /api/tasks/search endpoint
401+ - Added pagination support (page size, page number)
402+
403+ Performance: Search queries execute in <100ms for 10k records.
404+
405+ Closes #45, #67, #89
360406```
361407
362408```
363409docs: update architecture and setup documentation
364410
365- Update README.md with new setup steps, add CONTENT_SAFETY.md
366- with comprehensive testing guide, and update copilot
367- instructions with latest conventions .
411+ Updated project documentation to reflect current architecture
412+ patterns and setup requirements. Added comprehensive content
413+ safety testing guide with 75+ test cases .
368414
369- Modified files:
370- - README.md: Add Azure OpenAI setup section
371- - CONTENT_SAFETY.md: New file with 75+ test cases
372- - .github/copilot-instructions.md: Update DI patterns
415+ Modified files (4):
416+ - README.md: Added Azure OpenAI setup section
417+ - CONTENT_SAFETY.md: New file with testing guide
418+ - .github/copilot-instructions.md: Updated DI patterns
419+ - .github/git-commit-messages-instructions.md: Added examples
373420```
374421
375422** Cross-Layer Examples:**
@@ -419,6 +466,19 @@ Modified files:
419466 - "Single file, simple change"
420467 - "Title is completely self-explanatory"
421468 - "Trivial updates (e.g., 'docs: fix typo')"
469+ - "** BODY WRITING STYLE - CRITICAL:** "
470+ - "** Header (title)** : Use IMPERATIVE PRESENT tense (e.g., 'add feature', 'fix bug', 'update config')"
471+ - "** Body** : Use PAST TENSE (e.g., 'Added feature', 'Fixed bug', 'Updated config')"
472+ - "Body describes what WAS done, header describes what the commit DOES"
473+ - "Use ` - ` (hyphen) for bullet points in body, NEVER ` • ` or other symbols"
474+ - "File listings format:"
475+ - "2-10 files: List each file with hyphen. Example: ` - FileName.cs: Added method ` "
476+ - ">10 files: Group by layer/component, don't list all files individually"
477+ - "Example for many files:"
478+ - "❌ DON'T: List all 15 files individually (too verbose)"
479+ - "✅ DO: 'This change spans multiple layers (15 files modified):'"
480+ - "Then describe by component: 'Application layer: New DTOs and services'"
481+ - "Wrap lines at 72 characters for readability"
422482- "** BREAKING CHANGES - Critical Decision Guide:** "
423483 - "Use ` BREAKING CHANGE: ` footer or ` ! ` suffix when consumers MUST modify their code"
424484 - "** Ask yourself** : Would existing code that uses this API/endpoint/interface still work?"
@@ -511,11 +571,37 @@ Modified files:
511571** Multi-File Changes - Body Guidelines:**
512572
513573- ** Include body if:**
514- - 2+ files modified (list affected files/components )
574+ - 2+ files modified (describe changes and list files if ≤10 )
515575 - Change spans multiple layers or scopes
516576 - Explanation needed for WHY (not just WHAT)
517577 - Breaking changes or migrations involved
518578- ** Body can be omitted if:**
519579 - Single file, straightforward change
520580 - Title like "docs: fix typo in README" is self-explanatory
521581 - Trivial formatting or style changes
582+
583+ ** File Listing Best Practices:**
584+
585+ - ** 2-10 files modified:**
586+ - Include section: "Modified files (X):" or "Affected files (X):"
587+ - List each file with hyphen and brief description
588+ - Example: ` - TaskService.cs: Added search method `
589+ - Use past tense for descriptions
590+ - ** >10 files modified:**
591+ - DON'T list all files individually (commit becomes too long)
592+ - State total count: "This change spans multiple layers (15 files modified):"
593+ - Group changes by layer/component/category
594+ - Example: "Application layer: New DTOs, interfaces, and service methods"
595+ - Example: "Infrastructure layer: Repository implementations and queries"
596+ - Focus on WHAT changed in each component, not listing every file
597+ - ** 1 file modified:**
598+ - Generally omit file listing (obvious from commit diff)
599+ - Use body to explain WHY and HOW, not WHAT file
600+
601+ ** Body Writing Style:**
602+
603+ - Header (title): Imperative present ("add feature", "fix bug")
604+ - Body: Past tense ("Added feature", "Implemented logic", "Fixed validation")
605+ - Bullet points: Use ` - ` (hyphen), not ` • ` or other symbols
606+ - Line length: Wrap at 72 characters
607+ - Paragraphs: Separate with blank lines for readability
0 commit comments