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.