commit-ai-agent 1.0.5 → 1.0.7
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/.env.example +2 -1
- package/README.md +17 -12
- package/bin/cli.js +6 -7
- package/package.json +1 -1
- package/public/app.js +310 -149
- package/public/index.html +131 -2
- package/public/style.css +792 -162
- package/src/config.js +32 -0
- package/src/server.js +106 -18
package/public/index.html
CHANGED
|
@@ -37,6 +37,10 @@
|
|
|
37
37
|
리포트
|
|
38
38
|
</button>
|
|
39
39
|
</nav>
|
|
40
|
+
<div class="aria-chip" id="aria-chip">
|
|
41
|
+
<span class="aria-chip-dot" id="aria-chip-dot"></span>
|
|
42
|
+
<span id="aria-chip-text">Hanni · 대기 중</span>
|
|
43
|
+
</div>
|
|
40
44
|
</div>
|
|
41
45
|
</header>
|
|
42
46
|
|
|
@@ -44,6 +48,130 @@
|
|
|
44
48
|
<main class="main">
|
|
45
49
|
<!-- ── Tab: Analyze ── -->
|
|
46
50
|
<section class="tab-content active" id="tab-analyze">
|
|
51
|
+
<!-- ── Aria Hero ── -->
|
|
52
|
+
<div class="aria-hero">
|
|
53
|
+
<div class="aria-robot-wrap idle" id="aria-robot-wrap">
|
|
54
|
+
<svg
|
|
55
|
+
class="aria-robot"
|
|
56
|
+
viewBox="0 0 90 115"
|
|
57
|
+
width="90"
|
|
58
|
+
height="115"
|
|
59
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
60
|
+
>
|
|
61
|
+
<defs>
|
|
62
|
+
<linearGradient
|
|
63
|
+
id="rg-head"
|
|
64
|
+
x1="0%"
|
|
65
|
+
y1="0%"
|
|
66
|
+
x2="100%"
|
|
67
|
+
y2="100%"
|
|
68
|
+
>
|
|
69
|
+
<stop offset="0%" stop-color="#6366f1" />
|
|
70
|
+
<stop offset="100%" stop-color="#22d3ee" />
|
|
71
|
+
</linearGradient>
|
|
72
|
+
<linearGradient
|
|
73
|
+
id="rg-body"
|
|
74
|
+
x1="0%"
|
|
75
|
+
y1="0%"
|
|
76
|
+
x2="100%"
|
|
77
|
+
y2="100%"
|
|
78
|
+
>
|
|
79
|
+
<stop offset="0%" stop-color="#4f46e5" />
|
|
80
|
+
<stop offset="100%" stop-color="#0e7490" />
|
|
81
|
+
</linearGradient>
|
|
82
|
+
</defs>
|
|
83
|
+
<!-- Antenna -->
|
|
84
|
+
<line
|
|
85
|
+
x1="45"
|
|
86
|
+
y1="7"
|
|
87
|
+
x2="45"
|
|
88
|
+
y2="20"
|
|
89
|
+
stroke="#818cf8"
|
|
90
|
+
stroke-width="2.5"
|
|
91
|
+
stroke-linecap="round"
|
|
92
|
+
/>
|
|
93
|
+
<circle
|
|
94
|
+
class="aria-antenna-dot"
|
|
95
|
+
cx="45"
|
|
96
|
+
cy="5"
|
|
97
|
+
r="5"
|
|
98
|
+
fill="#818cf8"
|
|
99
|
+
/>
|
|
100
|
+
<!-- Ears -->
|
|
101
|
+
<rect
|
|
102
|
+
x="1"
|
|
103
|
+
y="34"
|
|
104
|
+
width="9"
|
|
105
|
+
height="18"
|
|
106
|
+
rx="4.5"
|
|
107
|
+
fill="#4f46e5"
|
|
108
|
+
/>
|
|
109
|
+
<rect
|
|
110
|
+
x="80"
|
|
111
|
+
y="34"
|
|
112
|
+
width="9"
|
|
113
|
+
height="18"
|
|
114
|
+
rx="4.5"
|
|
115
|
+
fill="#4f46e5"
|
|
116
|
+
/>
|
|
117
|
+
<!-- Head -->
|
|
118
|
+
<rect
|
|
119
|
+
x="9"
|
|
120
|
+
y="18"
|
|
121
|
+
width="72"
|
|
122
|
+
height="62"
|
|
123
|
+
rx="20"
|
|
124
|
+
fill="url(#rg-head)"
|
|
125
|
+
/>
|
|
126
|
+
<!-- Eyes white -->
|
|
127
|
+
<circle cx="30" cy="48" r="13" fill="white" opacity="0.92" />
|
|
128
|
+
<circle cx="60" cy="48" r="13" fill="white" opacity="0.92" />
|
|
129
|
+
<!-- Pupils -->
|
|
130
|
+
<circle cx="32" cy="49" r="7.5" fill="#1e1b4b" />
|
|
131
|
+
<circle cx="62" cy="49" r="7.5" fill="#1e1b4b" />
|
|
132
|
+
<!-- Eye shine -->
|
|
133
|
+
<circle cx="35" cy="45" r="2.5" fill="white" />
|
|
134
|
+
<circle cx="65" cy="45" r="2.5" fill="white" />
|
|
135
|
+
<!-- Smile -->
|
|
136
|
+
<path
|
|
137
|
+
d="M 32 63 Q 45 73 58 63"
|
|
138
|
+
stroke="white"
|
|
139
|
+
stroke-width="2.8"
|
|
140
|
+
fill="none"
|
|
141
|
+
stroke-linecap="round"
|
|
142
|
+
/>
|
|
143
|
+
<!-- Body -->
|
|
144
|
+
<rect
|
|
145
|
+
x="20"
|
|
146
|
+
y="84"
|
|
147
|
+
width="50"
|
|
148
|
+
height="28"
|
|
149
|
+
rx="12"
|
|
150
|
+
fill="url(#rg-body)"
|
|
151
|
+
/>
|
|
152
|
+
<!-- Body buttons -->
|
|
153
|
+
<circle cx="34" cy="98" r="5" fill="rgba(255,255,255,0.35)" />
|
|
154
|
+
<circle cx="45" cy="98" r="5" fill="rgba(255,255,255,0.35)" />
|
|
155
|
+
<circle cx="56" cy="98" r="5" fill="rgba(255,255,255,0.35)" />
|
|
156
|
+
</svg>
|
|
157
|
+
</div>
|
|
158
|
+
<div class="aria-bubble-wrap">
|
|
159
|
+
<div class="aria-bubble">
|
|
160
|
+
<span class="aria-bubble-text" id="aria-bubble-text"
|
|
161
|
+
>어떤 프로젝트의 커밋을 분석해드릴까요?</span
|
|
162
|
+
>
|
|
163
|
+
<span
|
|
164
|
+
class="aria-typing-dots"
|
|
165
|
+
id="aria-typing-dots"
|
|
166
|
+
style="display: none"
|
|
167
|
+
>
|
|
168
|
+
<span></span><span></span><span></span>
|
|
169
|
+
</span>
|
|
170
|
+
</div>
|
|
171
|
+
<div class="aria-name-badge">Hanni</div>
|
|
172
|
+
</div>
|
|
173
|
+
</div>
|
|
174
|
+
|
|
47
175
|
<!-- API Key Warning -->
|
|
48
176
|
<div class="alert alert-warn" id="api-key-warn" style="display: none">
|
|
49
177
|
⚠️ <strong>.env</strong> 파일에 <code>GEMINI_API_KEY</code>가 설정되지
|
|
@@ -80,7 +208,8 @@
|
|
|
80
208
|
>프로젝트를 선택해 주세요</span
|
|
81
209
|
>
|
|
82
210
|
<button class="btn-primary" id="analyze-btn" disabled>
|
|
83
|
-
<span class="btn-icon"
|
|
211
|
+
<span class="btn-icon">🤖</span>
|
|
212
|
+
<span id="analyze-btn-text">Hanni에게 분석 요청</span>
|
|
84
213
|
</button>
|
|
85
214
|
</div>
|
|
86
215
|
</div>
|
|
@@ -118,7 +247,7 @@
|
|
|
118
247
|
<!-- Analysis Output -->
|
|
119
248
|
<div class="card result-card" id="result-card" style="display: none">
|
|
120
249
|
<div class="result-header">
|
|
121
|
-
<h2 class="card-title"
|
|
250
|
+
<h2 class="card-title">🤖 Hanni의 분석 리포트</h2>
|
|
122
251
|
<div class="result-actions">
|
|
123
252
|
<button class="btn-ghost" id="copy-btn" style="display: none">
|
|
124
253
|
📋 복사
|