popilot 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +372 -0
- package/adapters/claude-code/.claude/commands/_domain.md.hbs +32 -0
- package/adapters/claude-code/.claude/commands/analytics.md.hbs +55 -0
- package/adapters/claude-code/.claude/commands/daily.md.hbs +301 -0
- package/adapters/claude-code/.claude/commands/dev.md.hbs +62 -0
- package/adapters/claude-code/.claude/commands/handoff.md +258 -0
- package/adapters/claude-code/.claude/commands/market.md +120 -0
- package/adapters/claude-code/.claude/commands/metrics.md +123 -0
- package/adapters/claude-code/.claude/commands/oscar-loop.md +436 -0
- package/adapters/claude-code/.claude/commands/party.md +85 -0
- package/adapters/claude-code/.claude/commands/plan.md +43 -0
- package/adapters/claude-code/.claude/commands/research.md +203 -0
- package/adapters/claude-code/.claude/commands/retro.md +68 -0
- package/adapters/claude-code/.claude/commands/save.md +440 -0
- package/adapters/claude-code/.claude/commands/sessions.md +139 -0
- package/adapters/claude-code/.claude/commands/sprint.md +106 -0
- package/adapters/claude-code/.claude/commands/start.md +368 -0
- package/adapters/claude-code/.claude/commands/strategy.md +41 -0
- package/adapters/claude-code/.claude/commands/task.md +220 -0
- package/adapters/claude-code/.claude/commands/tracking.md +116 -0
- package/adapters/claude-code/.claude/commands/validate.md +58 -0
- package/adapters/claude-code/CLAUDE.md.hbs +208 -0
- package/adapters/claude-code/manifest.yaml +36 -0
- package/bin/cli.mjs +218 -0
- package/lib/adapter.mjs +68 -0
- package/lib/doctor.mjs +161 -0
- package/lib/hydrate.mjs +421 -0
- package/lib/prompt.mjs +78 -0
- package/lib/scaffold.mjs +155 -0
- package/lib/setup-wizard.mjs +331 -0
- package/lib/template-engine.mjs +164 -0
- package/lib/yaml-lite.mjs +476 -0
- package/package.json +30 -0
- package/scaffold/.context/.secrets.yaml.example +20 -0
- package/scaffold/.context/WORKFLOW.md.hbs +332 -0
- package/scaffold/.context/agents/TEMPLATE.md +115 -0
- package/scaffold/.context/agents/analyst.md.hbs +362 -0
- package/scaffold/.context/agents/developer.md.hbs +390 -0
- package/scaffold/.context/agents/handoff-specialist.md.hbs +292 -0
- package/scaffold/.context/agents/market-researcher.md.hbs +288 -0
- package/scaffold/.context/agents/ollie.md +323 -0
- package/scaffold/.context/agents/operations.md.hbs +293 -0
- package/scaffold/.context/agents/orchestrator.md.hbs +434 -0
- package/scaffold/.context/agents/planner.md.hbs +405 -0
- package/scaffold/.context/agents/qa.md.hbs +409 -0
- package/scaffold/.context/agents/researcher.md.hbs +330 -0
- package/scaffold/.context/agents/sage.md +349 -0
- package/scaffold/.context/agents/strategist.md.hbs +339 -0
- package/scaffold/.context/agents/tracking-governor.md.hbs +291 -0
- package/scaffold/.context/agents/validator.md.hbs +365 -0
- package/scaffold/.context/integrations/_registry.yaml +38 -0
- package/scaffold/.context/integrations/providers/channel_io.yaml +38 -0
- package/scaffold/.context/integrations/providers/corti.yaml +203 -0
- package/scaffold/.context/integrations/providers/ga4.yaml +116 -0
- package/scaffold/.context/integrations/providers/intercom.yaml +47 -0
- package/scaffold/.context/integrations/providers/linear.yaml +46 -0
- package/scaffold/.context/integrations/providers/mixpanel.yaml +73 -0
- package/scaffold/.context/integrations/providers/notebooklm.yaml +74 -0
- package/scaffold/.context/integrations/providers/notion.yaml +129 -0
- package/scaffold/.context/integrations/providers/prod_db.yaml +183 -0
- package/scaffold/.context/oscar/workflows/multi-agent.md +82 -0
- package/scaffold/.context/oscar/workflows/ollie-sage.md +128 -0
- package/scaffold/.context/oscar/workflows/session-git.md +71 -0
- package/scaffold/.context/oscar/workflows/setup.md +663 -0
- package/scaffold/.context/oscar/workflows/tracking.md +118 -0
- package/scaffold/.context/project.yaml.example +102 -0
- package/scaffold/.context/templates/dev-guide.md +217 -0
- package/scaffold/.context/templates/epic-spec.md +225 -0
- package/scaffold/.context/templates/guardrail.md +94 -0
- package/scaffold/.context/templates/handoff-checklist.md +197 -0
- package/scaffold/.context/templates/prd.md +80 -0
- package/scaffold/.context/templates/retrospective.md +78 -0
- package/scaffold/.context/templates/screen-spec.md +714 -0
- package/scaffold/.context/templates/sprint-plan.md +72 -0
- package/scaffold/.context/templates/sprint-status.yaml +109 -0
- package/scaffold/.context/templates/story-v2.md +228 -0
- package/scaffold/.context/templates/validation-report.md +99 -0
- package/scaffold/.gitignore.append +7 -0
- package/scaffold/spec-site/env.d.ts +7 -0
- package/scaffold/spec-site/index.html +14 -0
- package/scaffold/spec-site/package.json +20 -0
- package/scaffold/spec-site/src/App.vue +27 -0
- package/scaffold/spec-site/src/assets/icons/menu/ic_ads.svg +10 -0
- package/scaffold/spec-site/src/assets/icons/menu/ic_ads_on.svg +10 -0
- package/scaffold/spec-site/src/assets/icons/menu/ic_board.svg +14 -0
- package/scaffold/spec-site/src/assets/icons/menu/ic_board_on.svg +14 -0
- package/scaffold/spec-site/src/assets/icons/menu/ic_dashboard.svg +21 -0
- package/scaffold/spec-site/src/assets/icons/menu/ic_dashboard_on.svg +21 -0
- package/scaffold/spec-site/src/assets/icons/menu/ic_pricing.svg +20 -0
- package/scaffold/spec-site/src/assets/icons/menu/ic_pricing_on.svg +20 -0
- package/scaffold/spec-site/src/assets/icons/menu/ic_store.svg +11 -0
- package/scaffold/spec-site/src/assets/icons/menu/ic_store_on.svg +11 -0
- package/scaffold/spec-site/src/components/Accordion.vue +108 -0
- package/scaffold/spec-site/src/components/AppHeader.vue +304 -0
- package/scaffold/spec-site/src/components/Badge.vue +25 -0
- package/scaffold/spec-site/src/components/CoachingCard.vue +112 -0
- package/scaffold/spec-site/src/components/MemoSidebar.vue +239 -0
- package/scaffold/spec-site/src/components/MockupShell.vue +100 -0
- package/scaffold/spec-site/src/components/RuleTable.vue +99 -0
- package/scaffold/spec-site/src/components/ScenarioSwitcher.vue +103 -0
- package/scaffold/spec-site/src/components/SpecNav.vue +26 -0
- package/scaffold/spec-site/src/components/SpecSection.vue +59 -0
- package/scaffold/spec-site/src/components/SummaryGrid.vue +39 -0
- package/scaffold/spec-site/src/components/VersionBadge.vue +38 -0
- package/scaffold/spec-site/src/composables/useActiveSection.ts +53 -0
- package/scaffold/spec-site/src/composables/useMemo.ts +138 -0
- package/scaffold/spec-site/src/composables/useRetro.ts +313 -0
- package/scaffold/spec-site/src/composables/useScenario.ts +43 -0
- package/scaffold/spec-site/src/composables/useScenarioStore.ts +102 -0
- package/scaffold/spec-site/src/composables/useTurso.ts +160 -0
- package/scaffold/spec-site/src/composables/useUser.ts +25 -0
- package/scaffold/spec-site/src/data/navigation.ts +59 -0
- package/scaffold/spec-site/src/data/types.ts +90 -0
- package/scaffold/spec-site/src/data/wireframeRegistry.ts +25 -0
- package/scaffold/spec-site/src/layouts/SplitPaneLayout.vue +79 -0
- package/scaffold/spec-site/src/main.ts +10 -0
- package/scaffold/spec-site/src/pages/IndexPage.vue +66 -0
- package/scaffold/spec-site/src/pages/PolicyDetail.vue +215 -0
- package/scaffold/spec-site/src/pages/PolicyIndex.vue +74 -0
- package/scaffold/spec-site/src/pages/retro/RetroActions.vue +191 -0
- package/scaffold/spec-site/src/pages/retro/RetroBoard.vue +192 -0
- package/scaffold/spec-site/src/pages/retro/RetroCard.vue +131 -0
- package/scaffold/spec-site/src/pages/retro/RetroHeader.vue +287 -0
- package/scaffold/spec-site/src/pages/retro/RetroPage.vue +178 -0
- package/scaffold/spec-site/src/pages/shared/NoContentPlaceholder.vue +34 -0
- package/scaffold/spec-site/src/pages/shared/PlaceholderContent.vue +22 -0
- package/scaffold/spec-site/src/pages/shared/PlaceholderSpecPanel.vue +16 -0
- package/scaffold/spec-site/src/pages/shared/PolicyFallback.vue +145 -0
- package/scaffold/spec-site/src/pages/wireframe/WireframeShell.vue +151 -0
- package/scaffold/spec-site/src/router.ts +85 -0
- package/scaffold/spec-site/src/styles/base.css +21 -0
- package/scaffold/spec-site/src/styles/split-pane.css +143 -0
- package/scaffold/spec-site/src/styles/variables.css +47 -0
- package/scaffold/spec-site/src/utils/markdown.ts +197 -0
- package/scaffold/spec-site/tsconfig.json +20 -0
- package/scaffold/spec-site/vite.config.ts +18 -0
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# Sprint Plan Template
|
|
2
|
+
|
|
3
|
+
> 📋 Sprint planning template used by Penny
|
|
4
|
+
|
|
5
|
+
## Sprint [N] Plan
|
|
6
|
+
|
|
7
|
+
### Sprint Information
|
|
8
|
+
- **Period**: [Start date] ~ [End date]
|
|
9
|
+
- **Goal**: [Express in one sentence]
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
### Key Results
|
|
14
|
+
| KR | Current | Target | Owner | Status |
|
|
15
|
+
|----|---------|--------|-------|--------|
|
|
16
|
+
| KR1: [Content] | [Value] | [Value] | [Owner] | 🔴/🟡/🟢 |
|
|
17
|
+
| KR2: [Content] | [Value] | [Value] | [Owner] | 🔴/🟡/🟢 |
|
|
18
|
+
| KR3: [Content] | [Value] | [Value] | [Owner] | 🔴/🟡/🟢 |
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
### Task List
|
|
23
|
+
|
|
24
|
+
#### Week 1
|
|
25
|
+
| Task | Priority | Owner | Dependencies | Status |
|
|
26
|
+
|------|----------|-------|-------------|--------|
|
|
27
|
+
| [Task 1] | P0 | [Owner] | - | ⬜ |
|
|
28
|
+
| [Task 2] | P1 | [Owner] | Task 1 | ⬜ |
|
|
29
|
+
|
|
30
|
+
#### Week 2
|
|
31
|
+
| Task | Priority | Owner | Dependencies | Status |
|
|
32
|
+
|------|----------|-------|-------------|--------|
|
|
33
|
+
| [Task 3] | P0 | [Owner] | - | ⬜ |
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
### Milestones
|
|
38
|
+
| Date | Milestone | Completion Criteria |
|
|
39
|
+
|------|-----------|-------------------|
|
|
40
|
+
| [Date] | [Milestone 1] | [Criteria] |
|
|
41
|
+
| [Date] | [Milestone 2] | [Criteria] |
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
### Risks & Blockers
|
|
46
|
+
| Risk | Impact | Mitigation |
|
|
47
|
+
|------|--------|-----------|
|
|
48
|
+
| [Risk 1] | High/Medium/Low | [Response] |
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
### Dependencies
|
|
53
|
+
- **External dependencies**: [Other teams/services]
|
|
54
|
+
- **Internal dependencies**: [Prerequisite work]
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
### Handoff Preparation
|
|
59
|
+
- [ ] PRD finalized
|
|
60
|
+
- [ ] Design finalized
|
|
61
|
+
- [ ] Dev spec document written
|
|
62
|
+
- [ ] Baseline data obtained
|
|
63
|
+
- [ ] Event logging defined
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## Checklist
|
|
68
|
+
- [ ] Are KRs quantified?
|
|
69
|
+
- [ ] Are tasks broken down?
|
|
70
|
+
- [ ] Are dependencies identified?
|
|
71
|
+
- [ ] Are owners assigned?
|
|
72
|
+
- [ ] Are risks identified?
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
# Sprint Status Template
|
|
2
|
+
# BMAD-METHOD based status tracking file
|
|
3
|
+
|
|
4
|
+
# ============================================================
|
|
5
|
+
# Meta Information
|
|
6
|
+
# ============================================================
|
|
7
|
+
meta:
|
|
8
|
+
sprint: 0 # Sprint number
|
|
9
|
+
title: "[Sprint Title]"
|
|
10
|
+
created: "YYYY-MM-DD"
|
|
11
|
+
updated: "YYYY-MM-DD"
|
|
12
|
+
project: ""
|
|
13
|
+
period:
|
|
14
|
+
start: "YYYY-MM-DD"
|
|
15
|
+
end: "YYYY-MM-DD"
|
|
16
|
+
|
|
17
|
+
# ============================================================
|
|
18
|
+
# Status Definitions
|
|
19
|
+
# ============================================================
|
|
20
|
+
status_definitions:
|
|
21
|
+
epic:
|
|
22
|
+
- backlog # Waiting
|
|
23
|
+
- in-progress # In progress (one or more stories started)
|
|
24
|
+
- done # Complete (all stories done)
|
|
25
|
+
|
|
26
|
+
story:
|
|
27
|
+
- backlog # Waiting
|
|
28
|
+
- ready-for-dev # Ready for development (handoff complete)
|
|
29
|
+
- in-progress # In development
|
|
30
|
+
- review # Code review in progress
|
|
31
|
+
- done # Complete
|
|
32
|
+
|
|
33
|
+
# ============================================================
|
|
34
|
+
# Workflow Guidelines
|
|
35
|
+
# ============================================================
|
|
36
|
+
# 1. When first story starts → Change epic to in-progress
|
|
37
|
+
# 2. After story completion → Create next story (incorporating learnings)
|
|
38
|
+
# 3. Developer completes work → Change to review status
|
|
39
|
+
# 4. Code review passed → Change to done status
|
|
40
|
+
# 5. All stories done → Change epic to done
|
|
41
|
+
|
|
42
|
+
# ============================================================
|
|
43
|
+
# Development Status
|
|
44
|
+
# ============================================================
|
|
45
|
+
development:
|
|
46
|
+
|
|
47
|
+
# ------------------------------------------------------------
|
|
48
|
+
# Epic 1: [Epic Title]
|
|
49
|
+
# ------------------------------------------------------------
|
|
50
|
+
- epic: E-01
|
|
51
|
+
title: "[Epic Title]"
|
|
52
|
+
priority: P0
|
|
53
|
+
status: backlog
|
|
54
|
+
owner: "[Owner]"
|
|
55
|
+
stories:
|
|
56
|
+
- id: E-01-S-01
|
|
57
|
+
title: "[Story Title]"
|
|
58
|
+
status: backlog
|
|
59
|
+
priority: P0
|
|
60
|
+
size: M
|
|
61
|
+
assignee: null
|
|
62
|
+
depends_on: []
|
|
63
|
+
|
|
64
|
+
- id: E-01-S-02
|
|
65
|
+
title: "[Story Title]"
|
|
66
|
+
status: backlog
|
|
67
|
+
priority: P0
|
|
68
|
+
size: L
|
|
69
|
+
assignee: null
|
|
70
|
+
depends_on: [E-01-S-01]
|
|
71
|
+
|
|
72
|
+
# ------------------------------------------------------------
|
|
73
|
+
# Epic 2: [Epic Title]
|
|
74
|
+
# ------------------------------------------------------------
|
|
75
|
+
- epic: E-02
|
|
76
|
+
title: "[Epic Title]"
|
|
77
|
+
priority: P0
|
|
78
|
+
status: backlog
|
|
79
|
+
owner: "[Owner]"
|
|
80
|
+
stories:
|
|
81
|
+
- id: E-02-S-01
|
|
82
|
+
title: "[Story Title]"
|
|
83
|
+
status: backlog
|
|
84
|
+
priority: P0
|
|
85
|
+
size: M
|
|
86
|
+
assignee: null
|
|
87
|
+
depends_on: []
|
|
88
|
+
|
|
89
|
+
# ============================================================
|
|
90
|
+
# Summary Statistics (For automatic calculation reference)
|
|
91
|
+
# ============================================================
|
|
92
|
+
summary:
|
|
93
|
+
total_epics: 0
|
|
94
|
+
total_stories: 0
|
|
95
|
+
by_status:
|
|
96
|
+
backlog: 0
|
|
97
|
+
ready-for-dev: 0
|
|
98
|
+
in-progress: 0
|
|
99
|
+
review: 0
|
|
100
|
+
done: 0
|
|
101
|
+
progress_percent: 0
|
|
102
|
+
|
|
103
|
+
# ============================================================
|
|
104
|
+
# Changelog
|
|
105
|
+
# ============================================================
|
|
106
|
+
changelog:
|
|
107
|
+
- date: "YYYY-MM-DD"
|
|
108
|
+
author: "[Author]"
|
|
109
|
+
changes: "Initial creation"
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
# Story Template v2
|
|
2
|
+
|
|
3
|
+
> 📋 AI Agent-optimized story template used by Penny (BMAD-METHOD based)
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Story: [Story Title]
|
|
8
|
+
|
|
9
|
+
## Meta
|
|
10
|
+
|
|
11
|
+
| Item | Value |
|
|
12
|
+
|------|-------|
|
|
13
|
+
| **Story ID** | E-[N]-S-[M] |
|
|
14
|
+
| **Epic** | [Epic title + link] |
|
|
15
|
+
| **Status** | `ready-for-dev` |
|
|
16
|
+
| **Priority** | P0 / P1 / P2 |
|
|
17
|
+
| **Size** | S / M / L / XL |
|
|
18
|
+
| **Assigned Developer** | [Name] |
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## User Story
|
|
23
|
+
|
|
24
|
+
> As a **[role]**,
|
|
25
|
+
> I want **[feature/action]**,
|
|
26
|
+
> So that **[benefit/value]**.
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Acceptance Criteria
|
|
31
|
+
|
|
32
|
+
### AC-01: [Criteria Title]
|
|
33
|
+
|
|
34
|
+
| Item | Content |
|
|
35
|
+
|------|---------|
|
|
36
|
+
| **Given** | [Precondition: user/system state] |
|
|
37
|
+
| **When** | [Trigger: user action] |
|
|
38
|
+
| **Then** | [Expected result: system response] |
|
|
39
|
+
|
|
40
|
+
### AC-02: [Criteria Title]
|
|
41
|
+
|
|
42
|
+
| Item | Content |
|
|
43
|
+
|------|---------|
|
|
44
|
+
| **Given** | [Precondition] |
|
|
45
|
+
| **When** | [Trigger] |
|
|
46
|
+
| **Then** | [Expected result] |
|
|
47
|
+
|
|
48
|
+
### AC-03: [Criteria Title] (Edge Case)
|
|
49
|
+
|
|
50
|
+
| Item | Content |
|
|
51
|
+
|------|---------|
|
|
52
|
+
| **Given** | [Exception scenario] |
|
|
53
|
+
| **When** | [Trigger] |
|
|
54
|
+
| **Then** | [Error handling/fallback] |
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## Task Breakdown
|
|
59
|
+
|
|
60
|
+
### Task 1: [Task Name] `AC-01`
|
|
61
|
+
|
|
62
|
+
- [ ] **1.1**: [Detailed work - be specific]
|
|
63
|
+
- [ ] **1.2**: [Detailed work]
|
|
64
|
+
- [ ] **1.3**: [Detailed work]
|
|
65
|
+
|
|
66
|
+
### Task 2: [Task Name] `AC-02`
|
|
67
|
+
|
|
68
|
+
- [ ] **2.1**: [Detailed work]
|
|
69
|
+
- [ ] **2.2**: [Detailed work]
|
|
70
|
+
|
|
71
|
+
### Task 3: Write Tests `AC-01, AC-02, AC-03`
|
|
72
|
+
|
|
73
|
+
- [ ] **3.1**: Write unit tests
|
|
74
|
+
- [ ] **3.2**: Write integration tests
|
|
75
|
+
- [ ] **3.3**: Edge case tests
|
|
76
|
+
|
|
77
|
+
### Task 4: Wrap-up
|
|
78
|
+
|
|
79
|
+
- [ ] **4.1**: Code cleanup and comments
|
|
80
|
+
- [ ] **4.2**: Verify event logging
|
|
81
|
+
- [ ] **4.3**: Create PR
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## Dev Notes (AI Agent Optimized)
|
|
86
|
+
|
|
87
|
+
### Architecture Pattern
|
|
88
|
+
|
|
89
|
+
| Item | Content |
|
|
90
|
+
|------|---------|
|
|
91
|
+
| **Pattern to Use** | [e.g., Repository Pattern, CQRS, Event Sourcing, etc.] |
|
|
92
|
+
| **Reference Implementation** | [Existing code path - similar implementation example] |
|
|
93
|
+
| **Things to Avoid** | [Anti-patterns, cautions] |
|
|
94
|
+
|
|
95
|
+
### Affected Source Tree
|
|
96
|
+
|
|
97
|
+
```
|
|
98
|
+
src/
|
|
99
|
+
├── [directory1-to-modify]/
|
|
100
|
+
│ ├── [file1-to-modify.ts] # [Change summary]
|
|
101
|
+
│ └── [file2-to-modify.ts] # [Change summary]
|
|
102
|
+
├── [directory2-to-modify]/
|
|
103
|
+
│ └── [new-file.ts] # 🆕 New file
|
|
104
|
+
└── tests/
|
|
105
|
+
└── [test-file.test.ts] # 🆕 New file
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### Tech Stack
|
|
109
|
+
|
|
110
|
+
| Item | Technology | Version |
|
|
111
|
+
|------|-----------|---------|
|
|
112
|
+
| Framework | [e.g., Next.js] | [Version] |
|
|
113
|
+
| Library | [e.g., React Query] | [Version] |
|
|
114
|
+
| DB | [e.g., PostgreSQL] | [Version] |
|
|
115
|
+
|
|
116
|
+
### Test Criteria
|
|
117
|
+
|
|
118
|
+
| Type | Required | Target/Scenario |
|
|
119
|
+
|------|----------|----------------|
|
|
120
|
+
| Unit Test | ✅/❌ | [Target function/class] |
|
|
121
|
+
| Integration Test | ✅/❌ | [API endpoint] |
|
|
122
|
+
| E2E Test | ✅/❌ | [User scenario] |
|
|
123
|
+
|
|
124
|
+
### Conflict Detection
|
|
125
|
+
|
|
126
|
+
| Item | Status | Description |
|
|
127
|
+
|------|--------|-------------|
|
|
128
|
+
| Existing code conflict | ✅ None / ⚠️ Caution | [Detailed description] |
|
|
129
|
+
| API contract change | ✅ None / ⚠️ Caution | [Detailed description] |
|
|
130
|
+
| DB schema change | ✅ None / ⚠️ Caution | [Migration needed?] |
|
|
131
|
+
| Environment variable change | ✅ None / ⚠️ Caution | [Variables to add] |
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
## References
|
|
136
|
+
|
|
137
|
+
| Source | Path/Link | Reference Section |
|
|
138
|
+
|--------|----------|-------------------|
|
|
139
|
+
| PRD | [Notion link] | [Section name] |
|
|
140
|
+
| Epic Spec | [epic-specs/E-XX-xxx.md](../epic-specs/E-XX-xxx.md) | [Section name] |
|
|
141
|
+
| **Screen Spec** | [design/E-XX-screen-spec.md](../design/E-XX-screen-spec.md) | Level [N] |
|
|
142
|
+
| Design | [Figma link] | [Frame name] |
|
|
143
|
+
| API Spec | [Swagger link] | [Endpoint] |
|
|
144
|
+
| Reference Implementation | `src/[path]/[file]` | [Function/class name] |
|
|
145
|
+
| External Docs | [Link] | [Related content] |
|
|
146
|
+
|
|
147
|
+
### spec-site Integration (Optional)
|
|
148
|
+
|
|
149
|
+
When interactive mockups exist, add spec-site link:
|
|
150
|
+
|
|
151
|
+
| Source | Path | Reference |
|
|
152
|
+
|--------|------|-----------|
|
|
153
|
+
| **spec-site Mockup** | `spec-site/src/pages/{feature}/` | Per-scenario interactive mockup |
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
## Event Logging
|
|
158
|
+
|
|
159
|
+
| Event Name | Trigger | Parameters | GA4 |
|
|
160
|
+
|------------|---------|------------|-----|
|
|
161
|
+
| `[event_name]` | [When triggered] | `{key: value}` | ✅/❌ |
|
|
162
|
+
| `[event_name]` | [When triggered] | `{key: value}` | ✅/❌ |
|
|
163
|
+
|
|
164
|
+
---
|
|
165
|
+
|
|
166
|
+
## Dev Agent Record
|
|
167
|
+
|
|
168
|
+
| Item | Value |
|
|
169
|
+
|------|-------|
|
|
170
|
+
| **Created By Agent** | [Model name: Claude Opus 4.5, etc.] |
|
|
171
|
+
| **Created Date** | [YYYY-MM-DD] |
|
|
172
|
+
| **Last Modified** | [YYYY-MM-DD] |
|
|
173
|
+
| **Reviewer** | [Penny / Person name] |
|
|
174
|
+
|
|
175
|
+
### Completion Notes
|
|
176
|
+
|
|
177
|
+
```
|
|
178
|
+
[Recorded after development completion]
|
|
179
|
+
- Notable items:
|
|
180
|
+
- Changed parts:
|
|
181
|
+
- Additional considerations:
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
### Modified File List
|
|
185
|
+
|
|
186
|
+
```
|
|
187
|
+
[Recorded automatically/manually after development completion]
|
|
188
|
+
- src/...
|
|
189
|
+
- src/...
|
|
190
|
+
- tests/...
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
### Related PR
|
|
194
|
+
|
|
195
|
+
- PR #[Number]: [Title]
|
|
196
|
+
|
|
197
|
+
---
|
|
198
|
+
|
|
199
|
+
## Pre-Handoff Checklist
|
|
200
|
+
|
|
201
|
+
### Context & Requirements
|
|
202
|
+
- [ ] Is the user story clear? (role, feature, value)
|
|
203
|
+
- [ ] Are acceptance criteria in Given-When-Then format?
|
|
204
|
+
- [ ] Are all edge cases defined?
|
|
205
|
+
|
|
206
|
+
### Disaster Prevention
|
|
207
|
+
- [ ] Checked for similar functionality in existing code?
|
|
208
|
+
- [ ] No ⚠️ items in conflict detection?
|
|
209
|
+
- [ ] Verified library version compatibility?
|
|
210
|
+
|
|
211
|
+
### AI Agent Optimization
|
|
212
|
+
- [ ] Are Dev Notes sufficiently detailed?
|
|
213
|
+
- [ ] Are References accurate?
|
|
214
|
+
- [ ] Is the task breakdown specific enough?
|
|
215
|
+
|
|
216
|
+
### Final Check
|
|
217
|
+
- [ ] Is event logging defined?
|
|
218
|
+
- [ ] Is status set to `ready-for-dev`?
|
|
219
|
+
|
|
220
|
+
---
|
|
221
|
+
|
|
222
|
+
**Validation Result**: ✅ PASS / ❌ FAIL
|
|
223
|
+
**Validation Date**: [YYYY-MM-DD]
|
|
224
|
+
|
|
225
|
+
---
|
|
226
|
+
|
|
227
|
+
*Created: [Date]*
|
|
228
|
+
*Last Modified: [Date]*
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
# Hypothesis Validation Report Template
|
|
2
|
+
|
|
3
|
+
> 📊 Hypothesis validation result reporting template used by Vicky
|
|
4
|
+
|
|
5
|
+
## Validation Result: [Hypothesis/Feature Name]
|
|
6
|
+
|
|
7
|
+
### Summary
|
|
8
|
+
| Item | Content |
|
|
9
|
+
|------|---------|
|
|
10
|
+
| **Verdict** | ✅ Success / ❌ Failure / ⚠️ Partial Success |
|
|
11
|
+
| **OMTM Achievement** | [Before] → [After] (Target: [Target]) |
|
|
12
|
+
| **Validation Period** | [Start date] ~ [End date] |
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
### Hypothesis
|
|
17
|
+
> [IF] we do ______,
|
|
18
|
+
> [THEN] ______ will improve.
|
|
19
|
+
> [BECAUSE] ______.
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
### Measurement Results
|
|
24
|
+
|
|
25
|
+
#### Primary Metrics
|
|
26
|
+
| Metric | Before | After | Change | Target | Verdict |
|
|
27
|
+
|--------|--------|-------|--------|--------|---------|
|
|
28
|
+
| [Metric 1] | [Value] | [Value] | [+/-]% | [Value] | ✅/❌ |
|
|
29
|
+
| [Metric 2] | [Value] | [Value] | [+/-]% | [Value] | ✅/❌ |
|
|
30
|
+
|
|
31
|
+
#### Secondary Metrics
|
|
32
|
+
| Metric | Before | After | Change | Notes |
|
|
33
|
+
|--------|--------|-------|--------|-------|
|
|
34
|
+
| [Metric 1] | [Value] | [Value] | [+/-]% | [Interpretation] |
|
|
35
|
+
|
|
36
|
+
#### Guard Rail
|
|
37
|
+
| Metric | Before | After | Threshold | Status |
|
|
38
|
+
|--------|--------|-------|-----------|--------|
|
|
39
|
+
| [Metric 1] | [Value] | [Value] | ≤ [Value] | 🟢/🟡/🔴 |
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
### Analysis
|
|
44
|
+
|
|
45
|
+
#### Result Interpretation
|
|
46
|
+
[Interpret what the numbers mean]
|
|
47
|
+
|
|
48
|
+
#### Unexpected Findings
|
|
49
|
+
[Differences between expectations and actual results]
|
|
50
|
+
|
|
51
|
+
#### External Variables
|
|
52
|
+
[External factors that could have affected results]
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
### Learnings
|
|
57
|
+
|
|
58
|
+
#### Validated
|
|
59
|
+
- [Confirmed assumption 1]
|
|
60
|
+
- [Confirmed assumption 2]
|
|
61
|
+
|
|
62
|
+
#### Disproved
|
|
63
|
+
- [Incorrect assumption 1]
|
|
64
|
+
- [Incorrect assumption 2]
|
|
65
|
+
|
|
66
|
+
#### New Discoveries
|
|
67
|
+
- [Unexpected insight]
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
### Next Actions
|
|
72
|
+
|
|
73
|
+
#### Immediate Execution
|
|
74
|
+
- [ ] [Action 1]
|
|
75
|
+
- [ ] [Action 2]
|
|
76
|
+
|
|
77
|
+
#### Follow-up Validation Needed
|
|
78
|
+
- [ ] [Additional validation item]
|
|
79
|
+
|
|
80
|
+
#### Next Sprint Backlog
|
|
81
|
+
- [ ] [Next sprint backlog item]
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
### Data Sources
|
|
86
|
+
- GA4 Property: [ID]
|
|
87
|
+
- Measurement period: [Period]
|
|
88
|
+
- Segment: [Target users]
|
|
89
|
+
- Query/Dashboard: [Link]
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## Checklist
|
|
94
|
+
- [ ] Were Before/After measured under identical conditions?
|
|
95
|
+
- [ ] Is the sample size sufficient?
|
|
96
|
+
- [ ] Were external variables controlled?
|
|
97
|
+
- [ ] Were Guard Rail metrics verified?
|
|
98
|
+
- [ ] Are learning points organized?
|
|
99
|
+
- [ ] Are next actions specific?
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="ko">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
+
<link href="https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700&family=Roboto:wght@400;500;700&display=swap" rel="stylesheet">
|
|
7
|
+
<!-- TODO: Change title to your project name -->
|
|
8
|
+
<title>Spec Site</title>
|
|
9
|
+
</head>
|
|
10
|
+
<body>
|
|
11
|
+
<div id="app"></div>
|
|
12
|
+
<script type="module" src="/src/main.ts"></script>
|
|
13
|
+
</body>
|
|
14
|
+
</html>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "spec-site",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"scripts": {
|
|
6
|
+
"dev": "vite",
|
|
7
|
+
"build": "vue-tsc -b && vite build",
|
|
8
|
+
"preview": "vite preview"
|
|
9
|
+
},
|
|
10
|
+
"dependencies": {
|
|
11
|
+
"vue": "^3.5.27",
|
|
12
|
+
"vue-router": "^4.5.0"
|
|
13
|
+
},
|
|
14
|
+
"devDependencies": {
|
|
15
|
+
"@vitejs/plugin-vue": "^5.2.3",
|
|
16
|
+
"typescript": "~5.7.0",
|
|
17
|
+
"vite": "^6.2.0",
|
|
18
|
+
"vue-tsc": "^2.2.8"
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import AppHeader from './components/AppHeader.vue'
|
|
3
|
+
import MemoSidebar from './components/MemoSidebar.vue'
|
|
4
|
+
</script>
|
|
5
|
+
|
|
6
|
+
<template>
|
|
7
|
+
<div class="app-layout">
|
|
8
|
+
<AppHeader />
|
|
9
|
+
<main class="app-main">
|
|
10
|
+
<router-view />
|
|
11
|
+
</main>
|
|
12
|
+
<MemoSidebar />
|
|
13
|
+
</div>
|
|
14
|
+
</template>
|
|
15
|
+
|
|
16
|
+
<style scoped>
|
|
17
|
+
.app-layout {
|
|
18
|
+
display: flex;
|
|
19
|
+
flex-direction: column;
|
|
20
|
+
height: 100vh;
|
|
21
|
+
overflow: hidden;
|
|
22
|
+
}
|
|
23
|
+
.app-main {
|
|
24
|
+
flex: 1;
|
|
25
|
+
overflow: hidden;
|
|
26
|
+
}
|
|
27
|
+
</style>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M16.8667 19.4395C16.8667 19.4395 19.44 20.4395 19.44 21.9995L17.9467 21.0395L16.8667 19.4395Z" fill="#3C3C3C"/>
|
|
3
|
+
<path d="M24.3188 6.33398L16.0122 10.6673L6.14551 10.671" stroke="#3C3C3C" stroke-width="1.33" stroke-linecap="round" stroke-linejoin="round"/>
|
|
4
|
+
<path d="M6.5 13C7.88071 13 9 11.8807 9 10.5C9 9.11929 7.88071 8 6.5 8C5.11929 8 4 9.11929 4 10.5C4 11.8807 5.11929 13 6.5 13Z" fill="#D8E5F9" stroke="#3C3C3C" stroke-width="1.33" stroke-linecap="round" stroke-linejoin="round"/>
|
|
5
|
+
<path d="M16.5 13C17.8807 13 19 11.8807 19 10.5C19 9.11929 17.8807 8 16.5 8C15.1193 8 14 9.11929 14 10.5C14 11.8807 15.1193 13 16.5 13Z" fill="#D8E5F9" stroke="#3C3C3C" stroke-width="1.33" stroke-linecap="round" stroke-linejoin="round"/>
|
|
6
|
+
<path d="M25.3329 9.33333C26.8057 9.33333 27.9996 8.13943 27.9996 6.66667C27.9996 5.19391 26.8057 4 25.3329 4C23.8602 4 22.6663 5.19391 22.6663 6.66667C22.6663 8.13943 23.8602 9.33333 25.3329 9.33333Z" fill="white" stroke="#3C3C3C" stroke-width="1.33" stroke-linecap="round" stroke-linejoin="round"/>
|
|
7
|
+
<path d="M7.28125 19.3389C7.94468 19.3389 8.57068 19.4513 9.14648 19.6641C9.73475 19.8768 10.2104 20.2525 10.5859 20.7656C10.9615 21.2789 11.1494 21.9552 11.1494 22.7939V29.5156H9.02148V28.709C8.42243 29.1246 7.82153 29.3608 7.80762 29.3662L7.83984 29.3174C7.38831 29.5903 6.83511 29.7285 6.16699 29.7285C5.55368 29.7285 5.01568 29.6157 4.54004 29.3779C4.06435 29.1401 3.68848 28.802 3.41309 28.3389C3.13783 27.8883 3 27.3373 3 26.6865C3.00009 25.6603 3.3259 24.9094 3.98926 24.4463C4.65268 23.9832 5.49121 23.7206 6.51758 23.6455C7.04334 23.608 7.85722 23.5579 8.94629 23.5078V22.7061C8.94626 22.2054 8.79552 21.8174 8.49512 21.542C8.20727 21.2668 7.78195 21.129 7.23145 21.1289C6.75587 21.1289 6.35491 21.2414 6.04199 21.4541C5.72904 21.6669 5.54075 21.968 5.45312 22.3311H3.3125C3.36257 21.7553 3.55073 21.2416 3.88867 20.791C4.22663 20.3404 4.67716 19.9769 5.25293 19.7266C5.82876 19.4637 6.50513 19.3389 7.28125 19.3389ZM24.9941 19.3389C25.7451 19.3389 26.3839 19.4643 26.9346 19.7021C27.4851 19.9525 27.9235 20.2907 28.2363 20.7412C28.5491 21.1918 28.7363 21.7178 28.7988 22.3311H26.6963C26.6212 21.9431 26.4459 21.6425 26.1582 21.4297H26.1709C25.883 21.2044 25.5197 21.0918 25.0566 21.0918C24.7437 21.0918 24.4553 21.1411 24.1924 21.2412C23.9422 21.3413 23.7422 21.4792 23.6045 21.6543C23.4668 21.8295 23.3916 22.0432 23.3916 22.2686C23.3917 22.5437 23.4914 22.7694 23.7041 22.957C23.9169 23.1447 24.255 23.3073 24.7305 23.4199L26.333 23.7705C27.2216 23.9833 27.8978 24.3083 28.3359 24.7588C28.7741 25.2094 29 25.7982 29 26.5117C29 27.1376 28.837 27.7013 28.499 28.1895C28.1736 28.6776 27.6973 29.0526 27.084 29.3154C26.4706 29.5783 25.7697 29.7168 24.9561 29.7168C23.7669 29.7168 22.8279 29.4533 22.127 28.915C21.4261 28.3768 21.0256 27.6257 20.9004 26.6494H23.166C23.2286 27.075 23.4164 27.4005 23.7168 27.6133C24.0172 27.8261 24.4304 27.9383 24.9561 27.9258C25.4942 27.9258 25.9197 27.8259 26.2451 27.6133C26.558 27.4005 26.7209 27.1001 26.7334 26.7246C26.7334 26.4367 26.6083 26.1983 26.3955 25.998C26.1702 25.8104 25.8319 25.6606 25.3564 25.5605L23.8418 25.21C22.9657 25.0222 22.3022 24.6836 21.8516 24.208C21.4012 23.7325 21.1759 23.1319 21.1758 22.4062C21.1758 21.7929 21.3385 21.2542 21.6514 20.791C21.9643 20.3278 22.4154 19.9652 22.9912 19.7148C23.567 19.4645 24.2431 19.3389 24.9941 19.3389ZM20.4502 29.5166H18.2715V28.5332C17.7847 28.9162 17.2413 29.177 16.9785 29.2939C16.5381 29.565 16.0221 29.704 15.4307 29.7041C14.6796 29.7041 14.016 29.4911 13.4277 29.0781H13.415C12.8267 28.665 12.3634 28.0767 12.0254 27.2881C11.6875 26.4996 11.5245 25.5734 11.5244 24.4971C11.5244 23.4205 11.7001 22.4812 12.0381 21.7051C12.376 20.9292 12.8514 20.341 13.4395 19.9404C14.0277 19.5399 14.704 19.3389 15.4424 19.3389C16.1809 19.3389 16.7568 19.5148 17.1699 19.8652C17.583 20.2157 17.9086 20.629 18.1465 21.1172H18.2344V16.1094H20.4502V29.5166ZM8.95898 25.085C8.65863 25.085 8.32036 25.1224 7.91992 25.1475C7.51937 25.1725 7.16858 25.1976 6.86816 25.2227C6.3299 25.2727 5.90395 25.4223 5.60352 25.6602C5.30308 25.898 5.14062 26.2367 5.14062 26.6748C5.14071 27.1127 5.29127 27.4126 5.5791 27.6504L5.59082 27.6387C5.87874 27.864 6.26766 27.9766 6.75586 27.9766C7.19381 27.9765 7.58187 27.8889 7.90723 27.7012C8.24517 27.5134 8.50834 27.2631 8.68359 26.9502C8.87132 26.6373 8.95894 26.2866 8.95898 25.9111V25.085ZM16.0312 21.2295C15.5556 21.2295 15.1426 21.3673 14.8047 21.6426C14.4668 21.9179 14.2163 22.2933 14.041 22.7812C13.8658 23.2694 13.7783 23.8206 13.7783 24.459C13.7783 25.0973 13.8658 25.673 14.041 26.1611L14.0537 26.1865C14.229 26.6747 14.4794 27.0625 14.8174 27.3379C15.1553 27.6132 15.5556 27.751 16.0312 27.751C16.5069 27.751 16.9072 27.6133 17.2451 27.3379C17.5831 27.0625 17.8337 26.6872 18.0215 26.1865C18.1967 25.6983 18.2842 25.1224 18.2842 24.459C18.2842 23.4701 18.0843 22.6938 17.6963 22.1055C17.3082 21.5297 16.7572 21.242 16.0312 21.2295Z" fill="#3C3C3C"/>
|
|
8
|
+
<circle cx="25.5" cy="5.5" r="4.5" fill="#FF6262"/>
|
|
9
|
+
<circle cx="25.5" cy="5.5" r="0.5" fill="white"/>
|
|
10
|
+
</svg>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M16.8667 19.4395C16.8667 19.4395 19.44 20.4395 19.44 21.9995L17.9467 21.0395L16.8667 19.4395Z" fill="#0049B9"/>
|
|
3
|
+
<path d="M24.3188 6.33398L16.0122 10.6673L6.14551 10.671" stroke="#0049B9" stroke-width="1.33" stroke-linecap="round" stroke-linejoin="round"/>
|
|
4
|
+
<path d="M6.5 13C7.88071 13 9 11.8807 9 10.5C9 9.11929 7.88071 8 6.5 8C5.11929 8 4 9.11929 4 10.5C4 11.8807 5.11929 13 6.5 13Z" fill="#59B9FF" stroke="#0049B9" stroke-width="1.33" stroke-linecap="round" stroke-linejoin="round"/>
|
|
5
|
+
<path d="M16.5 13C17.8807 13 19 11.8807 19 10.5C19 9.11929 17.8807 8 16.5 8C15.1193 8 14 9.11929 14 10.5C14 11.8807 15.1193 13 16.5 13Z" fill="#59B9FF" stroke="#0049B9" stroke-width="1.33" stroke-linecap="round" stroke-linejoin="round"/>
|
|
6
|
+
<path d="M25.3329 9.33333C26.8057 9.33333 27.9996 8.13943 27.9996 6.66667C27.9996 5.19391 26.8057 4 25.3329 4C23.8602 4 22.6663 5.19391 22.6663 6.66667C22.6663 8.13943 23.8602 9.33333 25.3329 9.33333Z" fill="white" stroke="#0049B9" stroke-width="1.33" stroke-linecap="round" stroke-linejoin="round"/>
|
|
7
|
+
<path d="M7.28125 19.3389C7.94468 19.3389 8.57068 19.4513 9.14648 19.6641C9.73475 19.8768 10.2104 20.2525 10.5859 20.7656C10.9615 21.2789 11.1494 21.9552 11.1494 22.7939V29.5156H9.02148V28.709C8.42243 29.1246 7.82153 29.3608 7.80762 29.3662L7.83984 29.3174C7.38831 29.5903 6.83511 29.7285 6.16699 29.7285C5.55368 29.7285 5.01568 29.6157 4.54004 29.3779C4.06435 29.1401 3.68848 28.802 3.41309 28.3389C3.13783 27.8883 3 27.3373 3 26.6865C3.00009 25.6603 3.3259 24.9094 3.98926 24.4463C4.65268 23.9832 5.49121 23.7206 6.51758 23.6455C7.04334 23.608 7.85722 23.5579 8.94629 23.5078V22.7061C8.94626 22.2054 8.79552 21.8174 8.49512 21.542C8.20727 21.2668 7.78195 21.129 7.23145 21.1289C6.75587 21.1289 6.35491 21.2414 6.04199 21.4541C5.72904 21.6669 5.54075 21.968 5.45312 22.3311H3.3125C3.36257 21.7553 3.55073 21.2416 3.88867 20.791C4.22663 20.3404 4.67716 19.9769 5.25293 19.7266C5.82876 19.4637 6.50513 19.3389 7.28125 19.3389ZM24.9941 19.3389C25.7451 19.3389 26.3839 19.4643 26.9346 19.7021C27.4851 19.9525 27.9235 20.2907 28.2363 20.7412C28.5491 21.1918 28.7363 21.7178 28.7988 22.3311H26.6963C26.6212 21.9431 26.4459 21.6425 26.1582 21.4297H26.1709C25.883 21.2044 25.5197 21.0918 25.0566 21.0918C24.7437 21.0918 24.4553 21.1411 24.1924 21.2412C23.9422 21.3413 23.7422 21.4792 23.6045 21.6543C23.4668 21.8295 23.3916 22.0432 23.3916 22.2686C23.3917 22.5437 23.4914 22.7694 23.7041 22.957C23.9169 23.1447 24.255 23.3073 24.7305 23.4199L26.333 23.7705C27.2216 23.9833 27.8978 24.3083 28.3359 24.7588C28.7741 25.2094 29 25.7982 29 26.5117C29 27.1376 28.837 27.7013 28.499 28.1895C28.1736 28.6776 27.6973 29.0526 27.084 29.3154C26.4706 29.5783 25.7697 29.7168 24.9561 29.7168C23.7669 29.7168 22.8279 29.4533 22.127 28.915C21.4261 28.3768 21.0256 27.6257 20.9004 26.6494H23.166C23.2286 27.075 23.4164 27.4005 23.7168 27.6133C24.0172 27.8261 24.4304 27.9383 24.9561 27.9258C25.4942 27.9258 25.9197 27.8259 26.2451 27.6133C26.558 27.4005 26.7209 27.1001 26.7334 26.7246C26.7334 26.4367 26.6083 26.1983 26.3955 25.998C26.1702 25.8104 25.8319 25.6606 25.3564 25.5605L23.8418 25.21C22.9657 25.0222 22.3022 24.6836 21.8516 24.208C21.4012 23.7325 21.1759 23.1319 21.1758 22.4062C21.1758 21.7929 21.3385 21.2542 21.6514 20.791C21.9643 20.3278 22.4154 19.9652 22.9912 19.7148C23.567 19.4645 24.2431 19.3389 24.9941 19.3389ZM20.4502 29.5166H18.2715V28.5332C17.7847 28.9162 17.2413 29.177 16.9785 29.2939C16.5381 29.565 16.0221 29.704 15.4307 29.7041C14.6796 29.7041 14.016 29.4911 13.4277 29.0781H13.415C12.8267 28.665 12.3634 28.0767 12.0254 27.2881C11.6875 26.4996 11.5245 25.5734 11.5244 24.4971C11.5244 23.4205 11.7001 22.4812 12.0381 21.7051C12.376 20.9292 12.8514 20.341 13.4395 19.9404C14.0277 19.5399 14.704 19.3389 15.4424 19.3389C16.1809 19.3389 16.7568 19.5148 17.1699 19.8652C17.583 20.2157 17.9086 20.629 18.1465 21.1172H18.2344V16.1094H20.4502V29.5166ZM8.95898 25.085C8.65863 25.085 8.32036 25.1224 7.91992 25.1475C7.51937 25.1725 7.16858 25.1976 6.86816 25.2227C6.3299 25.2727 5.90395 25.4223 5.60352 25.6602C5.30308 25.898 5.14062 26.2367 5.14062 26.6748C5.14071 27.1127 5.29127 27.4126 5.5791 27.6504L5.59082 27.6387C5.87874 27.864 6.26766 27.9766 6.75586 27.9766C7.19381 27.9765 7.58187 27.8889 7.90723 27.7012C8.24517 27.5134 8.50834 27.2631 8.68359 26.9502C8.87132 26.6373 8.95894 26.2866 8.95898 25.9111V25.085ZM16.0312 21.2295C15.5556 21.2295 15.1426 21.3673 14.8047 21.6426C14.4668 21.9179 14.2163 22.2933 14.041 22.7812C13.8658 23.2694 13.7783 23.8206 13.7783 24.459C13.7783 25.0973 13.8658 25.673 14.041 26.1611L14.0537 26.1865C14.229 26.6747 14.4794 27.0625 14.8174 27.3379C15.1553 27.6132 15.5556 27.751 16.0312 27.751C16.5069 27.751 16.9072 27.6133 17.2451 27.3379C17.5831 27.0625 17.8337 26.6872 18.0215 26.1865C18.1967 25.6983 18.2842 25.1224 18.2842 24.459C18.2842 23.4701 18.0843 22.6938 17.6963 22.1055C17.3082 21.5297 16.7572 21.242 16.0312 21.2295Z" fill="#0049B9"/>
|
|
8
|
+
<circle cx="25.5" cy="5.5" r="4.5" fill="#FF6262"/>
|
|
9
|
+
<circle cx="25.5" cy="5.5" r="0.5" fill="white"/>
|
|
10
|
+
</svg>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<svg width="33" height="33" viewBox="0 0 33 33" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<g clip-path="url(#7kbvkewg5a)" stroke="#3C3C3C" stroke-width="1.375" stroke-linecap="round" stroke-linejoin="round">
|
|
3
|
+
<path d="M30.938 10.77v16.5a3.666 3.666 0 0 1-3.667 3.668H12.604a3.666 3.666 0 0 1-3.666-3.667V6.646a3.666 3.666 0 0 1 3.666-3.667h10.542l7.791 7.792z" fill="#fff"/>
|
|
4
|
+
<path d="M23.98 8.849 12.341 6.284a2.75 2.75 0 0 0-3.278 2.093L6.006 22.253A2.75 2.75 0 0 0 8.1 25.53l11.637 2.565a2.75 2.75 0 0 0 3.277-2.093l3.059-13.876a2.75 2.75 0 0 0-2.094-3.277z" fill="#D8E5F9"/>
|
|
5
|
+
<path d="m13.078 12.545 7.608 1.677M12.188 16.573l7.608 1.678M11.297 20.602l4.478.985"/>
|
|
6
|
+
<path d="m7.104 3.094 4.813 7.104-7.792-2.636 2.98-4.468z" fill="#fff"/>
|
|
7
|
+
<path d="M5.04 8.25a3.208 3.208 0 1 0 0-6.417 3.208 3.208 0 0 0 0 6.417z" fill="#fff"/>
|
|
8
|
+
</g>
|
|
9
|
+
<defs>
|
|
10
|
+
<clipPath id="7kbvkewg5a">
|
|
11
|
+
<path fill="#fff" d="M0 0h33v33H0z"/>
|
|
12
|
+
</clipPath>
|
|
13
|
+
</defs>
|
|
14
|
+
</svg>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<g clip-path="url(#zb8ao4092a)" stroke="#0049B9" stroke-width="1.333" stroke-linecap="round" stroke-linejoin="round">
|
|
3
|
+
<path d="M30.001 10.444v16A3.555 3.555 0 0 1 26.446 30H12.223a3.555 3.555 0 0 1-3.555-3.555v-20a3.555 3.555 0 0 1 3.556-3.556h10.222L30 10.444z" fill="#fff"/>
|
|
4
|
+
<path d="M23.252 8.58 11.967 6.095a2.667 2.667 0 0 0-3.178 2.03L5.824 21.578a2.667 2.667 0 0 0 2.03 3.179l11.285 2.487a2.667 2.667 0 0 0 3.178-2.03l2.965-13.455a2.667 2.667 0 0 0-2.03-3.178z" fill="#59B9FF"/>
|
|
5
|
+
<path d="m12.68 12.165 7.378 1.626M11.82 16.071l7.378 1.627M10.953 19.978l4.342.955"/>
|
|
6
|
+
<path d="m6.889 3 4.667 6.889L4 7.333 6.889 3z" fill="#fff"/>
|
|
7
|
+
<path d="M4.888 8a3.111 3.111 0 1 0 0-6.222 3.111 3.111 0 0 0 0 6.222z" fill="#fff"/>
|
|
8
|
+
</g>
|
|
9
|
+
<defs>
|
|
10
|
+
<clipPath id="zb8ao4092a">
|
|
11
|
+
<path fill="#fff" d="M0 0h32v32H0z"/>
|
|
12
|
+
</clipPath>
|
|
13
|
+
</defs>
|
|
14
|
+
</svg>
|