ζ£ι«δΈζ | English
π Official website for Twinkle AI - An open-source Traditional Chinese language model research community (θ΄εζΌζ§ε»ΊιζΊζ£ι«δΈζθͺθ¨ζ¨‘εηη η©Άη€ΎηΎ€).
This bilingual (Traditional Chinese and English) website showcases Twinkle AI's projects, research, and community initiatives.
- Framework: Nuxt 4 (Vue 3)
- UI Library: Nuxt UI
- Deployment: Cloudflare Workers
- Package Manager: Bun
- Internationalization: @nuxtjs/i18n (zh-TW default, English)
- Node.js 18+ or Bun runtime
- Bun package manager (recommended) - Install Bun
git clone https://github.com/ai-twinkle/ai-twinkle.github.io.git
cd ai-twinkle.github.ioTo install Bun, please visit to https://bun.com for more details.
Using Bun (recommended):
bun installOr using npm:
npm installbun run devThe site will be available at http://localhost:3000
| Command | Description |
|---|---|
bun run dev |
Start development server |
bun run build |
Build for production |
bun run generate |
Generate static site |
bun run preview |
Build and preview with Wrangler |
bun run deploy |
Deploy to Cloudflare Workers |
bun run lint:es:fix |
Auto-fix ESLint issues |
bun run lint:es:check |
Check ESLint (fails on warnings) |
bun run cf-typegen |
Generate Cloudflare types |
.
βββ app/ # Frontend Nuxt application
β βββ pages/ # File-based routing
β βββ components/ # Vue components
β βββ layouts/ # Page layouts
β βββ plugins/ # Nuxt plugins
β βββ data/ # TypeScript types and data
β βββ assets/css/ # Global CSS
βββ server/ # Server-side code (Nitro)
β βββ api/ # API endpoints
β βββ routes/ # Server routes (redirects)
β βββ utils/ # Server utilities
βββ i18n/locales/ # Translation files (zh-TW, en)
βββ public/ # Static assets
βββ nuxt.config.ts # Nuxt configuration
βββ wrangler.jsonc # Cloudflare Workers config
We welcome contributions! Please follow these guidelines:
This project uses conventional commits enforced by commitlint:
# Commit message format
type(scope): description
# Examples
feat(components): add new hero section
fix(i18n): correct translation keys
docs(readme): update setup instructionsCommon types: feat, fix, docs, style, refactor, test, chore
- Pre-commit: Runs ESLint on staged files
- Commit-msg: Validates commit message format
- ESLint with
eslint-config-nymph - JSDoc comments (without type annotations - use TypeScript types)
- Run
bun run lint:es:fixbefore committing
- Default locale: zh-TW (Traditional Chinese)
- Secondary locale: en (English)
- URL strategy:
prefix_except_default- Chinese:
/(no prefix) - English:
/en
- Chinese:
The project uses DynamicHeroIcon.vue component that converts PascalCase heroicon names to Nuxt UI format:
- Input:
BeakerIconβ Output:i-heroicons-beaker
/github- Redirects to GitHub organization/discord- Redirects to Discord server/huggingface- Redirects to HuggingFace organization- API 404s return ASCII cat art via
useCat()utility
The site is deployed to Cloudflare Workers:
bun run deployConfiguration is managed in wrangler.jsonc.
This project is licensed under the terms specified in the LICENSE file.
- GitHub: github.com/ai-twinkle
- HuggingFace: huggingface.co/twinkle-ai
- Discord: Join our community server
Built with β€οΈ by the Twinkle AI community