🤖 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,16 +1,16 @@
---
name: bdd-testing
description: Behavior-Driven Development testing for DanceLessonsCoach using Godog. Use when creating or running BDD tests, implementing new features with BDD, or validating API endpoints through Gherkin scenarios.
description: Behavior-Driven Development testing for dance-lessons-coach using Godog. Use when creating or running BDD tests, implementing new features with BDD, or validating API endpoints through Gherkin scenarios.
license: MIT
metadata:
author: DanceLessonsCoach Team
author: dance-lessons-coach Team
version: "1.0.0"
based-on: pkg/bdd implementation
---
# BDD Testing for DanceLessonsCoach
# BDD Testing for dance-lessons-coach
Behavior-Driven Development testing framework using Godog for the DanceLessonsCoach project. This skill provides comprehensive guidance for creating, running, and maintaining BDD tests that validate API endpoints and system behavior.
Behavior-Driven Development testing framework using Godog for the dance-lessons-coach project. This skill provides comprehensive guidance for creating, running, and maintaining BDD tests that validate API endpoints and system behavior.
## Key Concepts

View File

@@ -2,7 +2,7 @@
## What Was Created
A comprehensive `bdd_testing` skill that encapsulates all our BDD testing knowledge and experience from the DanceLessonsCoach project.
A comprehensive `bdd_testing` skill that encapsulates all our BDD testing knowledge and experience from the dance-lessons-coach project.
## Directory Structure
@@ -268,7 +268,7 @@ The skill has been validated:
## Conclusion
This `bdd_testing` skill represents the culmination of our BDD testing journey for DanceLessonsCoach. It captures:
This `bdd_testing` skill represents the culmination of our BDD testing journey for dance-lessons-coach. It captures:
1. **All our hard-won knowledge** about Godog and BDD testing
2. **Proven patterns** that work reliably
@@ -283,7 +283,7 @@ The skill ensures that:
- **Knowledge** is preserved and shared
- **Debugging** is systematic and efficient
With this skill, the DanceLessonsCoach project has a robust, well-documented BDD testing framework that can scale with the project and support team growth.
With this skill, the dance-lessons-coach project has a robust, well-documented BDD testing framework that can scale with the project and support team growth.
**Next Steps:**
1. Use this skill for all new BDD feature development

View File

@@ -2,7 +2,7 @@
package steps
import (
"DanceLessonsCoach/pkg/bdd/testserver"
"dance-lessons-coach/pkg/bdd/testserver"
"fmt"
"strings"

View File

@@ -1,4 +1,4 @@
# BDD Best Practices for DanceLessonsCoach
# BDD Best Practices for dance-lessons-coach
Based on our implementation experience with Godog and the existing `pkg/bdd` codebase.

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

View File

@@ -87,4 +87,10 @@ Godog's step matching is **very specific by design**:
- It provides exact patterns to ensure consistency
- Following its suggestions guarantees your steps will be recognized
**Remember**: The "undefined" warnings are Godog telling you exactly how to fix your step definitions!
**Remember**: The "undefined" warnings are Godog telling you exactly how to fix your step definitions!
## Critical Pattern Fix
**File:** `pkg/bdd/steps/steps.go`
**Line:** 80
**Issue:** Step pattern must use double escaping (4 backslashes + quote) not single escaping (2 backslashes + quote)
**Pattern:** `^the response should be "{\\"([^"]*)\\":\\"([^"]*)\\"}"$`

View File

@@ -345,7 +345,7 @@ resp, err := testClient.Do(req)
// pkg/bdd/bdd_test.go
func TestBDD(t *testing.T) {
suite := godog.TestSuite{
Name: "DanceLessonsCoach BDD Tests",
Name: "dance-lessons-coach BDD Tests",
TestSuiteInitializer: bdd.InitializeTestSuite,
ScenarioInitializer: bdd.InitializeScenario,
Options: &godog.Options{

View File

@@ -5,7 +5,7 @@
set -e
echo "🧪 Running BDD tests for DanceLessonsCoach..."
echo "🧪 Running BDD tests for dance-lessons-coach..."
echo "============================================"
# Run tests with verbose output