World Vibe Web
The distributed app store for vibe-coded projects. Browse, discover, and install open-source apps from across GitHub.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
KichuLagbe is a production-grade, e-commerce-focused web application.
From this point forward, treat KichuLagbe as a production-grade application — not a prototype or a temporary project. Every implementation should strengthen the four core principles: Consistency, Reusability, Scalability, and Maintainability.
• Clean and maintainable architecture
• Scalability
• Consistency
• Reusability
• Performance
• Accessibility
• Type safety
• Strong UX
• Production-grade code quality
• Minimal code duplication
• Easy long-term maintenance檢視完整 README ↗KichuLagbe is a production-grade, e-commerce-focused web application.
From this point forward, treat KichuLagbe as a production-grade application — not a prototype or a temporary project. Every implementation should strengthen the four core principles: Consistency, Reusability, Scalability, and Maintainability.
KichuLagbe follows the module structure of the reference product (https://deliverylagbe-xyz.web.app/) — a late-night food, cigarettes, and daily-essentials delivery service for Badda, Dhaka.
app_settings.homeLayout (see src/lib/home/schema.ts) and falls back to the shipped defaultsproduct_variants); the card shows a "from" price and an option picker/admin/home): reorder, show/hide, add and edit sections with a live preview of the real storefront (/preview/home in an iframe, fed by postMessage); publishing revalidates /media table) and served from /api/media/[id] with immutable caching — no extra storage service requiredEach module should be implemented as a clearly separated, reusable feature area following the architecture, consistency, and reusability standards defined below.
Before making major architectural or implementation decisions, study and follow the official documentation for the technologies used in this project. Use these as the primary technical references:
| Technology | Documentation |
|---|---|
| Next.js | https://nextjs.org/docs |
| GSAP | https://gsap.com/docs/v3/ |
| Tailwind CSS | https://tailwindcss.com/docs/installation/using-vite |
| shadcn/ui | https://ui.shadcn.com/docs/installation |
| Motion | https://motion.dev/docs |
| Lenis | https://github.com/darkroomengineering/lenis/blob/main/README.md |
| Zustand | https://zustand.docs.pmnd.rs/ |
| SWR | https://swr.vercel.app/docs/getting-started |
Always prefer official documentation and current recommended patterns over outdated tutorials, deprecated APIs, or arbitrary implementation patterns. If a technology's recommended architecture or API changes, follow the current official recommendation.
Create and maintain project-level documentation that enforces these standards. When appropriate, create or update:
AGENTS.mdCONTRIBUTING.mdThese documents act as a source of truth for future development. Do not create documentation just for the sake of creating files — documentation should be useful, concise, and actionable. Whenever an important architectural decision is made, document it so future development stays consistent.
Use a production-grade, scalable folder structure that:
Do not introduce a folder structure simply because it is popular. Choose the structure based on the actual needs of KichuLagbe. Before introducing a new architectural pattern, check whether an existing project pattern already solves the problem.
Reusability is a core requirement. Do not duplicate code unnecessarily. Before creating a new component, hook, utility, or helper:
Only create something new when it provides a clear architectural benefit.
Reusable abstractions include: UI components, layout components, section components, cards, buttons, forms, modals, navigation elements, animation wrappers, custom hooks, API utilities, validation utilities, formatting utilities, constants, types, and data-fetching helpers.
Build components to be reusable without turning simple components into unnecessarily complex abstractions.
The same design or functionality should not be implemented differently across the project without a valid reason. Maintain consistency in:
If an established project pattern exists, follow it instead of introducing another approach.
Maintain centralized design tokens for: colors, typography, spacing, border radius, shadows, transitions, and layout constraints. The UI should feel like one coherent product — an e-commerce storefront where every page, from catalog to checkout, shares the same visual language.
Use the correct animation library for the use case.
GSAP — complex timelines, scroll-driven animations, cinematic animations, advanced sequencing, high-control animations.
Motion — component animations, micro-interactions, enter/exit animations, layout animations, UI state transitions.
Lenis — smooth scrolling and scroll-related experiences where appropriate.
Do not use multiple animation libraries for the same simple interaction without a clear reason. Animations must never compromise performance, accessibility, responsiveness, user interaction, or maintainability. Respect prefers-reduced-motion where appropriate.
Use Zustand for genuinely shared client-side global state — and only when global state is actually required. Do not put everything into Zustand.
Keep stores modular and focused. Avoid a single massive global store.
Use SWR as the standard data-fetching solution for client-side / server-state fetching. Follow SWR's recommended patterns for fetching, caching, revalidation, error handling, loading states, mutations, and optimistic updates where appropriate.
Do not build a custom data-fetching abstraction when SWR already provides the functionality. Keep API-related logic organized and reusable — avoid scattering raw fetch() calls throughout UI components (product listings, cart, orders, and checkout should all consume shared data hooks).
Use TypeScript strictly and properly:
any unless genuinely unavoidable.Treat type safety as part of the architecture, not an afterthought.
Follow current Next.js App Router best practices, paying particular attention to:
Do not add "use client" unless the component actually requires client-side functionality. Keep the client bundle as small as reasonably possible.
Performance is a first-class requirement. Always consider: bundle size, client JavaScript, image optimization, lazy loading, code splitting, rendering strategy, animation performance, layout shifts, unnecessary re-renders, expensive computations, network requests, and caching.
Do not optimize prematurely — but do not introduce obvious performance problems.
Accessibility must be considered during implementation, not added later. Follow appropriate practices for: semantic HTML, keyboard navigation, focus management, ARIA where necessary, color contrast, form labels, interactive elements, modals/dialogs, navigation, and reduced motion.
Prefer shadcn/ui primitives where they provide the required accessible behavior.
Every data-driven or asynchronous UI must properly consider loading, error, empty, and success states. Do not leave users with blank screens or broken UI when data is loading or unavailable (empty carts, no search results, failed checkout, etc.). Create reusable patterns for common states instead of reimplementing them on every page.
Write code another professional developer can understand and maintain.
Avoid: duplicate logic, giant components/hooks/stores, hardcoded repeated values, magic numbers, unnecessary abstractions, deeply coupled components, dead code, unused imports, deprecated APIs, temporary hacks, and copy-pasted implementations.
Prefer: small focused components, clear naming, single responsibility, composition, reusable utilities, strong typing, predictable data flow, and explicit boundaries.
Before implementing or modifying a feature:
Do not blindly create new files or abstractions.
If existing code does not follow these standards, do not automatically rewrite the entire project. Instead:
Always think beyond "make it work." For every implementation ask:
"Would this still be a good solution if KichuLagbe grows significantly?"
Consider maintainability, scalability, reusability, performance, accessibility, developer experience, future feature requirements, and long-term consistency. Do not over-engineer simple requirements — but do not take shortcuts that create unnecessary technical debt.
When making implementation decisions, prioritize in this order:
Consistency + Reusability + Scalability + Maintainability
Every implementation in KichuLagbe should strengthen these four principles rather than work against them.
From now on, treat these guidelines and the official documentation above as the project's development standards, and apply them consistently to every future task.