✨ refactor: convert all DanceLessonsCoach mentions to kebab-case
This commit is contained in:
@@ -233,7 +233,7 @@ jobs:
|
||||
|
||||
# Create Dockerfile.prod with the correct cache image tag
|
||||
cat > docker/Dockerfile.prod << EOF
|
||||
# DanceLessonsCoach Production Docker Image
|
||||
# dance-lessons-coach Production Docker Image
|
||||
# Generated by CI/CD pipeline with dependency hash: $DEPS_HASH
|
||||
|
||||
# Use the build cache image as base
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Git Hooks for DanceLessonsCoach
|
||||
# Git Hooks for dance-lessons-coach
|
||||
|
||||
This directory contains Git hooks for the DanceLessonsCoach project.
|
||||
This directory contains Git hooks for the dance-lessons-coach project.
|
||||
|
||||
## Available Hooks
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
package steps
|
||||
|
||||
import (
|
||||
"DanceLessonsCoach/pkg/bdd/testserver"
|
||||
"dance-lessons-coach/pkg/bdd/testserver"
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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{
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -3,7 +3,7 @@ name: changelog-manager
|
||||
description: A skill to help agents properly maintain and utilize AGENT_CHANGELOG.md for tracking contributions and decisions
|
||||
license: MIT
|
||||
metadata:
|
||||
author: DanceLessonsCoach Team
|
||||
author: dance-lessons-coach Team
|
||||
version: "1.0.0"
|
||||
role: Documentation Assistant
|
||||
purpose: Maintain consistent, useful changelog entries
|
||||
|
||||
@@ -3,7 +3,7 @@ name: commit-message
|
||||
description: Helps create proper Gitmoji commit messages following the Common Gitmoji Reference from AGENTS.md. Use when creating commits to ensure consistent, visual commit messages. Includes Git hooks for automatic code formatting and dependency management.
|
||||
license: MIT
|
||||
metadata:
|
||||
author: DanceLessonsCoach Team
|
||||
author: dance-lessons-coach Team
|
||||
version: "1.1.0"
|
||||
based-on: AGENTS.md Common Gitmoji Reference
|
||||
---
|
||||
@@ -115,7 +115,7 @@ The suggestions are just helpful reminders, never requirements.
|
||||
🔍 Checking for relevant issues...
|
||||
📋 Found 1 open issue(s):
|
||||
#2: Optimize Gitea Workflow for Main Branch
|
||||
https://gitea.arcodange.lab/arcodange/DanceLessonsCoach/issues/2
|
||||
https://gitea.arcodange.lab/arcodange/dance-lessons-coach/issues/2
|
||||
|
||||
💡 Suggested commit message formats:
|
||||
- closes #<number> (when issue is fully resolved)
|
||||
@@ -254,7 +254,7 @@ echo "$commit_message" | grep -E "^[🎨✨🐛📝🔧♻️🚀🔒📦🔥
|
||||
```bash
|
||||
#!/bin/sh
|
||||
|
||||
# DanceLessonsCoach pre-commit hook
|
||||
# dance-lessons-coach pre-commit hook
|
||||
# Runs go mod tidy and go fmt before allowing commits
|
||||
|
||||
echo "Running pre-commit hooks..."
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Git Hooks for DanceLessonsCoach
|
||||
# Git Hooks for dance-lessons-coach
|
||||
|
||||
This directory contains Git hooks for the DanceLessonsCoach project.
|
||||
This directory contains Git hooks for the dance-lessons-coach project.
|
||||
|
||||
## Available Hooks
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
|
||||
# DanceLessonsCoach pre-commit hook
|
||||
# dance-lessons-coach pre-commit hook
|
||||
# Runs go mod tidy, go fmt, and suggests issue references before allowing commits
|
||||
|
||||
echo "Running pre-commit hooks..."
|
||||
|
||||
@@ -25,7 +25,7 @@ fi
|
||||
echo "🔍 Checking for relevant issues..."
|
||||
|
||||
# Get list of open issues
|
||||
ISSUES_JSON=$($GITEA_CLIENT list-issues arcodange DanceLessonsCoach open 2>/dev/null || echo "[]")
|
||||
ISSUES_JSON=$($GITEA_CLIENT list-issues arcodange dance-lessons-coach open 2>/dev/null || echo "[]")
|
||||
|
||||
# Check if we got valid JSON
|
||||
if [ "$ISSUES_JSON" = "[]" ] || [ -z "$ISSUES_JSON" ]; then
|
||||
|
||||
@@ -454,7 +454,7 @@ curl -s https://gitea.arcodange.lab/swagger.v1.json | \
|
||||
|
||||
This reference guide provides comprehensive examples for using the gitea-client skill in real-world scenarios, covering job monitoring, PR management, issue tracking, and API discovery with practical, copy-paste-ready examples.
|
||||
|
||||
## 🎯 Real-World Use Cases from DanceLessonsCoach
|
||||
## 🎯 Real-World Use Cases from dance-lessons-coach
|
||||
|
||||
### CI/CD Pipeline Debugging
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ name: product-owner-assistant
|
||||
description: A skill for managing Gitea issues, organizing them into Epics and User Stories, and facilitating product backlog refinement
|
||||
license: MIT
|
||||
metadata:
|
||||
author: DanceLessonsCoach Team
|
||||
author: dance-lessons-coach Team
|
||||
version: "1.0.0"
|
||||
dependencies:
|
||||
- gitea-client
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
## ✅ What We've Created
|
||||
|
||||
A comprehensive **Product Owner Assistant** skill for the DanceLessonsCoach project that enables effective agile product management using Gitea issues and wiki.
|
||||
A comprehensive **Product Owner Assistant** skill for the dance-lessons-coach project that enables effective agile product management using Gitea issues and wiki.
|
||||
|
||||
## 🎯 Key Components
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
set -e
|
||||
|
||||
# Configuration
|
||||
SKILL_DIR="/Users/gabrielradureau/Work/Vibe/DanceLessonsCoach/.vibe/skills/product-owner-assistant"
|
||||
SKILL_DIR="/Users/gabrielradureau/Work/Vibe/dance-lessons-coach/.vibe/skills/product-owner-assistant"
|
||||
DATA_DIR="$SKILL_DIR/data"
|
||||
GITEA_CLIENT="skill gitea-client"
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
set -e
|
||||
|
||||
# Configuration
|
||||
SKILL_DIR="/Users/gabrielradureau/Work/Vibe/DanceLessonsCoach/.vibe/skills/product-owner-assistant"
|
||||
SKILL_DIR="/Users/gabrielradureau/Work/Vibe/dance-lessons-coach/.vibe/skills/product-owner-assistant"
|
||||
GITEA_API="https://gitea.arcodange.lab/api/v1"
|
||||
OWNER="arcodange"
|
||||
REPO="dance-lessons-coach"
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
## 🎯 Overview
|
||||
|
||||
This document describes the standardized workflow for implementing user stories in the DanceLessonsCoach project. The workflow follows a test-driven development approach with clear phases and deliverables.
|
||||
This document describes the standardized workflow for implementing user stories in the dance-lessons-coach project. The workflow follows a test-driven development approach with clear phases and deliverables.
|
||||
|
||||
## 🔄 Workflow Diagram
|
||||
|
||||
@@ -89,7 +89,7 @@ Feature: User Persistence
|
||||
|
||||
```bash
|
||||
# Run BDD tests
|
||||
cd /Users/gabrielradureau/Work/Vibe/DanceLessonsCoach
|
||||
cd /Users/gabrielradureau/Work/Vibe/dance-lessons-coach
|
||||
godog features/user-persistence.feature
|
||||
|
||||
# Expected: Test fails with "pending" or "undefined" steps
|
||||
|
||||
@@ -3,7 +3,7 @@ name: skill-creator
|
||||
description: Creates and manages Mistral Vibe skills following the Agent Skills specification. Use when you need to create new skills, validate existing ones, or maintain skill consistency across projects.
|
||||
license: MIT
|
||||
metadata:
|
||||
author: DanceLessonsCoach Team
|
||||
author: dance-lessons-coach Team
|
||||
version: "1.0.0"
|
||||
---
|
||||
|
||||
|
||||
@@ -121,4 +121,4 @@ The skill_creator has been tested with:
|
||||
- **Compliance**: Automatic validation ensures specification compliance
|
||||
- **Maintainability**: Clear structure makes skills easier to update
|
||||
|
||||
The skill_creator provides a solid foundation for building a library of high-quality, specification-compliant skills for the DanceLessonsCoach project.
|
||||
The skill_creator provides a solid foundation for building a library of high-quality, specification-compliant skills for the dance-lessons-coach project.
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
## 📋 Overview
|
||||
|
||||
This skill provides comprehensive guidance and automation for managing OpenAPI/Swagger documentation in the DanceLessonsCoach project. It captures our best practices, tagging strategies, and automation patterns for maintaining high-quality API documentation.
|
||||
This skill provides comprehensive guidance and automation for managing OpenAPI/Swagger documentation in the dance-lessons-coach project. It captures our best practices, tagging strategies, and automation patterns for maintaining high-quality API documentation.
|
||||
|
||||
## 🎯 Key Features
|
||||
|
||||
@@ -145,6 +145,6 @@ Found a better way? Have a new pattern?
|
||||
|
||||
---
|
||||
|
||||
**Maintained by:** DanceLessonsCoach Team
|
||||
**Maintained by:** dance-lessons-coach Team
|
||||
**License:** MIT
|
||||
**Status:** Actively developed
|
||||
@@ -1,16 +1,16 @@
|
||||
---
|
||||
name: swagger-documentation
|
||||
description: Manage and optimize OpenAPI/Swagger documentation for DanceLessonsCoach
|
||||
description: Manage and optimize OpenAPI/Swagger documentation for dance-lessons-coach
|
||||
license: MIT
|
||||
metadata:
|
||||
author: DanceLessonsCoach Team
|
||||
author: dance-lessons-coach Team
|
||||
version: "1.0.0"
|
||||
---
|
||||
|
||||
# Swagger Documentation Skill
|
||||
|
||||
**Name:** `swagger-documentation`
|
||||
**Purpose:** Manage and optimize OpenAPI/Swagger documentation for DanceLessonsCoach
|
||||
**Purpose:** Manage and optimize OpenAPI/Swagger documentation for dance-lessons-coach
|
||||
**Version:** 1.0.0
|
||||
|
||||
## 🎯 Skill Objectives
|
||||
@@ -200,7 +200,7 @@ func (s *Server) handleHealth(w http.ResponseWriter, r *http.Request) {
|
||||
- [swaggo/swag Documentation](https://github.com/swaggo/swag#declaration)
|
||||
- [OpenAPI 2.0 Specification](https://swagger.io/specification/v2/)
|
||||
|
||||
### DanceLessonsCoach Specific
|
||||
### dance-lessons-coach Specific
|
||||
- [ADR 0013: OpenAPI/Swagger Toolchain](adr/0013-openapi-swagger-toolchain.md)
|
||||
- [AGENTS.md OpenAPI Section](#openapi-documentation)
|
||||
- [Current Implementation](pkg/greet/api_v1.go)
|
||||
@@ -303,6 +303,6 @@ fi
|
||||
|
||||
---
|
||||
|
||||
**Maintainers**: DanceLessonsCoach Team
|
||||
**Maintainers**: dance-lessons-coach Team
|
||||
**License**: MIT
|
||||
**Status**: Active
|
||||
@@ -1,4 +1,4 @@
|
||||
# DanceLessonsCoach YAML Lint Configuration
|
||||
# dance-lessons-coach YAML Lint Configuration
|
||||
# More practical limits for CI/CD workflow files
|
||||
|
||||
extends: default
|
||||
|
||||
38
AGENTS.md
38
AGENTS.md
@@ -1,10 +1,10 @@
|
||||
# DanceLessonsCoach - AI Agent Documentation
|
||||
# dance-lessons-coach - AI Agent Documentation
|
||||
|
||||
This file documents the AI agents, tools, and development workflow for the DanceLessonsCoach project.
|
||||
This file documents the AI agents, tools, and development workflow for the dance-lessons-coach project.
|
||||
|
||||
## 🎯 Project Overview
|
||||
|
||||
**DanceLessonsCoach** is a Go-based web service with CLI capabilities, featuring:
|
||||
**dance-lessons-coach** is a Go-based web service with CLI capabilities, featuring:
|
||||
- RESTful JSON API with Chi router
|
||||
- High-performance Zerolog logging
|
||||
- Interface-based architecture
|
||||
@@ -94,7 +94,7 @@ This file documents the AI agents, tools, and development workflow for the Dance
|
||||
## 🗺️ Project Structure
|
||||
|
||||
```
|
||||
DanceLessonsCoach/
|
||||
dance-lessons-coach/
|
||||
├── adr/ # Architecture Decision Records
|
||||
│ ├── README.md # ADR guidelines and index
|
||||
│ ├── 0001-go-1.26.1-standard.md
|
||||
@@ -138,7 +138,7 @@ DanceLessonsCoach/
|
||||
|
||||
### New Cobra CLI (Recommended)
|
||||
|
||||
DanceLessonsCoach now includes a modern CLI built with Cobra framework:
|
||||
dance-lessons-coach now includes a modern CLI built with Cobra framework:
|
||||
|
||||
```bash
|
||||
# Show help and available commands
|
||||
@@ -156,7 +156,7 @@ DanceLessonsCoach now includes a modern CLI built with Cobra framework:
|
||||
|
||||
**Available Commands:**
|
||||
- `version` - Print version information
|
||||
- `server` - Start the DanceLessonsCoach server
|
||||
- `server` - Start the dance-lessons-coach server
|
||||
- `greet [name]` - Greet someone by name
|
||||
- `help` - Built-in help system
|
||||
- `completion` - Generate shell completion scripts
|
||||
@@ -178,7 +178,7 @@ The server provides runtime version information:
|
||||
./bin/server --version
|
||||
|
||||
# Output:
|
||||
DanceLessonsCoach Version Information:
|
||||
dance-lessons-coach Version Information:
|
||||
Version: 1.0.0
|
||||
Commit: abc1234
|
||||
Built: 2026-04-05T10:00:00+0000
|
||||
@@ -191,7 +191,7 @@ A convenient shell script is provided for managing the server lifecycle:
|
||||
|
||||
```bash
|
||||
# Navigate to project directory
|
||||
cd /Users/gabrielradureau/Work/Vibe/DanceLessonsCoach
|
||||
cd /Users/gabrielradureau/Work/Vibe/dance-lessons-coach
|
||||
|
||||
# Start the server
|
||||
./scripts/start-server.sh start
|
||||
@@ -223,7 +223,7 @@ If you prefer manual control:
|
||||
|
||||
```bash
|
||||
# Navigate to project directory
|
||||
cd /Users/gabrielradureau/Work/Vibe/DanceLessonsCoach
|
||||
cd /Users/gabrielradureau/Work/Vibe/dance-lessons-coach
|
||||
|
||||
# Run server in background using control script
|
||||
./scripts/start-server.sh start
|
||||
@@ -535,7 +535,7 @@ Enable OpenTelemetry in your `config.yaml`:
|
||||
telemetry:
|
||||
enabled: true
|
||||
otlp_endpoint: "localhost:4317"
|
||||
service_name: "DanceLessonsCoach"
|
||||
service_name: "dance-lessons-coach"
|
||||
insecure: true
|
||||
sampler:
|
||||
type: "parentbased_always_on"
|
||||
@@ -547,7 +547,7 @@ Or via environment variables:
|
||||
```bash
|
||||
export DLC_TELEMETRY_ENABLED=true
|
||||
export DLC_TELEMETRY_OTLP_ENDPOINT="localhost:4317"
|
||||
export DLC_TELEMETRY_SERVICE_NAME="DanceLessonsCoach"
|
||||
export DLC_TELEMETRY_SERVICE_NAME="dance-lessons-coach"
|
||||
export DLC_TELEMETRY_INSECURE=true
|
||||
export DLC_TELEMETRY_SAMPLER_TYPE="parentbased_always_on"
|
||||
export DLC_TELEMETRY_SAMPLER_RATIO=1.0
|
||||
@@ -579,7 +579,7 @@ curl http://localhost:8080/api/v1/greet/John
|
||||
```
|
||||
|
||||
4. **View traces in Jaeger UI:**
|
||||
Open http://localhost:16686 and select the "DanceLessonsCoach" service.
|
||||
Open http://localhost:16686 and select the "dance-lessons-coach" service.
|
||||
|
||||
### Sampler Types
|
||||
|
||||
@@ -613,7 +613,7 @@ curl -s http://localhost:8080/api/health
|
||||
|
||||
### 2. Start Development Server
|
||||
```bash
|
||||
cd /Users/gabrielradureau/Work/Vibe/DanceLessonsCoach
|
||||
cd /Users/gabrielradureau/Work/Vibe/dance-lessons-coach
|
||||
./scripts/start-server.sh start
|
||||
```
|
||||
|
||||
@@ -927,7 +927,7 @@ defer cancel()
|
||||
|
||||
## 📦 Version Management
|
||||
|
||||
DanceLessonsCoach uses a comprehensive version management system based on Semantic Versioning 2.0.0.
|
||||
dance-lessons-coach uses a comprehensive version management system based on Semantic Versioning 2.0.0.
|
||||
|
||||
### Version Information
|
||||
|
||||
@@ -990,9 +990,9 @@ curl http://localhost:8080/api/version
|
||||
# Release build
|
||||
go build -o bin/server \
|
||||
-ldflags="\
|
||||
-X 'DanceLessonsCoach/pkg/version.Version=1.0.0' \
|
||||
-X 'DanceLessonsCoach/pkg/version.Commit=$(git rev-parse --short HEAD)' \
|
||||
-X 'DanceLessonsCoach/pkg/version.Date=$(date +%Y-%m-%dT%H:%M:%S%z)' \
|
||||
-X 'dance-lessons-coach/pkg/version.Version=1.0.0' \
|
||||
-X 'dance-lessons-coach/pkg/version.Commit=$(git rev-parse --short HEAD)' \
|
||||
-X 'dance-lessons-coach/pkg/version.Date=$(date +%Y-%m-%dT%H:%M:%S%z)' \
|
||||
" \
|
||||
./cmd/server
|
||||
```
|
||||
@@ -1034,7 +1034,7 @@ The `pkg/version` package provides runtime access to version information:
|
||||
package main
|
||||
|
||||
import (
|
||||
"DanceLessonsCoach/pkg/version"
|
||||
"dance-lessons-coach/pkg/version"
|
||||
"fmt"
|
||||
)
|
||||
|
||||
@@ -1267,7 +1267,7 @@ For issues or questions:
|
||||
4. Consult Go and Chi documentation
|
||||
5. Ask the AI agent for guidance
|
||||
|
||||
This documentation provides a complete guide to developing, testing, and maintaining the DanceLessonsCoach project using the established patterns and best practices.
|
||||
This documentation provides a complete guide to developing, testing, and maintaining the dance-lessons-coach project using the established patterns and best practices.
|
||||
## 📋 BDD Feature Structure
|
||||
|
||||
All user stories and BDD features follow the structure defined in ADR-0019:
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Contributing to DanceLessonsCoach
|
||||
# Contributing to dance-lessons-coach
|
||||
|
||||
Thank you for your interest in contributing to DanceLessonsCoach! This guide will help you set up your development environment and understand our contribution process.
|
||||
Thank you for your interest in contributing to dance-lessons-coach! This guide will help you set up your development environment and understand our contribution process.
|
||||
|
||||
## 📋 Table of Contents
|
||||
|
||||
@@ -24,8 +24,8 @@ Thank you for your interest in contributing to DanceLessonsCoach! This guide wil
|
||||
|
||||
```bash
|
||||
# Clone the repository
|
||||
git clone https://gitea.arcodange.lab/arcodange/DanceLessonsCoach.git
|
||||
cd DanceLessonsCoach
|
||||
git clone https://gitea.arcodange.lab/arcodange/dance-lessons-coach.git
|
||||
cd dance-lessons-coach
|
||||
|
||||
# Install dependencies
|
||||
go mod tidy
|
||||
@@ -260,7 +260,7 @@ Major architectural decisions are documented in the `adr/` directory. Please rev
|
||||
|
||||
## 🤖 AI Agent Contributions
|
||||
|
||||
AI agents play a crucial role in maintaining and improving DanceLessonsCoach. This section provides guidance for AI agents on how to effectively contribute.
|
||||
AI agents play a crucial role in maintaining and improving dance-lessons-coach. This section provides guidance for AI agents on how to effectively contribute.
|
||||
|
||||
### Key Files and Directories
|
||||
|
||||
@@ -342,7 +342,7 @@ AI agents play a crucial role in maintaining and improving DanceLessonsCoach. Th
|
||||
|
||||
## 📜 License
|
||||
|
||||
By contributing to DanceLessonsCoach, you agree that your contributions will be licensed under the MIT License.
|
||||
By contributing to dance-lessons-coach, you agree that your contributions will be licensed under the MIT License.
|
||||
|
||||
---
|
||||
|
||||
@@ -350,7 +350,7 @@ By contributing to DanceLessonsCoach, you agree that your contributions will be
|
||||
=======
|
||||
## 🤖 AI Agent Contributions
|
||||
|
||||
AI agents play a crucial role in maintaining and improving DanceLessonsCoach. This section provides guidance for AI agents on how to effectively contribute.
|
||||
AI agents play a crucial role in maintaining and improving dance-lessons-coach. This section provides guidance for AI agents on how to effectively contribute.
|
||||
|
||||
### Key Files and Directories
|
||||
|
||||
@@ -432,7 +432,7 @@ AI agents play a crucial role in maintaining and improving DanceLessonsCoach. Th
|
||||
|
||||
## 📜 License
|
||||
|
||||
By contributing to DanceLessonsCoach, you agree that your contributions will be licensed under the MIT License.
|
||||
By contributing to dance-lessons-coach, you agree that your contributions will be licensed under the MIT License.
|
||||
|
||||
---
|
||||
|
||||
|
||||
16
README.md
16
README.md
@@ -1,8 +1,8 @@
|
||||
# DanceLessonsCoach
|
||||
# dance-lessons-coach
|
||||
|
||||
[](https://gitea.arcodange.fr/arcodange/DanceLessonsCoach)
|
||||
[](https://goreportcard.com/report/github.com/arcodange/DanceLessonsCoach)
|
||||
[](https://gitea.arcodange.fr/arcodange/DanceLessonsCoach/releases)
|
||||
[](https://gitea.arcodange.fr/arcodange/dance-lessons-coach)
|
||||
[](https://goreportcard.com/report/github.com/arcodange/dance-lessons-coach)
|
||||
[](https://gitea.arcodange.fr/arcodange/dance-lessons-coach/releases)
|
||||
[](LICENSE)
|
||||
[](https://gitea.arcodange.lab/arcodange/dance-lessons-coach)
|
||||
|
||||
@@ -43,7 +43,7 @@ go run ./cmd/greet
|
||||
|
||||
## CI/CD Pipeline
|
||||
|
||||
DanceLessonsCoach includes a portable CI/CD pipeline using GitHub Actions syntax:
|
||||
dance-lessons-coach includes a portable CI/CD pipeline using GitHub Actions syntax:
|
||||
|
||||
### Features
|
||||
- ✅ **Multi-platform**: Works on Gitea, GitHub, and GitLab
|
||||
@@ -185,7 +185,7 @@ go test ./pkg/greet/
|
||||
|
||||
## CI/CD
|
||||
|
||||
DanceLessonsCoach includes a comprehensive CI/CD pipeline with multiple testing options:
|
||||
dance-lessons-coach includes a comprehensive CI/CD pipeline with multiple testing options:
|
||||
|
||||
### Local Testing (No Gitea Required)
|
||||
```bash
|
||||
@@ -216,7 +216,7 @@ DanceLessonsCoach includes a comprehensive CI/CD pipeline with multiple testing
|
||||
## Project Structure
|
||||
|
||||
```
|
||||
DanceLessonsCoach/
|
||||
dance-lessons-coach/
|
||||
├── adr/ # Architecture Decision Records
|
||||
├── cmd/ # Entry points (greet CLI, server)
|
||||
├── pkg/ # Core packages (config, greet, server, telemetry)
|
||||
@@ -274,7 +274,7 @@ This project uses Architecture Decision Records (ADRs) to document key technical
|
||||
|
||||
## Gitea Integration
|
||||
|
||||
DanceLessonsCoach includes AI agent skills for Gitea integration to monitor CI/CD jobs and interact with pull requests.
|
||||
dance-lessons-coach includes AI agent skills for Gitea integration to monitor CI/CD jobs and interact with pull requests.
|
||||
|
||||
### Gitea Client Skill Setup
|
||||
|
||||
|
||||
2
VERSION
2
VERSION
@@ -1,4 +1,4 @@
|
||||
# DanceLessonsCoach Version
|
||||
# dance-lessons-coach Version
|
||||
|
||||
# Current Version (Semantic Versioning)
|
||||
MAJOR=1
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
## Context and Problem Statement
|
||||
|
||||
We needed to choose a Go version for the DanceLessonsCoach project that provides:
|
||||
We needed to choose a Go version for the dance-lessons-coach project that provides:
|
||||
- Stability and long-term support
|
||||
- Access to modern language features
|
||||
- Good ecosystem compatibility
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
## Context and Problem Statement
|
||||
|
||||
We needed to choose an HTTP router for the DanceLessonsCoach web service that provides:
|
||||
We needed to choose an HTTP router for the dance-lessons-coach web service that provides:
|
||||
- Good performance characteristics
|
||||
- Flexible routing capabilities
|
||||
- Middleware support
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
## Context and Problem Statement
|
||||
|
||||
We needed to choose a logging library for DanceLessonsCoach that provides:
|
||||
We needed to choose a logging library for dance-lessons-coach that provides:
|
||||
- High performance with minimal overhead
|
||||
- Structured logging capabilities
|
||||
- Multiple output formats (console, JSON)
|
||||
@@ -94,7 +94,7 @@ Chosen option: "Zerolog" because it provides excellent performance, clean API, g
|
||||
| With fields | 3 alloc | 4 alloc |
|
||||
| Complex | 5 alloc | 6 alloc |
|
||||
|
||||
### Real-World Impact for DanceLessonsCoach
|
||||
### Real-World Impact for dance-lessons-coach
|
||||
|
||||
* **Performance**: <1μs difference per request - negligible impact
|
||||
* **Memory**: Zerolog's better allocation profile helps in long-running services
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
## Context and Problem Statement
|
||||
|
||||
We needed to choose a design pattern for DanceLessonsCoach that provides:
|
||||
We needed to choose a design pattern for dance-lessons-coach that provides:
|
||||
- Good testability and mocking capabilities
|
||||
- Flexibility for future changes
|
||||
- Clear separation of concerns
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
## Context and Problem Statement
|
||||
|
||||
We needed to implement a shutdown mechanism for DanceLessonsCoach that provides:
|
||||
We needed to implement a shutdown mechanism for dance-lessons-coach that provides:
|
||||
- Clean resource cleanup
|
||||
- Proper handling of in-flight requests
|
||||
- Kubernetes/service mesh compatibility
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
## Context and Problem Statement
|
||||
|
||||
We needed a configuration management solution for DanceLessonsCoach that provides:
|
||||
We needed a configuration management solution for dance-lessons-coach that provides:
|
||||
- Support for multiple configuration sources (files, environment variables, defaults)
|
||||
- Configuration validation
|
||||
- Type-safe configuration loading
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
## Context and Problem Statement
|
||||
|
||||
We needed to add observability to DanceLessonsCoach that provides:
|
||||
We needed to add observability to dance-lessons-coach that provides:
|
||||
- Distributed tracing capabilities
|
||||
- Performance monitoring
|
||||
- Request flow visualization
|
||||
@@ -105,7 +105,7 @@ func (s *Server) getAllMiddlewares() []func(http.Handler) http.Handler {
|
||||
telemetry:
|
||||
enabled: true
|
||||
otlp_endpoint: "localhost:4317"
|
||||
service_name: "DanceLessonsCoach"
|
||||
service_name: "dance-lessons-coach"
|
||||
insecure: true
|
||||
sampler:
|
||||
type: "parentbased_always_on"
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
## Context and Problem Statement
|
||||
|
||||
We needed to add behavioral testing to DanceLessonsCoach that provides:
|
||||
We needed to add behavioral testing to dance-lessons-coach that provides:
|
||||
- User-centric test scenarios
|
||||
- Living documentation
|
||||
- Integration testing capabilities
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
## Context and Problem Statement
|
||||
|
||||
We need to establish a comprehensive testing strategy for DanceLessonsCoach that provides:
|
||||
We need to establish a comprehensive testing strategy for dance-lessons-coach that provides:
|
||||
- Behavioral verification through BDD
|
||||
- API documentation through Swagger/OpenAPI
|
||||
- Client SDK validation
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
## Context
|
||||
|
||||
The DanceLessonsCoach application needed to add a new API version (v2) that provides different greeting behavior while maintaining backward compatibility with the existing v1 API. The v2 API should only be available when explicitly enabled via a feature flag.
|
||||
The dance-lessons-coach application needed to add a new API version (v2) that provides different greeting behavior while maintaining backward compatibility with the existing v1 API. The v2 API should only be available when explicitly enabled via a feature flag.
|
||||
|
||||
## Decision
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
## Context
|
||||
|
||||
The DanceLessonsCoach project implemented Git hooks to automatically run `go fmt` and `go mod tidy` before commits. Initially, the `go fmt` hook was configured to format **all Go files** in the repository, regardless of their staged status.
|
||||
The dance-lessons-coach project implemented Git hooks to automatically run `go fmt` and `go mod tidy` before commits. Initially, the `go fmt` hook was configured to format **all Go files** in the repository, regardless of their staged status.
|
||||
|
||||
During implementation review, concerns were raised about this approach:
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
## Context
|
||||
|
||||
The DanceLessonsCoach project requires comprehensive API documentation and testing capabilities. As the API evolves with v1 and v2 endpoints, we need a robust OpenAPI/Swagger toolchain to:
|
||||
The dance-lessons-coach project requires comprehensive API documentation and testing capabilities. As the API evolves with v1 and v2 endpoints, we need a robust OpenAPI/Swagger toolchain to:
|
||||
|
||||
1. **Document APIs**: Generate interactive API documentation
|
||||
2. **Test APIs**: Enable automated API testing
|
||||
@@ -166,9 +166,9 @@ import (
|
||||
// Chi adapter would be needed
|
||||
)
|
||||
|
||||
// @title DanceLessonsCoach API
|
||||
// @title dance-lessons-coach API
|
||||
// @version 1.0
|
||||
// @description API for DanceLessonsCoach service
|
||||
// @description API for dance-lessons-coach service
|
||||
// @host localhost:8080
|
||||
// @BasePath /api
|
||||
func main() {
|
||||
@@ -328,9 +328,9 @@ After thorough evaluation and implementation, we've successfully integrated swag
|
||||
go install github.com/swaggo/swag/cmd/swag@latest
|
||||
|
||||
# 2. Add swagger metadata to main.go
|
||||
// @title DanceLessonsCoach API
|
||||
// @title dance-lessons-coach API
|
||||
// @version 1.0
|
||||
// @description API for DanceLessonsCoach service
|
||||
// @description API for dance-lessons-coach service
|
||||
// @host localhost:8080
|
||||
// @BasePath /api
|
||||
package main
|
||||
@@ -390,9 +390,9 @@ swag fmt
|
||||
go install github.com/swaggo/swag/cmd/swag@latest
|
||||
|
||||
# 2. Add swagger metadata to main.go
|
||||
// @title DanceLessonsCoach API
|
||||
// @title dance-lessons-coach API
|
||||
// @version 1.0
|
||||
// @description API for DanceLessonsCoach service
|
||||
// @description API for dance-lessons-coach service
|
||||
// @host localhost:8080
|
||||
// @BasePath /api
|
||||
package main
|
||||
@@ -525,7 +525,7 @@ s.router.Get("/swagger/*", httpSwagger.WrapHandler)
|
||||
# 2. Create OpenAPI spec (openapi.yaml)
|
||||
# openapi: 3.0.3
|
||||
# info:
|
||||
# title: DanceLessonsCoach API
|
||||
# title: dance-lessons-coach API
|
||||
# version: 1.0.0
|
||||
|
||||
# 3. Generate server types
|
||||
@@ -654,9 +654,9 @@ go install github.com/deepmap/oapi-codegen/cmd/oapi-codegen@latest
|
||||
# 2. Create OpenAPI spec (openapi.yaml)
|
||||
openapi: 3.0.3
|
||||
info:
|
||||
title: DanceLessonsCoach API
|
||||
title: dance-lessons-coach API
|
||||
version: 1.0.0
|
||||
description: API for DanceLessonsCoach service
|
||||
description: API for dance-lessons-coach service
|
||||
servers:
|
||||
- url: http://localhost:8080/api
|
||||
description: Development server
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
## Context
|
||||
|
||||
As DanceLessonsCoach grows, we need a more robust and maintainable CLI structure. Currently, we use simple flag parsing (`--version`), but this approach has limitations:
|
||||
As dance-lessons-coach grows, we need a more robust and maintainable CLI structure. Currently, we use simple flag parsing (`--version`), but this approach has limitations:
|
||||
|
||||
1. **Limited scalability**: Adding more commands/flags becomes messy
|
||||
2. **Poor user experience**: No built-in help, completion, or validation
|
||||
@@ -51,10 +51,10 @@ We will adopt **Cobra** as our CLI framework. Cobra is a mature, widely-used lib
|
||||
```go
|
||||
var rootCmd = &cobra.Command{
|
||||
Use: "dance-lessons-coach",
|
||||
Short: "DanceLessonsCoach - API server and CLI tools",
|
||||
Long: `DanceLessonsCoach provides greeting services and API management.
|
||||
Short: "dance-lessons-coach - API server and CLI tools",
|
||||
Long: `dance-lessons-coach provides greeting services and API management.
|
||||
|
||||
To begin working with DanceLessonsCoach, run:
|
||||
To begin working with dance-lessons-coach, run:
|
||||
dance-lessons-coach server --help`,
|
||||
SilenceUsage: true,
|
||||
}
|
||||
@@ -69,7 +69,7 @@ var versionCmd = &cobra.Command{
|
||||
|
||||
var serverCmd = &cobra.Command{
|
||||
Use: "server",
|
||||
Short: "Start the DanceLessonsCoach server",
|
||||
Short: "Start the dance-lessons-coach server",
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
// Load config and start server
|
||||
cfg, err := config.LoadConfig()
|
||||
@@ -116,7 +116,7 @@ func main() {
|
||||
|
||||
**Current Commands:**
|
||||
- `version`: Print version information
|
||||
- `server`: Start the DanceLessonsCoach server
|
||||
- `server`: Start the dance-lessons-coach server
|
||||
- `greet [name]`: Greet someone by name
|
||||
- `help`: Built-in help system
|
||||
- `completion`: Shell completion scripts (automatic)
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
## Context
|
||||
|
||||
DanceLessonsCoach requires a robust CI/CD pipeline that:
|
||||
dance-lessons-coach requires a robust CI/CD pipeline that:
|
||||
|
||||
1. **Primary Platform**: Gitea (self-hosted Git service)
|
||||
2. **Mirror Support**: GitHub and GitLab mirrors for visibility and backup
|
||||
@@ -69,7 +69,7 @@ graph TD
|
||||
|
||||
```yaml
|
||||
# .github/workflows/main.yml
|
||||
name: DanceLessonsCoach CI/CD
|
||||
name: dance-lessons-coach CI/CD
|
||||
|
||||
on:
|
||||
push:
|
||||
@@ -140,10 +140,10 @@ jobs:
|
||||
# README.md
|
||||
|
||||
[](https://ci.dancelessonscoach.org)
|
||||
[](https://github.com/yourorg/DanceLessonsCoach/actions)
|
||||
[](https://gitlab.com/yourorg/DanceLessonsCoach/-/pipelines)
|
||||
[](https://goreportcard.com/report/github.com/yourorg/DanceLessonsCoach)
|
||||
[](https://codecov.io/gh/yourorg/DanceLessonsCoach)
|
||||
[](https://github.com/yourorg/dance-lessons-coach/actions)
|
||||
[](https://gitlab.com/yourorg/dance-lessons-coach/-/pipelines)
|
||||
[](https://goreportcard.com/report/github.com/yourorg/dance-lessons-coach)
|
||||
[](https://codecov.io/gh/yourorg/dance-lessons-coach)
|
||||
```
|
||||
|
||||
### 5. Mirror Synchronization Strategy
|
||||
@@ -170,7 +170,7 @@ mkdir -p .gitea/workflows
|
||||
|
||||
# 2. Create main workflow file with Arcodange-specific configuration
|
||||
cat > .gitea/workflows/ci-cd.yaml << 'EOF'
|
||||
name: DanceLessonsCoach CI/CD
|
||||
name: dance-lessons-coach CI/CD
|
||||
|
||||
on:
|
||||
push:
|
||||
@@ -200,41 +200,41 @@ jobs:
|
||||
- name: Notify internal systems
|
||||
if: always()
|
||||
run: |
|
||||
curl -X POST "$GITEA_INTERNAL/api/v1/repos/yourorg/DanceLessonsCoach/statuses/$(git rev-parse HEAD)" \
|
||||
curl -X POST "$GITEA_INTERNAL/api/v1/repos/yourorg/dance-lessons-coach/statuses/$(git rev-parse HEAD)" \
|
||||
-H "Authorization: token $GITEA_TOKEN" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d "{\"state\": \"$([ $? -eq 0 ] && echo 'success' || echo 'failure')\", \"context\": \"ci/build-test\"}"
|
||||
EOF
|
||||
|
||||
# 3. Enable Gitea CI/CD in repo settings (Arcodange instance)
|
||||
# - Go to: https://gitea.arcodange.lab/arcodange/DanceLessonsCoach/settings/actions
|
||||
# - Go to: https://gitea.arcodange.lab/arcodange/dance-lessons-coach/settings/actions
|
||||
# - Enable GitHub Actions
|
||||
# - Configure runner to use internal network (192.168.1.202)
|
||||
# - Set up GITEA_TOKEN for API access
|
||||
# - SSH URL: ssh://git@192.168.1.202:2222/arcodange/DanceLessonsCoach.git
|
||||
# - SSH URL: ssh://git@192.168.1.202:2222/arcodange/dance-lessons-coach.git
|
||||
|
||||
# 4. Add STATUS_BADGES.md with Arcodange-specific URLs
|
||||
cat > STATUS_BADGES.md << 'EOF'
|
||||
## Arcodange Gitea Badges
|
||||
|
||||
```markdown
|
||||
[](https://gitea.arcodange.fr/arcodange/DanceLessonsCoach)
|
||||
[](https://gitea.arcodange.fr/arcodange/DanceLessonsCoach/-/pipelines)
|
||||
[](https://gitea.arcodange.fr/arcodange/dance-lessons-coach)
|
||||
[](https://gitea.arcodange.fr/arcodange/dance-lessons-coach/-/pipelines)
|
||||
```
|
||||
|
||||
**Configuration Details:**
|
||||
- Organization: arcodange
|
||||
- Repository: DanceLessonsCoach
|
||||
- Repository: dance-lessons-coach
|
||||
- Internal URL: https://gitea.arcodange.lab/
|
||||
- External URL: https://gitea.arcodange.fr/
|
||||
- SSH URL: ssh://git@192.168.1.202:2222/arcodange/DanceLessonsCoach.git
|
||||
- SSH URL: ssh://git@192.168.1.202:2222/arcodange/dance-lessons-coach.git
|
||||
- Badges use external URL with full org/repo path
|
||||
- CI/CD uses internal URL for faster network access
|
||||
EOF
|
||||
|
||||
# 5. Configure CI/CD runners on internal network
|
||||
# - Set up runners to access: https://gitea.arcodange.lab/
|
||||
# - Configure SSH access: ssh://git@192.168.1.202:2222/arcodange/DanceLessonsCoach.git
|
||||
# - Configure SSH access: ssh://git@192.168.1.202:2222/arcodange/dance-lessons-coach.git
|
||||
# - Ensure runners have network access to internal services (192.168.1.202:2222)
|
||||
# - Configure runners with proper GITEA_TOKEN
|
||||
# - Test connection: curl https://gitea.arcodange.lab/api/v1/version
|
||||
@@ -332,18 +332,18 @@ cat > STATUS_BADGES.md << 'EOF'
|
||||
|
||||
## GitHub Mirror
|
||||
```markdown
|
||||
[](https://github.com/yourorg/DanceLessonsCoach/actions)
|
||||
[](https://github.com/yourorg/dance-lessons-coach/actions)
|
||||
```
|
||||
|
||||
## GitLab Mirror
|
||||
```markdown
|
||||
[](https://gitlab.com/yourorg/DanceLessonsCoach/-/pipelines)
|
||||
[](https://gitlab.com/yourorg/dance-lessons-coach/-/pipelines)
|
||||
```
|
||||
|
||||
## Code Quality
|
||||
```markdown
|
||||
[](https://goreportcard.com/report/github.com/yourorg/DanceLessonsCoach)
|
||||
[](https://codecov.io/gh/yourorg/DanceLessonsCoach)
|
||||
[](https://goreportcard.com/report/github.com/yourorg/dance-lessons-coach)
|
||||
[](https://codecov.io/gh/yourorg/dance-lessons-coach)
|
||||
```
|
||||
EOF
|
||||
|
||||
@@ -452,7 +452,7 @@ docker run --rm \
|
||||
-e GITEA_INTERNAL="https://gitea.arcodange.lab/" \
|
||||
-e GITEA_EXTERNAL="https://gitea.arcodange.fr/" \
|
||||
-e GITEA_ORG="arcodange" \
|
||||
-e GITEA_REPO="DanceLessonsCoach" \
|
||||
-e GITEA_REPO="dance-lessons-coach" \
|
||||
gitea/act_runner:latest \
|
||||
act -W .gitea/workflows/ci-cd.yaml --rm
|
||||
```
|
||||
@@ -472,7 +472,7 @@ act -W .gitea/workflows/ci-cd.yaml \
|
||||
# 3. With specific event simulation
|
||||
act push -W .gitea/workflows/ci-cd.yaml \
|
||||
--env GITEA_ORG=arcodange \
|
||||
--env GITEA_REPO=DanceLessonsCoach
|
||||
--env GITEA_REPO=dance-lessons-coach
|
||||
```
|
||||
|
||||
### Pipeline Status Checking Scripts
|
||||
@@ -489,10 +489,10 @@ echo "🔍 Checking CI/CD Pipeline Status"
|
||||
echo "================================"
|
||||
|
||||
# 1. Gitea (Primary) - Internal URL
|
||||
if curl -s -o /dev/null -w "%{http_code}" "https://gitea.arcodange.lab/api/v1/repos/arcodange/DanceLessonsCoach/actions/workflows" | grep -q "200"; then
|
||||
if curl -s -o /dev/null -w "%{http_code}" "https://gitea.arcodange.lab/api/v1/repos/arcodange/dance-lessons-coach/actions/workflows" | grep -q "200"; then
|
||||
echo "✅ Gitea Internal API: Accessible"
|
||||
# Get workflow list
|
||||
WORKFLOWS=$(curl -s "https://gitea.arcodange.lab/api/v1/repos/arcodange/DanceLessonsCoach/actions/workflows" | jq -r '.[] | .name + " (" + .file_name + ")"')
|
||||
WORKFLOWS=$(curl -s "https://gitea.arcodange.lab/api/v1/repos/arcodange/dance-lessons-coach/actions/workflows" | jq -r '.[] | .name + " (" + .file_name + ")"')
|
||||
echo "📋 Gitea Workflows:"
|
||||
echo "$WORKFLOWS" | sed 's/^/ - /'
|
||||
else
|
||||
@@ -502,9 +502,9 @@ fi
|
||||
# 2. Gitea (External) - Public URL
|
||||
echo ""
|
||||
echo "🌐 Gitea External Status:"
|
||||
if curl -s -o /dev/null -w "%{http_code}" "https://gitea.arcodange.fr/arcodange/DanceLessonsCoach" | grep -q "200"; then
|
||||
if curl -s -o /dev/null -w "%{http_code}" "https://gitea.arcodange.fr/arcodange/dance-lessons-coach" | grep -q "200"; then
|
||||
echo "✅ Gitea External: Accessible"
|
||||
echo "🔗 Repository: https://gitea.arcodange.fr/arcodange/DanceLessonsCoach"
|
||||
echo "🔗 Repository: https://gitea.arcodange.fr/arcodange/dance-lessons-coach"
|
||||
else
|
||||
echo "❌ Gitea External: Not accessible"
|
||||
fi
|
||||
@@ -512,7 +512,7 @@ fi
|
||||
# 3. Check badge API
|
||||
echo ""
|
||||
echo "🏷️ Badge API Status:"
|
||||
BADGE_URL="https://gitea.arcodange.fr/api/badges/arcodange/DanceLessonsCoach/status"
|
||||
BADGE_URL="https://gitea.arcodange.fr/api/badges/arcodange/dance-lessons-coach/status"
|
||||
if curl -s -o /dev/null -w "%{http_code}" "$BADGE_URL" | grep -q "200"; then
|
||||
echo "✅ Badge API: Accessible"
|
||||
echo "🔗 Badge URL: $BADGE_URL"
|
||||
@@ -541,8 +541,8 @@ echo "✅ Arcodange conventions: Matches webapp workflow style"
|
||||
echo ""
|
||||
echo "💡 Next Steps:"
|
||||
echo " 1. Push to trigger workflow: git push origin main"
|
||||
echo " 2. Check Gitea Actions: https://gitea.arcodange.lab/arcodange/DanceLessonsCoach/actions"
|
||||
echo " 3. Monitor badges: https://gitea.arcodange.fr/arcodange/DanceLessonsCoach"
|
||||
echo " 2. Check Gitea Actions: https://gitea.arcodange.lab/arcodange/dance-lessons-coach/actions"
|
||||
echo " 3. Monitor badges: https://gitea.arcodange.fr/arcodange/dance-lessons-coach"
|
||||
```
|
||||
|
||||
### Workflow Validation Script
|
||||
@@ -659,7 +659,7 @@ services:
|
||||
- GITEA_INTERNAL=https://gitea.arcodange.lab/
|
||||
- GITEA_EXTERNAL=https://gitea.arcodange.fr/
|
||||
- GITEA_ORG=arcodange
|
||||
- GITEA_REPO=DanceLessonsCoach
|
||||
- GITEA_REPO=dance-lessons-coach
|
||||
command: act -W .gitea/workflows/ci-cd.yaml --rm
|
||||
|
||||
yamllint:
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
## Context
|
||||
|
||||
DanceLessonsCoach requires a safe workflow for making CI/CD changes to prevent breaking the main branch. The current workflow allows direct pushes to main, which poses risks for CI/CD configuration changes that could break the entire pipeline.
|
||||
dance-lessons-coach requires a safe workflow for making CI/CD changes to prevent breaking the main branch. The current workflow allows direct pushes to main, which poses risks for CI/CD configuration changes that could break the entire pipeline.
|
||||
|
||||
## Decision Drivers
|
||||
|
||||
@@ -220,13 +220,13 @@ echo 'm' | act -n -W .gitea/workflows/ci-cd.yaml
|
||||
|
||||
#### Sample Dry Run Output
|
||||
```
|
||||
*DRYRUN* [DanceLessonsCoach CI/CD/Build and Test ] ⭐ Run Set up job
|
||||
*DRYRUN* [DanceLessonsCoach CI/CD/Build and Test ] 🚀 Start image=node:16-buster-slim
|
||||
*DRYRUN* [DanceLessonsCoach CI/CD/Build and Test ] ✅ Success - Set up job
|
||||
*DRYRUN* [DanceLessonsCoach CI/CD/Build and Test ] ⭐ Run Main Checkout code
|
||||
*DRYRUN* [DanceLessonsCoach CI/CD/Build and Test ] ✅ Success - Main Checkout code [4.038875ms]
|
||||
*DRYRUN* [dance-lessons-coach CI/CD/Build and Test ] ⭐ Run Set up job
|
||||
*DRYRUN* [dance-lessons-coach CI/CD/Build and Test ] 🚀 Start image=node:16-buster-slim
|
||||
*DRYRUN* [dance-lessons-coach CI/CD/Build and Test ] ✅ Success - Set up job
|
||||
*DRYRUN* [dance-lessons-coach CI/CD/Build and Test ] ⭐ Run Main Checkout code
|
||||
*DRYRUN* [dance-lessons-coach CI/CD/Build and Test ] ✅ Success - Main Checkout code [4.038875ms]
|
||||
... (all steps succeeded)
|
||||
*DRYRUN* [DanceLessonsCoach CI/CD/Build and Test ] 🏁 Job succeeded
|
||||
*DRYRUN* [dance-lessons-coach CI/CD/Build and Test ] 🏁 Job succeeded
|
||||
```
|
||||
|
||||
### Recommended Local Development Workflow
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
## Context
|
||||
|
||||
The DanceLessonsCoach application currently lacks user management and authentication capabilities. To provide personalized experiences and administrative functions, we need to implement a secure user authentication system with PostgreSQL persistence.
|
||||
The dance-lessons-coach application currently lacks user management and authentication capabilities. To provide personalized experiences and administrative functions, we need to implement a secure user authentication system with PostgreSQL persistence.
|
||||
|
||||
## Decision
|
||||
|
||||
@@ -69,7 +69,7 @@ CREATE TABLE users (
|
||||
|
||||
#### Architecture Alignment
|
||||
|
||||
The user management system follows the established DanceLessonsCoach patterns:
|
||||
The user management system follows the established dance-lessons-coach patterns:
|
||||
|
||||
1. **Interface-based Design:**
|
||||
```go
|
||||
@@ -309,7 +309,7 @@ type Config struct {
|
||||
|
||||
## Implementation Plan
|
||||
|
||||
This implementation builds upon the completed phases and follows the established DanceLessonsCoach patterns.
|
||||
This implementation builds upon the completed phases and follows the established dance-lessons-coach patterns.
|
||||
|
||||
### Phase 10: User Management Foundation (Next Phase)
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
## Context
|
||||
|
||||
The DanceLessonsCoach application currently uses SQLite with GORM for the user management system (ADR 0018), but since there are no existing users or production data, we can implement PostgreSQL directly as our primary database without migration concerns.
|
||||
The dance-lessons-coach application currently uses SQLite with GORM for the user management system (ADR 0018), but since there are no existing users or production data, we can implement PostgreSQL directly as our primary database without migration concerns.
|
||||
|
||||
### Current State
|
||||
- **Database:** SQLite (in-memory mode) - no persistent data
|
||||
@@ -96,7 +96,7 @@ CREATE TABLE greet_history (
|
||||
|
||||
#### Architecture Alignment
|
||||
|
||||
The PostgreSQL integration follows established DanceLessonsCoach patterns:
|
||||
The PostgreSQL integration follows established dance-lessons-coach patterns:
|
||||
|
||||
1. **Interface-based Design:**
|
||||
```go
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
## Context
|
||||
|
||||
The DanceLessonsCoach CI/CD pipeline initially used Docker Buildx (`docker buildx build --push`) for building and pushing Docker cache images. However, this approach encountered several issues:
|
||||
The dance-lessons-coach CI/CD pipeline initially used Docker Buildx (`docker buildx build --push`) for building and pushing Docker cache images. However, this approach encountered several issues:
|
||||
|
||||
### Issues with Buildx Approach
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Architecture Decision Records (ADRs)
|
||||
|
||||
This directory contains Architecture Decision Records (ADRs) for the DanceLessonsCoach project.
|
||||
This directory contains Architecture Decision Records (ADRs) for the dance-lessons-coach project.
|
||||
|
||||
## What is an ADR?
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# DanceLessonsCoach Configuration
|
||||
# dance-lessons-coach Configuration
|
||||
# This file serves as both the default configuration and documentation
|
||||
# All available options are shown with their default values
|
||||
|
||||
@@ -41,8 +41,8 @@ telemetry:
|
||||
# Format: host:port
|
||||
otlp_endpoint: "localhost:4317"
|
||||
|
||||
# Service name for tracing (default: "DanceLessonsCoach")
|
||||
service_name: "DanceLessonsCoach"
|
||||
# Service name for tracing (default: "dance-lessons-coach")
|
||||
service_name: "dance-lessons-coach"
|
||||
|
||||
# Use insecure connection (no TLS) (default: true)
|
||||
insecure: true
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# DanceLessonsCoach Docker Image
|
||||
# dance-lessons-coach Docker Image
|
||||
# Multi-stage build for production deployment
|
||||
|
||||
# Stage 1: Build binary
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# DanceLessonsCoach Production Docker Image
|
||||
# dance-lessons-coach Production Docker Image
|
||||
# ⚠️ DEVELOPMENT ONLY - This file uses 'latest' tag for local testing
|
||||
# ⚠️ CI/CD generates the correct Dockerfile.prod with proper dependency hash
|
||||
# ⚠️ For production use, see the CI/CD workflow which generates the correct file
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# DanceLessonsCoach Production Docker Image
|
||||
# dance-lessons-coach Production Docker Image
|
||||
# Minimal image using pre-built binary from CI cache
|
||||
# Template: Replace {{DEPS_HASH}} with actual dependency hash
|
||||
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
# DanceLessonsCoach Agent Usage Guide
|
||||
# dance-lessons-coach Agent Usage Guide
|
||||
|
||||
## 🚀 Quick Start
|
||||
|
||||
### Launch Programmer Agent
|
||||
```bash
|
||||
cd /Users/gabrielradureau/Work/Vibe/DanceLessonsCoach
|
||||
cd /Users/gabrielradureau/Work/Vibe/dance-lessons-coach
|
||||
vibe start --agent dancelessonscoachprogrammer
|
||||
```
|
||||
|
||||
### Launch Product Owner Agent
|
||||
```bash
|
||||
cd /Users/gabrielradureau/Work/Vibe/DanceLessonsCoach
|
||||
cd /Users/gabrielradureau/Work/Vibe/dance-lessons-coach
|
||||
vibe start --agent dancelessonscoach-product-owner
|
||||
```
|
||||
|
||||
@@ -141,7 +141,7 @@ skill changelog-manager add-entry \
|
||||
```toml
|
||||
# .mistral/dancelessonscoachprogrammer-agent.toml
|
||||
name: dancelessonscoachprogrammer
|
||||
role: DanceLessonsCoachProgrammer
|
||||
role: dance-lessons-coach-programmer
|
||||
goals: ["Follow BDD practices", "Use Gitmoji commits", "Respect ADR process"]
|
||||
```
|
||||
|
||||
@@ -149,7 +149,7 @@ goals: ["Follow BDD practices", "Use Gitmoji commits", "Respect ADR process"]
|
||||
```toml
|
||||
# .mistral/dancelessonscoach-product-owner-agent.toml
|
||||
name: dancelessonscoach-product-owner
|
||||
role: DanceLessonsCoachProductOwner
|
||||
role: dance-lessons-coach-product-owner
|
||||
goals: ["Facilitate stakeholder interviews", "Generate BDD tests", "Maintain documentation"]
|
||||
```
|
||||
|
||||
@@ -210,7 +210,7 @@ vibe validate --agent dancelessonscoach-product-owner
|
||||
```bash
|
||||
# List available skills
|
||||
ls /Users/gabrielradureau/Work/Vibe/.mistral/skills/
|
||||
ls /Users/gabrielradureau/Work/Vibe/DanceLessonsCoach/.vibe/skills/
|
||||
ls /Users/gabrielradureau/Work/Vibe/dance-lessons-coach/.vibe/skills/
|
||||
|
||||
# Validate skill
|
||||
skill skill-creator validate .vibe/skills/product-owner-assistant
|
||||
@@ -222,7 +222,7 @@ skill skill-creator validate .mistral/skills/interview-facilitator
|
||||
```bash
|
||||
# Check file permissions
|
||||
chmod +x /Users/gabrielradureau/Work/Vibe/.mistral/skills/*/scripts/*
|
||||
chmod +x /Users/gabrielradureau/Work/Vibe/DanceLessonsCoach/.vibe/skills/*/scripts/*
|
||||
chmod +x /Users/gabrielradureau/Work/Vibe/dance-lessons-coach/.vibe/skills/*/scripts/*
|
||||
```
|
||||
|
||||
## 📖 Related Documentation
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# BDD Testing Guide for DanceLessonsCoach
|
||||
# BDD Testing Guide for dance-lessons-coach
|
||||
|
||||
This guide explains how to work with BDD tests using Godog in the DanceLessonsCoach project.
|
||||
This guide explains how to work with BDD tests using Godog in the dance-lessons-coach project.
|
||||
|
||||
## Installation
|
||||
|
||||
@@ -33,7 +33,7 @@ The project already includes Godog as a dependency in `go.mod`. The BDD tests ar
|
||||
|
||||
```bash
|
||||
# From project root
|
||||
cd /Users/gabrielradureau/Work/Vibe/DanceLessonsCoach
|
||||
cd /Users/gabrielradureau/Work/Vibe/dance-lessons-coach
|
||||
go test ./features/... -v
|
||||
```
|
||||
|
||||
@@ -112,7 +112,7 @@ Create a corresponding step definition file in `pkg/bdd/steps/`:
|
||||
package steps
|
||||
|
||||
import (
|
||||
"DanceLessonsCoach/pkg/bdd/testserver"
|
||||
"dance-lessons-coach/pkg/bdd/testserver"
|
||||
"github.com/cucumber/godog"
|
||||
)
|
||||
|
||||
@@ -213,7 +213,7 @@ Add BDD tests to your CI pipeline:
|
||||
|
||||
## Modern Go Testing Practices
|
||||
|
||||
The DanceLessonsCoach project follows modern Go testing practices:
|
||||
The dance-lessons-coach project follows modern Go testing practices:
|
||||
|
||||
1. **Standard library integration**: BDD tests use `go test`
|
||||
2. **No global installation required**: Godog is a Go module dependency
|
||||
|
||||
@@ -69,7 +69,7 @@ This workflow can be triggered manually or on test/feature branches.
|
||||
### 1. Run the Interactive Script
|
||||
|
||||
```bash
|
||||
cd /Users/gabrielradureau/Work/Vibe/DanceLessonsCoach
|
||||
cd /Users/gabrielradureau/Work/Vibe/dance-lessons-coach
|
||||
./scripts/test-local-ci-cd.sh
|
||||
```
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ This document clarifies the security-critical aspect of the password reset workf
|
||||
|
||||
## 🎯 Security Principle
|
||||
|
||||
The DanceLessonsCoach password reset system follows a **zero-trust, admin-controlled** security model:
|
||||
The dance-lessons-coach password reset system follows a **zero-trust, admin-controlled** security model:
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
@@ -234,4 +234,4 @@ func (s *AuthService) ResetPasswordWithoutAuth(username, newPassword string) err
|
||||
|
||||
---
|
||||
|
||||
*DanceLessonsCoach - Secure by design, private by default 🔒*
|
||||
*dance-lessons-coach - Secure by design, private by default 🔒*
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
## Overview
|
||||
|
||||
The DanceLessonsCoach user management and authentication system provides secure user authentication, personalized experiences, and administrative capabilities. This document describes the system architecture, API endpoints, and integration points.
|
||||
The dance-lessons-coach user management and authentication system provides secure user authentication, personalized experiences, and administrative capabilities. This document describes the system architecture, API endpoints, and integration points.
|
||||
|
||||
## Architecture
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Version Management Guide
|
||||
|
||||
This guide provides comprehensive instructions for managing versions in the DanceLessonsCoach project.
|
||||
This guide provides comprehensive instructions for managing versions in the dance-lessons-coach project.
|
||||
|
||||
## 📋 Table of Contents
|
||||
|
||||
@@ -13,7 +13,7 @@ This guide provides comprehensive instructions for managing versions in the Danc
|
||||
|
||||
## 📖 Semantic Versioning
|
||||
|
||||
DanceLessonsCoach follows [Semantic Versioning 2.0.0](https://semver.org/):
|
||||
dance-lessons-coach follows [Semantic Versioning 2.0.0](https://semver.org/):
|
||||
|
||||
### Version Format: `MAJOR.MINOR.PATCH-PRERELEASE`
|
||||
|
||||
@@ -360,6 +360,6 @@ git push origin v1.0.1
|
||||
|
||||
---
|
||||
|
||||
**Maintained by:** DanceLessonsCoach Team
|
||||
**Maintained by:** dance-lessons-coach Team
|
||||
**Last Updated:** 2026-04-05
|
||||
**Version:** 1.0
|
||||
@@ -97,7 +97,7 @@ type VersionInfo struct {
|
||||
// VersionCommand handles version display
|
||||
func (c *Config) VersionCommand() string {
|
||||
// This will be enhanced when we integrate with cobra
|
||||
return fmt.Sprintf("DanceLessonsCoach %s (commit: %s, built: %s, go: %s)",
|
||||
return fmt.Sprintf("dance-lessons-coach %s (commit: %s, built: %s, go: %s)",
|
||||
version.Version, version.Commit, version.Date, version.GoVersion)
|
||||
}
|
||||
|
||||
@@ -128,7 +128,7 @@ func LoadConfig() (*Config, error) {
|
||||
// Telemetry defaults
|
||||
v.SetDefault("telemetry.enabled", false)
|
||||
v.SetDefault("telemetry.otlp_endpoint", "localhost:4317")
|
||||
v.SetDefault("telemetry.service_name", "DanceLessonsCoach")
|
||||
v.SetDefault("telemetry.service_name", "dance-lessons-coach")
|
||||
v.SetDefault("telemetry.insecure", true)
|
||||
v.SetDefault("telemetry.sampler.type", "parentbased_always_on")
|
||||
v.SetDefault("telemetry.sampler.ratio", 1.0)
|
||||
@@ -165,7 +165,7 @@ func LoadConfig() (*Config, error) {
|
||||
|
||||
// Bind environment variables
|
||||
v.AutomaticEnv()
|
||||
v.SetEnvPrefix("DLC") // DanceLessonsCoach prefix
|
||||
v.SetEnvPrefix("DLC") // dance-lessons-coach prefix
|
||||
v.BindEnv("server.host", "DLC_SERVER_HOST")
|
||||
v.BindEnv("server.port", "DLC_SERVER_PORT")
|
||||
v.BindEnv("shutdown.timeout", "DLC_SHUTDOWN_TIMEOUT")
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// Package telemetry provides OpenTelemetry instrumentation for the DanceLessonsCoach application
|
||||
// Package telemetry provides OpenTelemetry instrumentation for the dance-lessons-coach application
|
||||
package telemetry
|
||||
|
||||
import (
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// Package version provides version information and management for DanceLessonsCoach
|
||||
// Package version provides version information and management for dance-lessons-coach
|
||||
package version
|
||||
|
||||
import (
|
||||
@@ -91,7 +91,7 @@ func getBuildDate() {
|
||||
|
||||
// Info returns formatted version information
|
||||
func Info() string {
|
||||
return fmt.Sprintf("DanceLessonsCoach %s (commit: %s, built: %s UTC, go: %s)", Version, Commit, Date, GoVersion)
|
||||
return fmt.Sprintf("dance-lessons-coach %s (commit: %s, built: %s UTC, go: %s)", Version, Commit, Date, GoVersion)
|
||||
}
|
||||
|
||||
// Short returns just the version number
|
||||
@@ -101,7 +101,7 @@ func Short() string {
|
||||
|
||||
// Full returns detailed version information
|
||||
func Full() string {
|
||||
return fmt.Sprintf(`DanceLessonsCoach Version Information:
|
||||
return fmt.Sprintf(`dance-lessons-coach Version Information:
|
||||
Version: %s
|
||||
Commit: %s
|
||||
Built: %s (UTC)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# DanceLessonsCoach Scripts
|
||||
# dance-lessons-coach Scripts
|
||||
|
||||
This directory contains automation and management scripts for the DanceLessonsCoach project.
|
||||
This directory contains automation and management scripts for the dance-lessons-coach project.
|
||||
|
||||
## 📁 Script Categories
|
||||
|
||||
@@ -22,7 +22,7 @@ This directory contains automation and management scripts for the DanceLessonsCo
|
||||
|
||||
### 1. Server Management (`start-server.sh`)
|
||||
|
||||
**Manage the DanceLessonsCoach server lifecycle**
|
||||
**Manage the dance-lessons-coach server lifecycle**
|
||||
|
||||
```bash
|
||||
# Start the server
|
||||
@@ -301,13 +301,13 @@ exit 0
|
||||
- [Git SCM](https://git-scm.com/)
|
||||
- [Go Build](https://golang.org/cmd/go/)
|
||||
|
||||
### DanceLessonsCoach Specific
|
||||
### dance-lessons-coach Specific
|
||||
- [ADR 0014: Version Management](adr/0014-version-management-lifecycle.md)
|
||||
- [AGENTS.md Scripts Section](#-scripts)
|
||||
- [Contributing Guide](CONTRIBUTING.md)
|
||||
|
||||
---
|
||||
|
||||
**Maintained by:** DanceLessonsCoach Team
|
||||
**Maintained by:** dance-lessons-coach Team
|
||||
**License:** MIT
|
||||
**Status:** Actively developed
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/bin/bash
|
||||
# Build DanceLessonsCoach with version information
|
||||
# Build dance-lessons-coach with version information
|
||||
# Usage: ./scripts/build-with-version.sh [output_path]
|
||||
|
||||
set -e
|
||||
@@ -22,7 +22,7 @@ GIT_DATE=$(git log -1 --format=%cd --date=short 2>/dev/null || echo "unknown")
|
||||
# Build time (UTC for consistency)
|
||||
BUILD_DATE=$(date -u +%Y-%m-%dT%H:%M:%SZ)
|
||||
|
||||
echo "🔧 Building DanceLessonsCoach $VERSION"
|
||||
echo "🔧 Building dance-lessons-coach $VERSION"
|
||||
echo " Commit: $GIT_COMMIT"
|
||||
echo " Date: $GIT_DATE"
|
||||
echo " Output: $OUTPUT_PATH"
|
||||
@@ -31,9 +31,9 @@ echo " Output: $OUTPUT_PATH"
|
||||
go build \
|
||||
-o "$OUTPUT_PATH" \
|
||||
-ldflags="\
|
||||
-X DanceLessonsCoach/pkg/version.Version=$VERSION \
|
||||
-X DanceLessonsCoach/pkg/version.Commit=$GIT_COMMIT \
|
||||
-X DanceLessonsCoach/pkg/version.Date=$BUILD_DATE \
|
||||
-X dance-lessons-coach/pkg/version.Version=$VERSION \
|
||||
-X dance-lessons-coach/pkg/version.Commit=$GIT_COMMIT \
|
||||
-X dance-lessons-coach/pkg/version.Date=$BUILD_DATE \
|
||||
" \
|
||||
./cmd/server
|
||||
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
#!/bin/bash
|
||||
|
||||
# DanceLessonsCoach Build Script
|
||||
# dance-lessons-coach Build Script
|
||||
# Builds binaries into the bin/ directory
|
||||
|
||||
set -e
|
||||
|
||||
echo "🔨 Building DanceLessonsCoach binaries..."
|
||||
echo "🔨 Building dance-lessons-coach binaries..."
|
||||
|
||||
# Create bin directory if it doesn't exist
|
||||
mkdir -p bin
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
#!/bin/bash
|
||||
# DanceLessonsCoach CI/CD Management Script
|
||||
# dance-lessons-coach CI/CD Management Script
|
||||
# Unified interface for all CI/CD operations
|
||||
|
||||
set -e
|
||||
|
||||
SCRIPTS_DIR="$(dirname "$0")/cicd"
|
||||
|
||||
echo "🚀 DanceLessonsCoach CI/CD Management"
|
||||
echo "🚀 dance-lessons-coach CI/CD Management"
|
||||
echo "===================================="
|
||||
echo ""
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
set -e
|
||||
|
||||
echo "🧪 Running BDD Tests..."
|
||||
cd /Users/gabrielradureau/Work/Vibe/DanceLessonsCoach
|
||||
cd /Users/gabrielradureau/Work/Vibe/dance-lessons-coach
|
||||
|
||||
# Check if PostgreSQL container is running, start it if not
|
||||
echo "🐋 Checking PostgreSQL container..."
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
#!/bin/bash
|
||||
|
||||
# DanceLessonsCoach Server Start Script
|
||||
# dance-lessons-coach Server Start Script
|
||||
# This script starts the server in the background and provides control functions
|
||||
|
||||
# Configuration
|
||||
PROJECT_DIR="/Users/gabrielradureau/Work/Vibe/DanceLessonsCoach"
|
||||
PROJECT_DIR="/Users/gabrielradureau/Work/Vibe/dance-lessons-coach"
|
||||
SERVER_CMD="go run ./cmd/server"
|
||||
LOG_FILE="server.log"
|
||||
PID_FILE="server.pid"
|
||||
@@ -14,7 +14,7 @@ cd "$PROJECT_DIR" || { echo "Failed to change to project directory"; exit 1; }
|
||||
|
||||
# Function to start the server
|
||||
start_server() {
|
||||
echo "Starting DanceLessonsCoach server..."
|
||||
echo "Starting dance-lessons-coach server..."
|
||||
|
||||
# Check if server is already running
|
||||
if [ -f "$PID_FILE" ]; then
|
||||
|
||||
@@ -73,7 +73,7 @@ echo "8. Testing production Dockerfile..."
|
||||
# First, let's create a temporary Dockerfile.prod with the correct hash
|
||||
TEMP_DOCKERFILE="Dockerfile.prod.test"
|
||||
cat > "$TEMP_DOCKERFILE" << EOF
|
||||
# DanceLessonsCoach Production Docker Image
|
||||
# dance-lessons-coach Production Docker Image
|
||||
# Minimal image using pre-built binary from CI cache
|
||||
|
||||
# Use the build cache image as base
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
#!/bin/bash
|
||||
|
||||
# DanceLessonsCoach Graceful Shutdown Test Script
|
||||
# dance-lessons-coach Graceful Shutdown Test Script
|
||||
# This script tests the complete server lifecycle with JSON logging
|
||||
# and validates that all shutdown logs are present
|
||||
|
||||
set -e
|
||||
|
||||
# Configuration
|
||||
PROJECT_DIR="/Users/gabrielradureau/Work/Vibe/DanceLessonsCoach"
|
||||
PROJECT_DIR="/Users/gabrielradureau/Work/Vibe/dance-lessons-coach"
|
||||
SERVER_CMD="./scripts/start-server.sh"
|
||||
LOG_FILE="server.log"
|
||||
PID_FILE="server.pid"
|
||||
TEST_LOG="shutdown_test.log"
|
||||
|
||||
# Colors for output - use simple echo -e with inline ANSI codes
|
||||
echo -e "\033[1;34m=== DanceLessonsCoach Graceful Shutdown Test ===\033[0m"
|
||||
echo -e "\033[1;34m=== dance-lessons-coach Graceful Shutdown Test ===\033[0m"
|
||||
echo ""
|
||||
|
||||
# Clean up any existing server
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
#!/bin/bash
|
||||
|
||||
# DanceLessonsCoach OpenTelemetry Test Script
|
||||
# dance-lessons-coach OpenTelemetry Test Script
|
||||
# This script tests OpenTelemetry integration with Jaeger
|
||||
|
||||
set -e
|
||||
|
||||
echo -e "\033[1;34m=== DanceLessonsCoach OpenTelemetry Test ===\033[0m"
|
||||
echo -e "\033[1;34m=== dance-lessons-coach OpenTelemetry Test ===\033[0m"
|
||||
echo ""
|
||||
|
||||
# Configuration
|
||||
PROJECT_DIR="/Users/gabrielradureau/Work/Vibe/DanceLessonsCoach"
|
||||
PROJECT_DIR="/Users/gabrielradureau/Work/Vibe/dance-lessons-coach"
|
||||
SERVER_CMD="./scripts/start-server.sh"
|
||||
LOG_FILE="server.log"
|
||||
PID_FILE="server.pid"
|
||||
@@ -47,7 +47,7 @@ fi
|
||||
|
||||
echo "Starting server with OpenTelemetry enabled..."
|
||||
DLC_TELEMETRY_ENABLED=true DLC_TELEMETRY_OTLP_ENDPOINT="localhost:4317" DLC_TELEMETRY_INSECURE=true \
|
||||
DLC_TELEMETRY_SERVICE_NAME="DanceLessonsCoach" $SERVER_CMD start
|
||||
DLC_TELEMETRY_SERVICE_NAME="dance-lessons-coach" $SERVER_CMD start
|
||||
sleep 3
|
||||
|
||||
echo "Testing API endpoints..."
|
||||
@@ -77,7 +77,7 @@ echo -e "\033[0;32m✅ OpenTelemetry Test Complete!\033[0m"
|
||||
echo ""
|
||||
echo "To view traces in Jaeger:"
|
||||
echo "1. Open http://localhost:16686 in your browser"
|
||||
echo "2. Select 'DanceLessonsCoach' service"
|
||||
echo "2. Select 'dance-lessons-coach' service"
|
||||
echo "3. Click 'Find Traces' button"
|
||||
echo ""
|
||||
echo "You should see traces for:"
|
||||
|
||||
@@ -171,4 +171,4 @@ echo "💡 Next Steps:"
|
||||
echo " 1. Test with Docker: ./scripts/test-cicd-simple.sh"
|
||||
echo " 2. Commit changes: git commit -m '🤖 ci: validate workflow'"
|
||||
echo " 3. Push to trigger: git push origin main"
|
||||
echo " 4. Monitor pipeline: https://gitea.arcodange.lab/arcodange/DanceLessonsCoach/actions"
|
||||
echo " 4. Monitor pipeline: https://gitea.arcodange.lab/arcodange/dance-lessons-coach/actions"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/bin/bash
|
||||
# DanceLessonsCoach Version Bump Script
|
||||
# dance-lessons-coach Version Bump Script
|
||||
# Usage: ./scripts/version-bump.sh [major|minor|patch|pre|release]
|
||||
|
||||
set -e
|
||||
@@ -81,7 +81,7 @@ echo "🔜 New version: $NEW_VERSION"
|
||||
|
||||
# Update VERSION file
|
||||
cat > "$VERSION_FILE" << VERSION_EOF
|
||||
# DanceLessonsCoach Version
|
||||
# dance-lessons-coach Version
|
||||
|
||||
# Current Version (Semantic Versioning)
|
||||
MAJOR=$MAJOR
|
||||
@@ -139,7 +139,7 @@ if [ -f "$README_MD" ]; then
|
||||
# Use awk to update version badge
|
||||
awk -v new_version="$NEW_VERSION" '{
|
||||
if ($0 ~ /Version.*badge.*version/) {
|
||||
print "[](https://gitea.arcodange.fr/arcodange/DanceLessonsCoach/releases)"
|
||||
print "[](https://gitea.arcodange.fr/arcodange/dance-lessons-coach/releases)"
|
||||
} else {
|
||||
print $0
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user