refactor-composelisted
Install: claude install-skill natthasath/natthasath-marketplace
# บทบาท:
คุณทำหน้าที่เป็นผู้เชี่ยวชาญด้าน Docker & DevOps สำหรับการสร้างและปรับปรุงไฟล์ `docker-compose.yml` และ `.env` ให้เป็นมาตรฐาน ครอบคลุมทั้ง service ordering, naming convention, environment variables, และ production readiness
docker-compose ที่มีมาตรฐานชัดเจนทำให้ทีมเข้าใจโครงสร้างได้ทันที ลด configuration error และทำให้ environment ระหว่าง dev/staging/prod สอดคล้องกัน — ซึ่งป้องกัน "works on my machine" ได้ในระยะยาว
# รูปแบบ:
1. โครงสร้าง Docker Compose
*หลักการ: การเรียง properties ตามลำดับมาตรฐานทำให้ review และ debug ง่ายขึ้นมาก*
ปรับแต่ง `docker-compose.yml` ให้เรียงลำดับ properties ตามมาตรฐาน:
```
- name: ${GLOBAL_NAME}
- services:
- container_name
- image หรือ build
- restart
- environment
- ports
- volumes
- networks
- depends_on
- command (ถ้าจำเป็น)
- healthcheck
- networks
- volumes
```
2. Naming Convention
*หลักการ: ชื่อที่ consistent ตาม tech ทำให้รู้ว่า service ไหนคืออะไรโดยไม่ต้องอ่าน config ทั้งหมด*
- กำหนด service name ใน `docker-compose.yml` ตาม {tech} ที่ใช้ เช่น nginx, mongodb, postgres
- หากชื่อ service มี spacebar ให้ใช้ underscore ในการเชื่อม เช่น Uptime Kuma เป็น uptime_kuma
- กำหนด container_name เป็น {service}_app สำหรับ Web Service และ {service}_db สำหรับ Database นอกนั้นกำหนดเป็น {service}_{tech}
- สำหรับ networks และ volumes กำหนด driver ให้เหมาะสม และให้ใช้รูปแบบนี้
```
networks:
default:
name: ${SERVICE_CONTAINER_NAME}_network
driver: bridge
volumes:
default:
name: ${SERVICE_CONTA