@pheem49/mint 1.2.3 → 1.3.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 +28 -0
- package/docs/assets/Agent_Mint.png +0 -0
- package/docs/assets/Settings.png +0 -0
- package/docs/assets/icon.png +0 -0
- package/docs/index.html +53 -5
- package/docs/style.css +295 -6
- package/index.html +16 -0
- package/main.js +36 -83
- package/mint-cli-logic.js +19 -0
- package/mint-cli.js +121 -17
- package/package.json +8 -2
- package/src/AI_Brain/Gemini_API.js +175 -9
- package/src/AI_Brain/knowledge_base.js +199 -125
- package/src/Automation_Layer/file_operations.js +74 -10
- package/src/CLI/chat_router.js +166 -0
- package/src/CLI/chat_ui.js +239 -110
- package/src/CLI/code_agent.js +443 -0
- package/src/CLI/code_session_memory.js +62 -0
- package/src/CLI/list_features.js +1 -0
- package/src/Plugins/mcp_manager.js +95 -0
- package/src/Plugins/plugin_manager.js +2 -2
- package/src/System/config_manager.js +27 -7
- package/src/System/granular_automation.js +88 -0
- package/src/UI/settings.html +24 -0
- package/src/UI/settings.js +98 -1
- package/docs/assets/hero-bg.png +0 -0
- package/docs/assets/logo.png +0 -0
package/README.md
CHANGED
|
@@ -22,6 +22,9 @@
|
|
|
22
22
|
## 🌟 Highlights
|
|
23
23
|
|
|
24
24
|
- **Dual-Mode AI**: Switch between a beautiful **Desktop GUI** and a professional **CLI**.
|
|
25
|
+
- **Code Agent Mode**: Use `mint code "<task>"` to inspect, edit, and verify a project directly from the current terminal workspace.
|
|
26
|
+
- **Chat-First Workflow**: Regular Mint chat can now auto-route coding requests into workspace Code Mode, so the main chat acts as the control surface.
|
|
27
|
+
- **Visible Mode State**: The CLI status bar now shows whether Mint is currently in `Chat` or `Code` mode.
|
|
25
28
|
- **Interactive Slash Commands**: Manage models and settings in the terminal with `/model`, `/config`, `/clear`, etc.
|
|
26
29
|
- **Smart TUI Experience**: Professional message framing, character-wrapped Thai text support, and mouse scroll wheel navigation.
|
|
27
30
|
- **System Information Action**: Retrieve OS, Kernel, and Architecture details via natural language.
|
|
@@ -55,6 +58,7 @@ Mint CLI is built for speed and efficiency. Use the **`mint`** command from anyw
|
|
|
55
58
|
|
|
56
59
|
### 🚀 Professional Commands
|
|
57
60
|
- **`mint`** : Start interactive chat mode (Default).
|
|
61
|
+
- **`mint code "task"`** : Run Mint as a workspace-aware coding agent in the current project folder.
|
|
58
62
|
- **`mint agent`** : Run Mint as a headless background agent (Monitoring mode).
|
|
59
63
|
- **`mint agent "task"`** : **[NEW]** Start agent and execute an autonomous task immediately.
|
|
60
64
|
- **`mint task "task"`** : Delegate a multi-step task to an already running background agent.
|
|
@@ -66,6 +70,30 @@ Mint CLI is built for speed and efficiency. Use the **`mint`** command from anyw
|
|
|
66
70
|
### 🤖 Autonomous Agent (Task Delegate)
|
|
67
71
|
Mint isn't just a chatbot—it's an autonomous worker. Assign complex tasks that require multiple steps of reasoning.
|
|
68
72
|
|
|
73
|
+
### 👨💻 Code Agent Mode
|
|
74
|
+
Mint now includes a dedicated coding workflow as the first step toward a Claude-Code-like experience in the terminal.
|
|
75
|
+
|
|
76
|
+
**What it can do now:**
|
|
77
|
+
- Inspect the current workspace before editing
|
|
78
|
+
- Search code across the repo
|
|
79
|
+
- Read targeted file ranges
|
|
80
|
+
- Run non-destructive shell commands in the project with interactive approval
|
|
81
|
+
- Apply patch-based file edits with approval before changes are written
|
|
82
|
+
- Reuse lightweight session memory and git/test context per project
|
|
83
|
+
|
|
84
|
+
**Usage Example:**
|
|
85
|
+
```bash
|
|
86
|
+
mint code "fix the failing CLI command and verify it"
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
**Chat-first Example:**
|
|
90
|
+
```bash
|
|
91
|
+
mint
|
|
92
|
+
> สำรวจโปรเจคนี้ให้หน่อย
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
Mint will classify the request, switch the status bar to `Code`, and return to `Chat` mode after the coding flow finishes.
|
|
96
|
+
|
|
69
97
|
**Supported Autonomous Tools:**
|
|
70
98
|
- 🌐 **Web Automation**: Full Puppeteer-based browsing, info extraction, and research.
|
|
71
99
|
- 📁 **File System**: Create, Write, Delete, and Manage folders using `~/` path expansion.
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/docs/index.html
CHANGED
|
@@ -7,14 +7,18 @@
|
|
|
7
7
|
<meta name="description" content="A powerful Electron-based AI desktop assistant powered by Google Gemini, featuring screen vision, web automation, and proactive suggestions.">
|
|
8
8
|
<link rel="stylesheet" href="style.css">
|
|
9
9
|
<script src="https://unpkg.com/@phosphor-icons/web"></script>
|
|
10
|
-
<link rel="icon" type="image/png" href="assets/
|
|
10
|
+
<link rel="icon" type="image/png" href="assets/icon.png">
|
|
11
11
|
</head>
|
|
12
12
|
<body>
|
|
13
13
|
<div class="bg-glow"></div>
|
|
14
|
-
|
|
14
|
+
<div class="floating-blobs">
|
|
15
|
+
<div class="blob blob-1"></div>
|
|
16
|
+
<div class="blob blob-2"></div>
|
|
17
|
+
<div class="blob blob-3"></div>
|
|
18
|
+
</div>
|
|
15
19
|
<nav>
|
|
16
20
|
<div class="logo-container">
|
|
17
|
-
<img src="assets/
|
|
21
|
+
<img src="assets/icon.png" alt="Mint Logo">
|
|
18
22
|
<span>Agent Mint</span>
|
|
19
23
|
</div>
|
|
20
24
|
<div class="nav-links">
|
|
@@ -30,15 +34,59 @@
|
|
|
30
34
|
|
|
31
35
|
<div class="install-container" id="install-cmd">
|
|
32
36
|
<span>$</span>
|
|
33
|
-
<code>npm install -g @pheem49/mint</code>
|
|
37
|
+
<code>npm install -g @pheem49/mint@latest</code>
|
|
34
38
|
<button class="copy-btn" title="Copy to clipboard" onclick="copyCommand()">
|
|
35
39
|
<i class="ph ph-copy"></i>
|
|
36
40
|
</button>
|
|
37
41
|
</div>
|
|
38
42
|
|
|
39
43
|
<div class="hero-preview">
|
|
44
|
+
<div class="preview-badge">Terminal Interface</div>
|
|
40
45
|
<img src="assets/CLI_Screen.png" alt="Mint CLI Preview">
|
|
41
46
|
</div>
|
|
47
|
+
|
|
48
|
+
<section class="desktop-showcase">
|
|
49
|
+
<div class="showcase-header">
|
|
50
|
+
<img src="assets/icon.png" alt="Mint Icon" class="section-icon">
|
|
51
|
+
<h2>Modern Desktop Interface</h2>
|
|
52
|
+
<p>Enjoy a premium, glassmorphism-inspired GUI designed for the modern desktop environment. Manage your AI companion and customize your experience with ease.</p>
|
|
53
|
+
</div>
|
|
54
|
+
|
|
55
|
+
<div class="showcase-group">
|
|
56
|
+
<div class="showcase-images">
|
|
57
|
+
<div class="image-wrapper main-ui">
|
|
58
|
+
<img src="assets/Agent_Mint.png" alt="Agent Mint Main UI">
|
|
59
|
+
<span>Main Interface</span>
|
|
60
|
+
</div>
|
|
61
|
+
<div class="image-wrapper settings-ui">
|
|
62
|
+
<img src="assets/Settings.png" alt="Mint Settings UI">
|
|
63
|
+
<span>Settings & Controls</span>
|
|
64
|
+
</div>
|
|
65
|
+
</div>
|
|
66
|
+
|
|
67
|
+
<div class="showcase-text-combined">
|
|
68
|
+
<div class="text-block">
|
|
69
|
+
<h3><i class="ph ph-sparkle"></i> Intelligent Companion</h3>
|
|
70
|
+
<p>A sleek, floating chat interface that provides powerful AI capabilities without cluttering your workspace.</p>
|
|
71
|
+
</div>
|
|
72
|
+
<div class="text-block">
|
|
73
|
+
<h3><i class="ph ph-sliders"></i> Granular Controls</h3>
|
|
74
|
+
<p>Fully customize your experience. Manage API keys, switch models, and toggle proactive features with ease.</p>
|
|
75
|
+
</div>
|
|
76
|
+
</div>
|
|
77
|
+
</div>
|
|
78
|
+
</section>
|
|
79
|
+
|
|
80
|
+
<section class="downloads">
|
|
81
|
+
<div class="download-container">
|
|
82
|
+
<h2>Get the Latest Release</h2>
|
|
83
|
+
<p>Download the latest stable binaries for Linux including <b>.deb</b> and <b>.AppImage</b> formats directly from our GitHub releases page.</p>
|
|
84
|
+
<a href="https://github.com/Pheem49/Mint/releases" class="download-btn" target="_blank">
|
|
85
|
+
<i class="ph ph-download-simple"></i>
|
|
86
|
+
Download Latest Binaries
|
|
87
|
+
</a>
|
|
88
|
+
</div>
|
|
89
|
+
</section>
|
|
42
90
|
</header>
|
|
43
91
|
|
|
44
92
|
<section class="features" id="features">
|
|
@@ -71,7 +119,7 @@
|
|
|
71
119
|
|
|
72
120
|
<script>
|
|
73
121
|
function copyCommand() {
|
|
74
|
-
const cmd = "npm install -g @pheem49/mint";
|
|
122
|
+
const cmd = "npm install -g @pheem49/mint@latest";
|
|
75
123
|
navigator.clipboard.writeText(cmd);
|
|
76
124
|
const icon = document.querySelector('.copy-btn i');
|
|
77
125
|
icon.classList.replace('ph-copy', 'ph-check');
|
package/docs/style.css
CHANGED
|
@@ -31,7 +31,7 @@ body {
|
|
|
31
31
|
overflow-x: hidden;
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
-
/* Background Gradients */
|
|
34
|
+
/* Background Gradients & Texture */
|
|
35
35
|
.bg-glow {
|
|
36
36
|
position: fixed;
|
|
37
37
|
top: 0;
|
|
@@ -39,8 +39,78 @@ body {
|
|
|
39
39
|
width: 100%;
|
|
40
40
|
height: 100%;
|
|
41
41
|
z-index: -1;
|
|
42
|
-
background:
|
|
43
|
-
|
|
42
|
+
background:
|
|
43
|
+
radial-gradient(circle at 0% 0%, rgba(0, 255, 163, 0.03) 0%, transparent 40%),
|
|
44
|
+
radial-gradient(circle at 100% 100%, rgba(0, 224, 255, 0.03) 0%, transparent 40%),
|
|
45
|
+
var(--bg-color);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.bg-glow::before {
|
|
49
|
+
content: '';
|
|
50
|
+
position: absolute;
|
|
51
|
+
top: 0;
|
|
52
|
+
left: 0;
|
|
53
|
+
width: 100%;
|
|
54
|
+
height: 100%;
|
|
55
|
+
background-image: radial-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px);
|
|
56
|
+
background-size: 40px 40px;
|
|
57
|
+
opacity: 0.5;
|
|
58
|
+
mask-image: radial-gradient(ellipse at center, black, transparent 80%);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/* Floating Blobs */
|
|
62
|
+
.floating-blobs {
|
|
63
|
+
position: fixed;
|
|
64
|
+
top: 0;
|
|
65
|
+
left: 0;
|
|
66
|
+
width: 100%;
|
|
67
|
+
height: 100%;
|
|
68
|
+
z-index: -1;
|
|
69
|
+
overflow: hidden;
|
|
70
|
+
pointer-events: none;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.blob {
|
|
74
|
+
position: absolute;
|
|
75
|
+
border-radius: 50%;
|
|
76
|
+
filter: blur(120px);
|
|
77
|
+
opacity: 0.15;
|
|
78
|
+
animation: float 20s infinite alternate cubic-bezier(0.45, 0, 0.55, 1);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.blob-1 {
|
|
82
|
+
width: 600px;
|
|
83
|
+
height: 600px;
|
|
84
|
+
background: var(--accent-mint);
|
|
85
|
+
top: -200px;
|
|
86
|
+
left: -100px;
|
|
87
|
+
animation-duration: 25s;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.blob-2 {
|
|
91
|
+
width: 500px;
|
|
92
|
+
height: 500px;
|
|
93
|
+
background: var(--accent-blue);
|
|
94
|
+
bottom: -100px;
|
|
95
|
+
right: -100px;
|
|
96
|
+
animation-duration: 30s;
|
|
97
|
+
animation-delay: -5s;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
.blob-3 {
|
|
101
|
+
width: 400px;
|
|
102
|
+
height: 400px;
|
|
103
|
+
background: #8b5cf6;
|
|
104
|
+
top: 40%;
|
|
105
|
+
left: 50%;
|
|
106
|
+
opacity: 0.08;
|
|
107
|
+
animation-duration: 22s;
|
|
108
|
+
animation-delay: -10s;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
@keyframes float {
|
|
112
|
+
0% { transform: translate(0, 0) scale(1); }
|
|
113
|
+
100% { transform: translate(100px, 50px) scale(1.1); }
|
|
44
114
|
}
|
|
45
115
|
|
|
46
116
|
/* Navigation */
|
|
@@ -99,15 +169,13 @@ nav {
|
|
|
99
169
|
|
|
100
170
|
/* Hero Section */
|
|
101
171
|
.hero {
|
|
102
|
-
min-height:
|
|
172
|
+
min-height: 90vh;
|
|
103
173
|
display: flex;
|
|
104
174
|
flex-direction: column;
|
|
105
175
|
justify-content: center;
|
|
106
176
|
align-items: center;
|
|
107
177
|
text-align: center;
|
|
108
178
|
padding: 120px 20px 60px;
|
|
109
|
-
background: url('assets/hero-bg.png') no-repeat center center;
|
|
110
|
-
background-size: cover;
|
|
111
179
|
position: relative;
|
|
112
180
|
}
|
|
113
181
|
|
|
@@ -119,6 +187,7 @@ nav {
|
|
|
119
187
|
width: 100%;
|
|
120
188
|
height: 300px;
|
|
121
189
|
background: linear-gradient(to top, var(--bg-color), transparent);
|
|
190
|
+
pointer-events: none;
|
|
122
191
|
}
|
|
123
192
|
|
|
124
193
|
.hero h1 {
|
|
@@ -179,6 +248,22 @@ nav {
|
|
|
179
248
|
border: 1px solid rgba(255, 255, 255, 0.05);
|
|
180
249
|
}
|
|
181
250
|
|
|
251
|
+
.preview-badge {
|
|
252
|
+
position: absolute;
|
|
253
|
+
top: -15px;
|
|
254
|
+
left: 50%;
|
|
255
|
+
transform: translateX(-50%);
|
|
256
|
+
background: var(--accent-mint);
|
|
257
|
+
color: #000;
|
|
258
|
+
padding: 0.4rem 1.2rem;
|
|
259
|
+
border-radius: 100px;
|
|
260
|
+
font-size: 0.8rem;
|
|
261
|
+
font-weight: 800;
|
|
262
|
+
text-transform: uppercase;
|
|
263
|
+
letter-spacing: 1px;
|
|
264
|
+
box-shadow: 0 10px 20px rgba(0, 255, 163, 0.3);
|
|
265
|
+
}
|
|
266
|
+
|
|
182
267
|
@keyframes slideUp {
|
|
183
268
|
from {
|
|
184
269
|
opacity: 0;
|
|
@@ -265,6 +350,210 @@ nav {
|
|
|
265
350
|
font-size: 1rem;
|
|
266
351
|
}
|
|
267
352
|
|
|
353
|
+
/* Desktop Showcase */
|
|
354
|
+
.desktop-showcase {
|
|
355
|
+
padding: 100px 10%;
|
|
356
|
+
z-index: 1;
|
|
357
|
+
position: relative;
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
.showcase-header {
|
|
361
|
+
text-align: center;
|
|
362
|
+
margin-bottom: 5rem;
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
.section-icon {
|
|
366
|
+
width: 64px;
|
|
367
|
+
height: 64px;
|
|
368
|
+
margin-bottom: 1.5rem;
|
|
369
|
+
filter: drop-shadow(0 0 20px rgba(0, 255, 163, 0.4));
|
|
370
|
+
}
|
|
371
|
+
|
|
372
|
+
.showcase-header h2 {
|
|
373
|
+
font-family: var(--font-heading);
|
|
374
|
+
font-size: 3.5rem;
|
|
375
|
+
margin-bottom: 1rem;
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
.showcase-header p {
|
|
379
|
+
color: var(--text-secondary);
|
|
380
|
+
font-size: 1.2rem;
|
|
381
|
+
max-width: 600px;
|
|
382
|
+
margin: 0 auto;
|
|
383
|
+
}
|
|
384
|
+
|
|
385
|
+
.showcase-group {
|
|
386
|
+
display: flex;
|
|
387
|
+
flex-direction: column;
|
|
388
|
+
align-items: center;
|
|
389
|
+
gap: 4rem;
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
.showcase-images {
|
|
393
|
+
display: flex;
|
|
394
|
+
justify-content: center;
|
|
395
|
+
align-items: flex-start;
|
|
396
|
+
gap: 2rem;
|
|
397
|
+
width: 100%;
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
.image-wrapper {
|
|
401
|
+
flex: 1;
|
|
402
|
+
max-width: 450px;
|
|
403
|
+
background: rgba(255, 255, 255, 0.02);
|
|
404
|
+
border: 1px solid var(--glass-border);
|
|
405
|
+
padding: 0.75rem;
|
|
406
|
+
border-radius: 20px;
|
|
407
|
+
position: relative;
|
|
408
|
+
backdrop-filter: blur(10px);
|
|
409
|
+
transition: transform 0.4s ease;
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
.image-wrapper:hover {
|
|
413
|
+
transform: translateY(-10px);
|
|
414
|
+
border-color: var(--accent-mint);
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
.image-wrapper img {
|
|
418
|
+
width: 100%;
|
|
419
|
+
display: block;
|
|
420
|
+
border-radius: 12px;
|
|
421
|
+
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4);
|
|
422
|
+
}
|
|
423
|
+
|
|
424
|
+
.image-wrapper span {
|
|
425
|
+
display: block;
|
|
426
|
+
text-align: center;
|
|
427
|
+
margin-top: 1rem;
|
|
428
|
+
font-size: 0.85rem;
|
|
429
|
+
color: var(--text-secondary);
|
|
430
|
+
font-weight: 500;
|
|
431
|
+
}
|
|
432
|
+
|
|
433
|
+
.showcase-text-combined {
|
|
434
|
+
display: grid;
|
|
435
|
+
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
|
|
436
|
+
gap: 3rem;
|
|
437
|
+
width: 100%;
|
|
438
|
+
max-width: 900px;
|
|
439
|
+
margin-top: 2rem;
|
|
440
|
+
}
|
|
441
|
+
|
|
442
|
+
.text-block {
|
|
443
|
+
text-align: left;
|
|
444
|
+
}
|
|
445
|
+
|
|
446
|
+
.text-block h3 {
|
|
447
|
+
font-family: var(--font-heading);
|
|
448
|
+
font-size: 1.5rem;
|
|
449
|
+
margin-bottom: 0.75rem;
|
|
450
|
+
color: var(--accent-mint);
|
|
451
|
+
display: flex;
|
|
452
|
+
align-items: center;
|
|
453
|
+
gap: 0.5rem;
|
|
454
|
+
}
|
|
455
|
+
|
|
456
|
+
.text-block p {
|
|
457
|
+
font-size: 1rem;
|
|
458
|
+
color: var(--text-secondary);
|
|
459
|
+
line-height: 1.6;
|
|
460
|
+
}
|
|
461
|
+
|
|
462
|
+
/* Downloads Section */
|
|
463
|
+
.downloads {
|
|
464
|
+
padding: 100px 10% 60px;
|
|
465
|
+
display: flex;
|
|
466
|
+
justify-content: center;
|
|
467
|
+
z-index: 5;
|
|
468
|
+
position: relative;
|
|
469
|
+
}
|
|
470
|
+
|
|
471
|
+
.download-container {
|
|
472
|
+
background: linear-gradient(135deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.01));
|
|
473
|
+
border: 1px solid var(--glass-border);
|
|
474
|
+
padding: 3.5rem;
|
|
475
|
+
border-radius: 32px;
|
|
476
|
+
max-width: 800px;
|
|
477
|
+
text-align: center;
|
|
478
|
+
backdrop-filter: blur(15px);
|
|
479
|
+
box-shadow: 0 30px 60px rgba(0, 0, 0, 0.3);
|
|
480
|
+
z-index: 10;
|
|
481
|
+
}
|
|
482
|
+
|
|
483
|
+
.download-container h2 {
|
|
484
|
+
font-family: var(--font-heading);
|
|
485
|
+
font-size: 2.5rem;
|
|
486
|
+
margin-bottom: 1.5rem;
|
|
487
|
+
}
|
|
488
|
+
|
|
489
|
+
.download-container p {
|
|
490
|
+
color: var(--text-secondary);
|
|
491
|
+
font-size: 1.1rem;
|
|
492
|
+
margin-bottom: 2.5rem;
|
|
493
|
+
line-height: 1.8;
|
|
494
|
+
}
|
|
495
|
+
|
|
496
|
+
.download-container b {
|
|
497
|
+
color: var(--text-primary);
|
|
498
|
+
}
|
|
499
|
+
|
|
500
|
+
.download-btn {
|
|
501
|
+
display: inline-flex;
|
|
502
|
+
align-items: center;
|
|
503
|
+
gap: 0.75rem;
|
|
504
|
+
background: var(--accent-mint);
|
|
505
|
+
color: #000;
|
|
506
|
+
text-decoration: none;
|
|
507
|
+
padding: 1.25rem 2.5rem;
|
|
508
|
+
border-radius: 100px;
|
|
509
|
+
font-weight: 700;
|
|
510
|
+
font-size: 1.1rem;
|
|
511
|
+
transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
|
|
512
|
+
box-shadow: 0 10px 30px rgba(0, 255, 163, 0.3);
|
|
513
|
+
cursor: pointer;
|
|
514
|
+
position: relative;
|
|
515
|
+
z-index: 11;
|
|
516
|
+
}
|
|
517
|
+
|
|
518
|
+
.download-btn:hover {
|
|
519
|
+
transform: scale(1.05);
|
|
520
|
+
box-shadow: 0 15px 40px rgba(0, 255, 163, 0.5);
|
|
521
|
+
background: #fff;
|
|
522
|
+
}
|
|
523
|
+
|
|
524
|
+
.download-btn i {
|
|
525
|
+
font-size: 1.4rem;
|
|
526
|
+
}
|
|
527
|
+
|
|
528
|
+
.download-card h4 {
|
|
529
|
+
font-family: var(--font-heading);
|
|
530
|
+
font-size: 1.25rem;
|
|
531
|
+
margin-bottom: 1rem;
|
|
532
|
+
display: flex;
|
|
533
|
+
align-items: center;
|
|
534
|
+
gap: 0.75rem;
|
|
535
|
+
}
|
|
536
|
+
|
|
537
|
+
.download-card h4 i {
|
|
538
|
+
color: var(--accent-blue);
|
|
539
|
+
}
|
|
540
|
+
|
|
541
|
+
.download-card pre {
|
|
542
|
+
background: #000;
|
|
543
|
+
padding: 1rem;
|
|
544
|
+
border-radius: 8px;
|
|
545
|
+
font-size: 0.9rem;
|
|
546
|
+
color: var(--accent-mint);
|
|
547
|
+
margin-top: 1rem;
|
|
548
|
+
overflow-x: auto;
|
|
549
|
+
border: 1px solid rgba(255, 255, 255, 0.05);
|
|
550
|
+
}
|
|
551
|
+
|
|
552
|
+
.download-card p {
|
|
553
|
+
color: var(--text-secondary);
|
|
554
|
+
font-size: 0.95rem;
|
|
555
|
+
}
|
|
556
|
+
|
|
268
557
|
/* Footer */
|
|
269
558
|
footer {
|
|
270
559
|
padding: 60px 10% 40px;
|
package/index.html
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
+
<title>Mint AI</title>
|
|
7
|
+
<!-- We can add Google Fonts here -->
|
|
8
|
+
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
9
|
+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
10
|
+
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Outfit:wght@500;600;700&display=swap" rel="stylesheet">
|
|
11
|
+
</head>
|
|
12
|
+
<body>
|
|
13
|
+
<div id="root"></div>
|
|
14
|
+
<script type="module" src="/ui/src/main.jsx"></script>
|
|
15
|
+
</body>
|
|
16
|
+
</html>
|