🤖 feat: enhance agent skills for BDD testing and CI/CD management

Skill Improvements:
- BDD Testing Skill: Enhanced step templates, debugging guides, and patterns
- Gitea Client Skill: Added wiki management, issue tracking, and workflow monitoring
- Product Owner Assistant: Improved user story workflow and documentation
- Commit Message Skill: Better gitmoji integration and issue referencing
- Changelog Manager: Enhanced change tracking and documentation
- Skill Creator: Improved skill generation templates and validation
- Swagger Documentation: Updated OpenAPI integration guides

Key Features:
- BDD best practices documentation
- Gitea API client with wiki support
- User story implementation workflow
- Git commit message standardization
- Skill development patterns
- OpenAPI/Swagger documentation generation

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
This commit is contained in:
2026-04-09 00:26:08 +02:00
parent 10f25c23e0
commit 30af706590
25 changed files with 498 additions and 52 deletions

View File

@@ -1,6 +1,6 @@
# BDD Testing Debugging Guide
Comprehensive guide to debugging BDD tests for DanceLessonsCoach.
Comprehensive guide to debugging BDD tests for dance-lessons-coach.
## Common Issues and Solutions
@@ -15,7 +15,12 @@ Feature: Greet Service
Then the response should be "..." # ??? UNDEFINED STEP
```
**Root Cause:** Step patterns don't match Godog's exact expectations.
**Root Cause:** Step patterns don't match Godog's exact expectations. Godog is very particular about regex escaping.
**Common Pattern Issues:**
- `\"` vs `\\"` (single vs double escaping)
- Exact quote handling in JSON patterns
- Parameter capture group syntax
**Debugging Steps:**
@@ -28,25 +33,30 @@ Feature: Greet Service
```
You can implement step definitions for the undefined steps with these snippets:
func theServerIsRunning() error {
func theResponseShouldBe(arg1, arg2 string) error {
return godog.ErrPending
}
func iRequestTheDefaultGreeting() error {
return godog.ErrPending
func InitializeScenario(ctx *godog.ScenarioContext) {
ctx.Step(`^the response should be "{\\"([^"]*)\\":\\"([^"]*)\\"}"$`, theResponseShouldBe)
}
```
3. **Compare with your implementation:**
```go
// ❌ Wrong pattern
ctx.Step(`^the server is running$`, sc.theServerIsRunning)
// ❌ Wrong pattern (single escaping)
ctx.Step(`^the response should be "{\"([^"]*)\":\"([^"]*)\"}"$`, sc.commonSteps.theResponseShouldBe)
// ✅ Correct pattern (matches Godog's suggestion)
ctx.Step(`^the server is running$`, sc.theServerIsRunning)
// ✅ Correct pattern (double escaping - matches Godog's suggestion)
ctx.Step(`^the response should be "{\\"([^"]*)\\":\\"([^"]*)\\"}"$`, sc.commonSteps.theResponseShouldBe)
```
**Solution:** Use Godog's EXACT regex patterns.
**Key Insight:** Godog expects `\\"` (four backslashes + quote) for escaped quotes in JSON patterns, not `\"` (two backslashes + quote).
**Solution:** Use Godog's EXACT regex patterns, paying special attention to:
- JSON escaping: `\\"` not `\"`
- Parameter names: Use `arg1, arg2` as suggested
- Capture groups: Match Godog's exact regex syntax
### 2. JSON Comparison Failures