igiveup 0.1.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.
Files changed (38) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +587 -0
  3. package/bin/cli.js +275 -0
  4. package/dist/404.html +1 -0
  5. package/dist/__next.__PAGE__.txt +9 -0
  6. package/dist/__next._full.txt +20 -0
  7. package/dist/__next._head.txt +8 -0
  8. package/dist/__next._index.txt +7 -0
  9. package/dist/__next._tree.txt +3 -0
  10. package/dist/_next/static/Btx0p5I4qNygUnI8kASLN/_buildManifest.js +11 -0
  11. package/dist/_next/static/Btx0p5I4qNygUnI8kASLN/_clientMiddlewareManifest.json +1 -0
  12. package/dist/_next/static/Btx0p5I4qNygUnI8kASLN/_ssgManifest.js +1 -0
  13. package/dist/_next/static/chunks/41307292ab86fe39.js +1 -0
  14. package/dist/_next/static/chunks/7521cd4ba12a4d17.css +1 -0
  15. package/dist/_next/static/chunks/7f3a50588edd3e98.js +1 -0
  16. package/dist/_next/static/chunks/a43937f87dbafba4.js +1 -0
  17. package/dist/_next/static/chunks/a6dad97d9634a72d.js +1 -0
  18. package/dist/_next/static/chunks/b18da497cd71639c.js +1 -0
  19. package/dist/_next/static/chunks/b4a799ac963d5996.js +323 -0
  20. package/dist/_next/static/chunks/c218146104a27e59.js +1 -0
  21. package/dist/_next/static/chunks/c24f9dcbcebdbbbc.js +13 -0
  22. package/dist/_next/static/chunks/d8c9b2a63125f582.js +2 -0
  23. package/dist/_next/static/chunks/d9468907c0fe03d2.js +4 -0
  24. package/dist/_next/static/chunks/turbopack-42182df38b37704b.js +3 -0
  25. package/dist/_not-found/__next._full.txt +16 -0
  26. package/dist/_not-found/__next._head.txt +8 -0
  27. package/dist/_not-found/__next._index.txt +7 -0
  28. package/dist/_not-found/__next._not-found.__PAGE__.txt +5 -0
  29. package/dist/_not-found/__next._not-found.txt +4 -0
  30. package/dist/_not-found/__next._tree.txt +3 -0
  31. package/dist/_not-found.html +1 -0
  32. package/dist/_not-found.txt +16 -0
  33. package/dist/apple-icon +0 -0
  34. package/dist/icon +0 -0
  35. package/dist/images/logo.svg +10 -0
  36. package/dist/index.html +1 -0
  37. package/dist/index.txt +20 -0
  38. package/package.json +54 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 mag477
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,587 @@
1
+ # I Give Up On Life
2
+
3
+ > Build a complete brand visual asset? Nope. I quit.
4
+
5
+ An AI-powered marketing content design tool. Let your **AI minion** handle the grind—product identity, brand story, competitor strategy—while you just breathe.
6
+
7
+ ---
8
+
9
+ ## Try it now
10
+
11
+ ### Online Demo
12
+
13
+ No setup needed. Just open and use.
14
+
15
+ **[igiveup.simoko.com](https://igiveup.simoko.com)**
16
+
17
+ ### Local Setup
18
+
19
+ ```bash
20
+ npx igiveup
21
+ ```
22
+
23
+ > One command to launch
24
+ >
25
+ > Options: `--port 8080` `--lang en`
26
+
27
+ ---
28
+
29
+ ## Features
30
+
31
+ ### Phase 1: Strategy Selection
32
+
33
+ *The Grind Begins*
34
+
35
+ - **Smart Product Analysis**: Upload product image, AI decodes visual features & brand semantics
36
+ - **3 Strategy Routes**: Instantly generate 3 distinct marketing directions
37
+ - **Detailed Strategy Info**: Each route includes headline, visual style, target audience
38
+ - **Fast Response**: Strategy analysis in ~3 seconds, no image generation wait
39
+
40
+ ### Phase 2: Content Planning
41
+
42
+ *Still Grinding*
43
+
44
+ #### Multi-Platform Sizes
45
+
46
+ | Size | Best For |
47
+ |------|----------|
48
+ | **1:1 Square** | FB posts, IG carousel, e-commerce |
49
+ | **9:16 Vertical** | Stories, Reels, full-screen mobile |
50
+ | **4:5 Portrait** | IG Feed, mobile-optimized |
51
+ | **16:9 Landscape** | Covers, ad banners |
52
+ | **1:1 Commercial** | Professional product photography |
53
+
54
+ #### Content Planning
55
+
56
+ - **3 Sets Per Size**
57
+ - Set 1: Feature-focused (emphasize product features)
58
+ - Set 2: Emotion-focused (emphasize lifestyle & feelings)
59
+ - Set 3: Data/Social proof (emphasize results & reviews)
60
+
61
+ - **Dual Mode**
62
+ - **Roast This Content** (Script review mode)
63
+ - **Crunch Time** (Image generation mode)
64
+
65
+ ### Image Generation
66
+
67
+ #### Prompt Mode & Reference Mode
68
+
69
+ | Mode | Description |
70
+ |------|-------------|
71
+ | **Prompt** | Generate from AI visual prompts |
72
+ | **Reference** | Upload reference, control similarity |
73
+
74
+ **Similarity Levels:**
75
+ - Low: Creative freedom (only color tone & mood)
76
+ - Medium: Moderate reference (lighting & colors, flexible composition)
77
+ - High: Close match (composition, layout, style)
78
+
79
+ #### Text & Visual Control
80
+
81
+ - Overlay title & copy on images
82
+ - 4 font weights (Noto Sans TC)
83
+ - Brand logo placement
84
+ - Live editing
85
+ - Per-image settings
86
+
87
+ ---
88
+
89
+ ## Tech Stack
90
+
91
+ | Category | Technology |
92
+ |----------|------------|
93
+ | Framework | Next.js 16 + React 19 + TypeScript |
94
+ | AI Models | Google Gemini |
95
+ | | `gemini-2.5-flash` (text analysis & content planning) |
96
+ | | `gemini-3-pro-image-preview` (image generation) |
97
+ | Styling | Tailwind CSS |
98
+ | Fonts | Inter + Playfair Display (UI), Noto Sans TC (generated images) |
99
+ | Auth | Cloudflare Zero Trust (optional) |
100
+
101
+ ---
102
+
103
+ ## Installation
104
+
105
+ ### Requirements
106
+
107
+ - Node.js 18+
108
+ - pnpm (recommended) or npm
109
+
110
+ ### Quick Start
111
+
112
+ ```bash
113
+ # Clone the repo
114
+ git clone https://github.com/your-username/IGiveUpOnLife.git
115
+ cd IGiveUpOnLife
116
+
117
+ # Install dependencies
118
+ pnpm install
119
+
120
+ # Copy environment variables
121
+ cp .env.example .env.local
122
+
123
+ # Start dev server
124
+ pnpm dev
125
+ ```
126
+
127
+ ### Build & Deploy
128
+
129
+ ```bash
130
+ # Server version (requires Node.js server)
131
+ pnpm build
132
+ pnpm start
133
+
134
+ # Static version (GitHub Pages, Cloudflare Pages, etc.)
135
+ pnpm build:static
136
+ pnpm start:static # Local test
137
+ # Output: ./out
138
+ ```
139
+
140
+ ### Environment Variables
141
+
142
+ Copy `.env.example` to `.env.local`:
143
+
144
+ ```bash
145
+ # Gemini API Key (optional - if set, users get free access)
146
+ GEMINI_API_KEY=your-api-key
147
+
148
+ # Gemini Model Settings (optional)
149
+ GEMINI_TEXT_MODEL=gemini-2.5-flash
150
+ GEMINI_IMAGE_MODEL=gemini-3-pro-image-preview
151
+ GEMINI_THINKING_BUDGET=2048
152
+
153
+ # Rate Limiting (only when using server API key)
154
+ RATE_LIMIT_WINDOW_MS=60000
155
+ RATE_LIMIT_MAX_REQUESTS=10
156
+ RATE_LIMIT_ENABLED=true
157
+
158
+ # Cloudflare Zero Trust (optional - verified users bypass rate limit)
159
+ CF_ACCESS_TEAM_NAME=your-team-name
160
+ CF_ACCESS_AUD=your-application-aud
161
+ ```
162
+
163
+ > **Get Gemini API Key**: [Google AI Studio](https://aistudio.google.com/app/apikey)
164
+
165
+ ### Server vs Static Build
166
+
167
+ | Feature | Server | Static |
168
+ |---------|--------|--------|
169
+ | API Key | Server-side supported | User must provide |
170
+ | Rate Limiting | Server-controlled | None |
171
+ | Zero Trust | Supported | Not supported |
172
+ | Deployment | Node.js server | Any static hosting |
173
+ | Output | `.next/` | `out/` |
174
+
175
+ ---
176
+
177
+ ## Cloudflare Zero Trust Integration
178
+
179
+ If your site is protected by Cloudflare Zero Trust, verified users can bypass rate limiting.
180
+
181
+ ### Setup
182
+
183
+ 1. Create Access Application in Cloudflare Zero Trust Dashboard
184
+ 2. Get Team Name and Application AUD
185
+ 3. Set in `.env.local`:
186
+
187
+ ```bash
188
+ CF_ACCESS_TEAM_NAME=your-team-name
189
+ CF_ACCESS_AUD=your-application-aud
190
+ ```
191
+
192
+ ---
193
+
194
+ ## User Flow
195
+
196
+ 1. **Fill in Info**: Upload product image, product name, info, URL, reference copy
197
+ 2. **AI Analysis**: Click "Let's Hustle", wait ~3-5 seconds
198
+ 3. **Choose Strategy**: View 3 different strategy routes
199
+ 4. **Select Sizes**: Check the sizes you need
200
+ 5. **Auto-generate Scripts**: AI generates 3 content sets per size
201
+ 6. **Upload Assets**: Product image (required), brand logo (optional)
202
+ 7. **Review & Edit**: Switch to "Roast This Content" mode, edit content
203
+ 8. **Generate Images**: Switch to "Crunch Time" mode, generate & download
204
+ 9. **Export Report**: Click "Download Strategy Report"
205
+
206
+ ---
207
+
208
+ ## Project Structure
209
+
210
+ ```
211
+ IGiveUpOnLife/
212
+ ├── app/ # Next.js App Router
213
+ │ ├── actions/ # Server Actions
214
+ │ │ └── gemini.ts # Gemini API calls
215
+ │ ├── globals.css # Global styles
216
+ │ ├── page.tsx # Main page
217
+ │ └── layout.tsx # Root layout
218
+ ├── components/ # React Components
219
+ │ ├── ApiKeyModal.tsx # API Key settings
220
+ │ ├── ContentSuite.tsx # Phase 2 content suite
221
+ │ ├── GuideModal.tsx # User guide
222
+ │ ├── ProductCard.tsx # Product card
223
+ │ ├── PromptCard.tsx # Prompt card
224
+ │ └── Spinner.tsx # Loading spinner
225
+ ├── services/ # Service Layer
226
+ │ ├── geminiService.ts # Unified entry (auto-detect build mode)
227
+ │ └── geminiClient.ts # Static build client-side API
228
+ ├── lib/ # Utilities
229
+ │ ├── rate-limit.ts # Rate limiting
230
+ │ ├── cloudflareAccess.ts # Cloudflare Zero Trust
231
+ │ └── api-key-storage.ts # API Key storage
232
+ ├── locales/ # i18n translations
233
+ │ ├── en.json # English
234
+ │ └── zh.json # Traditional Chinese
235
+ ├── contexts/ # React Contexts
236
+ │ └── LocaleContext.tsx # Locale provider
237
+ ├── prompts.ts # AI prompt templates
238
+ ├── types.ts # TypeScript types
239
+ └── next.config.ts # Next.js config
240
+ ```
241
+
242
+ ---
243
+
244
+ ## Why This Exists
245
+
246
+ ### User Experience
247
+ - Zero design skills needed
248
+ - Fast response (~3 sec strategy)
249
+ - Smooth UX with polished animations
250
+ - Full control over AI-generated content
251
+
252
+ ### Marketing Expertise
253
+ - Brand consistency based on story & features
254
+ - Competitor insights from reference copy
255
+ - Multi-angle strategies (feature, emotion, data)
256
+ - Multi-platform support in one go
257
+
258
+ ### Technical Advantages
259
+ - Cost-optimized - only generate what's needed
260
+ - Flexible deployment - server or static
261
+ - Enterprise-ready - Cloudflare Zero Trust integration
262
+
263
+ ---
264
+
265
+ ## Contributing
266
+
267
+ Don't want to work alone? Neither do we.
268
+
269
+ - **Found a bug?** [Open an issue](https://github.com/supra126/IGiveUpOnLife/issues)
270
+ - **Feature idea?** Let's discuss
271
+ - **Want to code?** PRs welcome
272
+
273
+ > *"I don't want to work hard, but I'll review your PR."* — The Maintainers
274
+
275
+ ---
276
+
277
+ ## Authors
278
+
279
+ | <a href="https://github.com/mag477"><img src="https://github.com/mag477.png" width="80" alt="mag477"/><br/><sub>@mag477</sub></a> | <a href="https://github.com/supra126"><img src="https://github.com/supra126.png" width="80" alt="supra126"/><br/><sub>@supra126</sub></a> |
280
+ |:---:|:---:|
281
+
282
+ ---
283
+
284
+ ## License
285
+
286
+ MIT License
287
+
288
+ ---
289
+
290
+ <p align="center">
291
+ <i>Built with coffee and the desire to never work hard again.</i>
292
+ </p>
293
+
294
+ ---
295
+
296
+ # 不想努力了
297
+
298
+ > 打造完整品牌視覺資產?不用,我不想努力了。
299
+
300
+ 一個由 AI 驅動的產品行銷內容設計工具,讓 **小GG(AI 總監)** 幫你結合產品識別、品牌故事與競品策略,生成專業的廣告海報概念與視覺素材。你只需要負責呼吸就好。
301
+
302
+ ---
303
+
304
+ ## 立即試用
305
+
306
+ ### 線上試用
307
+
308
+ 免安裝,打開即用。
309
+
310
+ **[igiveup.simoko.com](https://igiveup.simoko.com)**
311
+
312
+ ### 本地試用
313
+
314
+ ```bash
315
+ npx igiveup
316
+ ```
317
+
318
+ > 一行指令啟動
319
+ >
320
+ > 選項: `--port 8080` `--lang en`
321
+
322
+ ---
323
+
324
+ ## 功能特色
325
+
326
+ ### 第一階段:視覺策略選擇
327
+
328
+ *讓我努力步驟一*
329
+
330
+ - **智能產品分析**:上傳產品圖片,AI 自動解讀視覺特徵與品牌語意
331
+ - **三條策略路線**:即時生成 3 種截然不同的行銷策略方向
332
+ - **詳細策略資訊**:每條路線包含主打標語、視覺風格、目標受眾
333
+ - **快速響應**:無需等待圖片生成,3 秒內完成策略分析
334
+
335
+ ### 第二階段:完整內容企劃
336
+
337
+ *不努力步驟二*
338
+
339
+ #### 多平台尺寸支援
340
+
341
+ | 尺寸 | 適用場景 |
342
+ |------|----------|
343
+ | **1:1 方形圖** | FB 貼文、IG 輪播、電商主圖 |
344
+ | **9:16 直式長圖** | 限時動態、Reels、手機全螢幕 |
345
+ | **4:5 直式圖** | IG Feed 主頁、優化手機瀏覽 |
346
+ | **16:9 橫式長圖** | 封面、廣告圖片 |
347
+ | **1:1 商業攝影** | 專業商品攝影風格 |
348
+
349
+ #### 內容企劃功能
350
+
351
+ - **每個尺寸 3 組方案**
352
+ - 功能導向(強調產品功能、特點)
353
+ - 情感導向(強調生活情境、感受)
354
+ - 數據/背書導向(強調成效、評價)
355
+
356
+ - **雙模式切換**
357
+ - **內容來嘴看看**(腳本審閱模式)
358
+ - **爆肝產圖**(圖片製作模式)
359
+
360
+ ### 專業圖片生成
361
+
362
+ #### 提詞版 & 參考版
363
+
364
+ | 模式 | 說明 |
365
+ |------|------|
366
+ | **提詞版** | 使用 AI 生成的視覺 Prompt 創作 |
367
+ | **參考版** | 上傳參考圖片,控制相似度生成 |
368
+
369
+ **相似度控制:**
370
+ - 低:創意自由(僅參考色調與氛圍)
371
+ - 中:適度參考(光線與色彩,構圖彈性)
372
+ - 高:高度相似(構圖、佈局、風格)
373
+
374
+ #### 文字與視覺控制
375
+
376
+ - 可選擇在圖片上疊加標題和文案
377
+ - 4 種字重(思源黑體)
378
+ - 品牌 Logo 自動放置
379
+ - 即時編輯
380
+ - 每張圖片獨立設定
381
+
382
+ ---
383
+
384
+ ## 技術棧
385
+
386
+ | 類別 | 技術 |
387
+ |------|------|
388
+ | 框架 | Next.js 16 + React 19 + TypeScript |
389
+ | AI 模型 | Google Gemini |
390
+ | | `gemini-2.5-flash`(文字分析與內容規劃)|
391
+ | | `gemini-3-pro-image-preview`(專業圖片生成)|
392
+ | 樣式 | Tailwind CSS |
393
+ | 字體 | Inter + Playfair Display(介面)、Noto Sans TC(生成圖片)|
394
+ | 認證 | Cloudflare Zero Trust(選填)|
395
+
396
+ ---
397
+
398
+ ## 安裝
399
+
400
+ ### 環境要求
401
+
402
+ - Node.js 18+
403
+ - pnpm(推薦)或 npm
404
+
405
+ ### 快速開始
406
+
407
+ ```bash
408
+ # 克隆專案
409
+ git clone https://github.com/your-username/IGiveUpOnLife.git
410
+ cd IGiveUpOnLife
411
+
412
+ # 安裝依賴(泡杯咖啡,讓 pnpm 努力)
413
+ pnpm install
414
+
415
+ # 複製環境變數
416
+ cp .env.example .env.local
417
+
418
+ # 啟動開發伺服器
419
+ pnpm dev
420
+ ```
421
+
422
+ ### 建置與部署
423
+
424
+ ```bash
425
+ # 伺服器版(需要 Node.js 伺服器)
426
+ pnpm build
427
+ pnpm start
428
+
429
+ # 靜態版(可部署到 GitHub Pages、Cloudflare Pages 等)
430
+ pnpm build:static
431
+ pnpm start:static # 本地測試
432
+ # 輸出目錄: ./out
433
+ ```
434
+
435
+ ### 環境變數設定
436
+
437
+ 複製 `.env.example` 為 `.env.local`:
438
+
439
+ ```bash
440
+ # Gemini API 金鑰(選填 - 若設定,用戶可免費使用)
441
+ GEMINI_API_KEY=your-api-key
442
+
443
+ # Gemini 模型設定(選填)
444
+ GEMINI_TEXT_MODEL=gemini-2.5-flash
445
+ GEMINI_IMAGE_MODEL=gemini-3-pro-image-preview
446
+ GEMINI_THINKING_BUDGET=2048
447
+
448
+ # 速率限制(僅在使用伺服器 API 金鑰時生效)
449
+ RATE_LIMIT_WINDOW_MS=60000
450
+ RATE_LIMIT_MAX_REQUESTS=10
451
+ RATE_LIMIT_ENABLED=true
452
+
453
+ # Cloudflare Zero Trust(選填 - 經過驗證的用戶不受速率限制)
454
+ CF_ACCESS_TEAM_NAME=your-team-name
455
+ CF_ACCESS_AUD=your-application-aud
456
+ ```
457
+
458
+ > **取得 API Key**: [Google AI Studio](https://aistudio.google.com/app/apikey)
459
+
460
+ ### 伺服器版 vs 靜態版
461
+
462
+ | 功能 | 伺服器版 | 靜態版 |
463
+ |------|----------|--------|
464
+ | API 金鑰 | 支援伺服器端 | 用戶必須提供 |
465
+ | 速率限制 | 伺服器控制 | 無 |
466
+ | Zero Trust | 支援 | 不支援 |
467
+ | 部署方式 | Node.js 伺服器 | 任何靜態託管 |
468
+ | 輸出目錄 | `.next/` | `out/` |
469
+
470
+ ---
471
+
472
+ ## Cloudflare Zero Trust 整合
473
+
474
+ 如果你的網站經過 Cloudflare Zero Trust 保護,經過驗證的用戶不受速率限制。
475
+
476
+ ### 設定步驟
477
+
478
+ 1. 在 Cloudflare Zero Trust Dashboard 建立 Access Application
479
+ 2. 取得 Team Name 和 Application AUD
480
+ 3. 設定在 `.env.local`:
481
+
482
+ ```bash
483
+ CF_ACCESS_TEAM_NAME=your-team-name
484
+ CF_ACCESS_AUD=your-application-aud
485
+ ```
486
+
487
+ ---
488
+
489
+ ## 使用流程
490
+
491
+ 1. **一次填完所有資訊**:上傳產品圖片、產品名稱、資訊、網址、參考文案
492
+ 2. **AI 策略分析**:點擊「啟動努力」,等待約 3-5 秒
493
+ 3. **選擇視覺策略路線**:查看 3 條不同的策略路線
494
+ 4. **選擇圖片尺寸**:勾選你需要的尺寸
495
+ 5. **自動生成內容腳本**:AI 為每個尺寸生成 3 組方案
496
+ 6. **上傳產品圖與 Logo**:產品圖片(必要)、品牌 Logo(選填)
497
+ 7. **腳本審閱與編輯**:切換至「內容來嘴看看」模式,編輯內容
498
+ 8. **圖片製作**:切換至「爆肝產圖」模式,生成與下載
499
+ 9. **匯出報告**:點擊「下載策略報告」
500
+
501
+ ---
502
+
503
+ ## 專案結構
504
+
505
+ ```
506
+ IGiveUpOnLife/
507
+ ├── app/ # Next.js App Router
508
+ │ ├── actions/ # Server Actions
509
+ │ │ └── gemini.ts # Gemini API 呼叫
510
+ │ ├── globals.css # 全域樣式
511
+ │ ├── page.tsx # 主頁面
512
+ │ └── layout.tsx # 根佈局
513
+ ├── components/ # React 元件
514
+ │ ├── ApiKeyModal.tsx # API Key 設定
515
+ │ ├── ContentSuite.tsx # 第二階段內容套件
516
+ │ ├── GuideModal.tsx # 使用指南
517
+ │ ├── ProductCard.tsx # 產品卡片
518
+ │ ├── PromptCard.tsx # 提示卡片
519
+ │ └── Spinner.tsx # 載入動畫
520
+ ├── services/ # 服務層
521
+ │ ├── geminiService.ts # 統一入口(自動偵測建置模式)
522
+ │ └── geminiClient.ts # 靜態版客戶端 API
523
+ ├── lib/ # 工具函式
524
+ │ ├── rate-limit.ts # 速率限制
525
+ │ ├── cloudflareAccess.ts # Cloudflare Zero Trust
526
+ │ └── api-key-storage.ts # API Key 儲存
527
+ ├── locales/ # 多語系翻譯
528
+ │ ├── en.json # 英文
529
+ │ └── zh.json # 繁體中文
530
+ ├── contexts/ # React Contexts
531
+ │ └── LocaleContext.tsx # 語系提供者
532
+ ├── prompts.ts # AI 提示模板
533
+ ├── types.ts # TypeScript 類型
534
+ └── next.config.ts # Next.js 設定
535
+ ```
536
+
537
+ ---
538
+
539
+ ## 為什麼做這個
540
+
541
+ ### 使用者體驗
542
+ - 零設計門檻
543
+ - 極速響應(約 3 秒完成策略分析)
544
+ - 流暢體驗,精緻動畫
545
+ - AI 生成內容完全可控
546
+
547
+ ### 行銷專業
548
+ - 基於品牌故事與特色的品牌一致性
549
+ - 從參考文案獲得競品洞察
550
+ - 多角度策略(功能、情感、數據)
551
+ - 一次支援多平台
552
+
553
+ ### 技術優勢
554
+ - 成本優化 - 只生成需要的內容
555
+ - 彈性部署 - 伺服器或靜態皆可
556
+ - 企業整合 - Cloudflare Zero Trust 支援
557
+
558
+ ---
559
+
560
+ ## 一起來努力(?)
561
+
562
+ 不想一個人努力?我們也是。
563
+
564
+ - **發現 Bug?** [開一個 Issue](https://github.com/supra126/IGiveUpOnLife/issues)
565
+ - **功能建議?** 來討論看看
566
+ - **想寫程式?** 歡迎 PR
567
+
568
+ > *「我不想努力了,但我會 review 你的 PR。」* — 維護者們
569
+
570
+ ---
571
+
572
+ ## 作者
573
+
574
+ | <a href="https://github.com/mag477"><img src="https://github.com/mag477.png" width="80" alt="mag477"/><br/><sub>@mag477</sub></a> | <a href="https://github.com/supra126"><img src="https://github.com/supra126.png" width="80" alt="supra126"/><br/><sub>@supra126</sub></a> |
575
+ |:---:|:---:|
576
+
577
+ ---
578
+
579
+ ## 授權
580
+
581
+ MIT License
582
+
583
+ ---
584
+
585
+ <p align="center">
586
+ <i>用咖啡和「不想努力」的心情打造。</i>
587
+ </p>