refactor: convert all DanceLessonsCoach mentions to kebab-case
Some checks failed
CI/CD Pipeline / Build Docker Cache (push) Successful in 10s
CI/CD Pipeline / CI Pipeline (push) Failing after 13s

This commit is contained in:
2026-04-07 19:11:39 +02:00
parent 7f32a113db
commit 52065c9cf3
72 changed files with 211 additions and 211 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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"

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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:

View File

@@ -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

View File

@@ -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)

View File

@@ -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
[![Build Status](https://ci.dancelessonscoach.org/api/badges/project/status)](https://ci.dancelessonscoach.org)
[![GitHub Mirror Status](https://github.com/yourorg/DanceLessonsCoach/actions/workflows/main.yml/badge.svg)](https://github.com/yourorg/DanceLessonsCoach/actions)
[![GitLab Mirror Status](https://gitlab.com/yourorg/DanceLessonsCoach/badges/main/pipeline.svg)](https://gitlab.com/yourorg/DanceLessonsCoach/-/pipelines)
[![Go Report Card](https://goreportcard.com/badge/github.com/yourorg/DanceLessonsCoach)](https://goreportcard.com/report/github.com/yourorg/DanceLessonsCoach)
[![Code Coverage](https://codecov.io/gh/yourorg/DanceLessonsCoach/branch/main/graph/badge.svg)](https://codecov.io/gh/yourorg/DanceLessonsCoach)
[![GitHub Mirror Status](https://github.com/yourorg/dance-lessons-coach/actions/workflows/main.yml/badge.svg)](https://github.com/yourorg/dance-lessons-coach/actions)
[![GitLab Mirror Status](https://gitlab.com/yourorg/dance-lessons-coach/badges/main/pipeline.svg)](https://gitlab.com/yourorg/dance-lessons-coach/-/pipelines)
[![Go Report Card](https://goreportcard.com/badge/github.com/yourorg/dance-lessons-coach)](https://goreportcard.com/report/github.com/yourorg/dance-lessons-coach)
[![Code Coverage](https://codecov.io/gh/yourorg/dance-lessons-coach/branch/main/graph/badge.svg)](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
[![Build Status](https://gitea.arcodange.fr/api/badges/arcodange/DanceLessonsCoach/status)](https://gitea.arcodange.fr/arcodange/DanceLessonsCoach)
[![Pipeline](https://gitea.arcodange.fr/api/badges/arcodange/DanceLessonsCoach/pipeline.svg)](https://gitea.arcodange.fr/arcodange/DanceLessonsCoach/-/pipelines)
[![Build Status](https://gitea.arcodange.fr/api/badges/arcodange/dance-lessons-coach/status)](https://gitea.arcodange.fr/arcodange/dance-lessons-coach)
[![Pipeline](https://gitea.arcodange.fr/api/badges/arcodange/dance-lessons-coach/pipeline.svg)](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
[![GitHub CI](https://github.com/yourorg/DanceLessonsCoach/actions/workflows/main.yml/badge.svg)](https://github.com/yourorg/DanceLessonsCoach/actions)
[![GitHub CI](https://github.com/yourorg/dance-lessons-coach/actions/workflows/main.yml/badge.svg)](https://github.com/yourorg/dance-lessons-coach/actions)
```
## GitLab Mirror
```markdown
[![GitLab CI](https://gitlab.com/yourorg/DanceLessonsCoach/badges/main/pipeline.svg)](https://gitlab.com/yourorg/DanceLessonsCoach/-/pipelines)
[![GitLab CI](https://gitlab.com/yourorg/dance-lessons-coach/badges/main/pipeline.svg)](https://gitlab.com/yourorg/dance-lessons-coach/-/pipelines)
```
## Code Quality
```markdown
[![Go Report Card](https://goreportcard.com/badge/github.com/yourorg/DanceLessonsCoach)](https://goreportcard.com/report/github.com/yourorg/DanceLessonsCoach)
[![Code Coverage](https://codecov.io/gh/yourorg/DanceLessonsCoach/branch/main/graph/badge.svg)](https://codecov.io/gh/yourorg/DanceLessonsCoach)
[![Go Report Card](https://goreportcard.com/badge/github.com/yourorg/dance-lessons-coach)](https://goreportcard.com/report/github.com/yourorg/dance-lessons-coach)
[![Code Coverage](https://codecov.io/gh/yourorg/dance-lessons-coach/branch/main/graph/badge.svg)](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:

View File

@@ -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

View File

@@ -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)

View File

@@ -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

View File

@@ -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

View File

@@ -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?