Clarify that @tanstack/vue-query is a required peer dependency of @wagmi/vue, not a dead import. Add a comment in main.ts explaining the rationale, and document the dependency in ARCHITECTURE.md and landing/AGENTS.md. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2.1 KiB
2.1 KiB
Landing Interface - Agent Guide
Vue 3 + Vite application that delivers the public marketing site and forthcoming staking UI.
Technology Snapshot
- Vue 3 (Composition API) with TypeScript and Vite toolchain
- Vue Router for multi-view navigation
- Sass-based design system with custom typography
@wagmi/vuefor wallet connection (injected, WalletConnect, Coinbase Wallet)@tanstack/vue-query— required peer dependency of@wagmi/vue; must be registered viaVueQueryPlugininmain.ts@harb/web3shared composables for wagmi config and wallet hooks
Key Views & Components
HomeView.vue- Launch countdown, feature overview, and staking CTADocsView.vue- Documentation portal with responsive navigation and generated table of contents- Layout components (
KNavbar.vue,KFooter.vue,LeftRightComponent.vue) manage shared chrome - UI components (
KButton.vue,Countdown.vue,SocialButton.vue, icon set) supply reusable primitives
Design Notes
- Dark theme palette: primary
#07111B, accent#9667BE - Mobile-first breakpoints at 768px drive layout shifts and slide-out navigation
- Motion relies on CSS transitions to keep runtime costs low
Development Workflow
- Boot the full stack with
nohup ./scripts/dev.sh start &; the script handles landing dev server wiring. - Use local package scripts for targeted tasks:
npm installnpm run buildnpm run previewnpm run type-check
- Deployments assume hash-based routing and the Vite
basesetting configured for static hosting.
Upcoming Integrations
- Wallet connection with Base network switching
- Staking dashboard that reuses shared helpers from
kraiken-lib - Data visualisations sourced from the Ponder GraphQL API
Quality Guidelines
- Favour Composition API and strongly typed props/emit definitions
- Keep components focused; push shared logic into composables when possible
- Use Sass variables and mixins from the design system for consistent styling
Performance Tips
- Lazy load route components
- Optimise imagery (WebP) and leverage Vite asset handling
- Prefer CSS animations to JavaScript when animating UI elements