Refactor to 5-step workflow (new → mvp → ui → policy → visualize)
- Remove old commands: spec, customer, sales, merge, design - Add new commands: ui, policy, visualize - Update mvp to include landing page generation - Add templates for mockup, policy, and UI documents - Simplify output path (remove [project] subfolder) - Rewrite README focused on usage 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
175
.specify/templates/policy-gameplay.md
Normal file
175
.specify/templates/policy-gameplay.md
Normal file
@@ -0,0 +1,175 @@
|
||||
# 서비스 규칙 (Gameplay)
|
||||
|
||||
> 코드: `GM` | 핵심 서비스 규칙 및 제한사항
|
||||
|
||||
---
|
||||
|
||||
## GM-001: [정책명 - 예: 시간 제한]
|
||||
|
||||
### 정책 내용
|
||||
- [핵심 정책 설명 1]
|
||||
- [핵심 정책 설명 2]
|
||||
|
||||
### 적용 화면
|
||||
- `[화면1].html` - [용도]
|
||||
- `[화면2].html` - [용도]
|
||||
|
||||
### UI 영향
|
||||
|
||||
| 화면 | 위치 | 표시 방식 | mockup |
|
||||
|-----|------|----------|--------|
|
||||
| [화면1] | [위치] | [표시 방식] | [파일명].html |
|
||||
| [화면2] | [위치] | [표시 방식] | [파일명].html |
|
||||
|
||||
### 상태별 UI
|
||||
|
||||
```
|
||||
[활성 상태]
|
||||
┌─────────────────────────────────────┐
|
||||
│ ✓ 이용 가능 │
|
||||
│ [버튼 활성화] │
|
||||
└─────────────────────────────────────┘
|
||||
|
||||
[비활성 상태]
|
||||
┌─────────────────────────────────────┐
|
||||
│ ⏰ 이용 불가 │
|
||||
│ [제한 사유 표시] │
|
||||
│ [버튼 비활성화] │
|
||||
└─────────────────────────────────────┘
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## GM-002: [정책명 - 예: 일일 제한]
|
||||
|
||||
### 정책 내용
|
||||
- [일일 제한 설명 1]
|
||||
- [일일 제한 설명 2]
|
||||
- [리셋 시간]
|
||||
|
||||
### 적용 화면
|
||||
- `[화면1].html` - [용도]
|
||||
|
||||
### UI 표시
|
||||
|
||||
```
|
||||
[일반 상태]
|
||||
오늘 남은 횟수: 3/5회
|
||||
|
||||
[제한 도달]
|
||||
⚠️ 오늘 이용 횟수를 모두 사용했습니다.
|
||||
내일 00:00에 초기화됩니다.
|
||||
|
||||
[프리미엄 유저]
|
||||
✓ 무제한 이용 가능 (프리미엄)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## GM-003: [정책명 - 예: 레벨 제한]
|
||||
|
||||
### 정책 내용
|
||||
|
||||
| 레벨 | 해금 기능 | 조건 |
|
||||
|-----|---------|------|
|
||||
| 1 | [기본 기능] | 가입 시 |
|
||||
| 5 | [기능1] | [조건] |
|
||||
| 10 | [기능2] | [조건] |
|
||||
| 20 | [기능3] | [조건] |
|
||||
|
||||
### 적용 화면
|
||||
- `[화면1].html` - 레벨 표시
|
||||
- `[화면2].html` - 해금 안내
|
||||
|
||||
### UI 표시
|
||||
|
||||
```
|
||||
[잠금 상태]
|
||||
🔒 Lv.10에서 해금됩니다
|
||||
현재 Lv.7 (3레벨 더 필요)
|
||||
|
||||
[해금 완료]
|
||||
✓ 기능 사용 가능
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## GM-004: [정책명 - 예: 대기열/쿨다운]
|
||||
|
||||
### 정책 내용
|
||||
- [대기/쿨다운 설명]
|
||||
- [적용 시간]
|
||||
- [예외 조건]
|
||||
|
||||
### 적용 화면
|
||||
- `[화면1].html` - 액션 버튼
|
||||
|
||||
### UI 표시
|
||||
|
||||
```
|
||||
[쿨다운 중]
|
||||
┌─────────────────────────────────────┐
|
||||
│ ⏳ 잠시 기다려주세요 │
|
||||
│ 02:30 남음 │
|
||||
│ │
|
||||
│ [비활성 버튼] │
|
||||
└─────────────────────────────────────┘
|
||||
|
||||
[대기열]
|
||||
현재 대기: 12명
|
||||
예상 대기 시간: 약 3분
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## GM-005: [정책명 - 예: 매칭 규칙]
|
||||
|
||||
### 정책 내용
|
||||
- [매칭 조건 1]
|
||||
- [매칭 조건 2]
|
||||
- [매칭 실패 처리]
|
||||
|
||||
### 로직
|
||||
|
||||
```javascript
|
||||
function matchUser(user) {
|
||||
const candidates = findCandidates({
|
||||
level: user.level,
|
||||
preference: user.preference,
|
||||
// ...
|
||||
});
|
||||
|
||||
if (candidates.length === 0) {
|
||||
return showNoMatchPopup();
|
||||
}
|
||||
|
||||
return selectBestMatch(candidates);
|
||||
}
|
||||
```
|
||||
|
||||
### UI 표시
|
||||
|
||||
```
|
||||
[매칭 중]
|
||||
🔍 찾는 중...
|
||||
[로딩 애니메이션]
|
||||
|
||||
[매칭 성공]
|
||||
✓ 매칭되었습니다!
|
||||
[상대방 정보]
|
||||
|
||||
[매칭 실패]
|
||||
😢 조건에 맞는 상대를 찾지 못했습니다.
|
||||
[다시 시도] [조건 변경]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 관련 mockup
|
||||
|
||||
| 정책 | mockup 파일 |
|
||||
|-----|------------|
|
||||
| GM-001 | [화면].html |
|
||||
| GM-002 | [화면].html |
|
||||
| GM-003 | [화면].html |
|
||||
| GM-004, GM-005 | [화면].html |
|
||||
Reference in New Issue
Block a user