DS Prototype Template — A lightweight Vue 3 application for building static prototypes using the Ankorstore Design System.
Empower designers, product managers, and developers to rapidly build, iterate, and validate prototype ideas using a modern component library with zero backend infrastructure.
DS Prototype Template serves as a template repository for creating standalone Vue 3 applications that:
- Utilize Ankorstore Design System (v28) components exclusively
- Manage state with static JSON fixtures (no API calls or database)
- Deploy instantly to GitHub Pages for stakeholder review
- Demonstrate component library capabilities and design patterns
- Enable fast prototyping without build pipeline complexity
- Designers — Create interactive prototypes without coding
- Product Managers — Validate flows and user journeys
- Developers — Build reference implementations quickly
- Design System Team — Showcase component library
- Static Prototyping — No backend required; data flows through JSON fixtures
- Component Library Integration — Global registration of Ankorstore Design System (Ak* prefix)
- Vue 3 + TypeScript — Type-safe, modern JavaScript development
- Routing — Vue Router v4 for multi-page navigation with layout persistence
- Design Tokens — CSS custom properties for spacing, typography, colors, radius
- Instant Deployment — GitHub Actions auto-deployment to GitHub Pages
- AI-Friendly — Includes CLAUDE.md with full component reference for AI coding assistance
- Static Data Only — No API calls, no backend services
- Design System Components — No external UI libraries (no Vuetify, PrimeVue, etc.)
- Composition API — Modern Vue 3 with
<script setup>syntax required - CSS Tokens — All styling via CSS custom properties, no Tailwind (was removed)
- Vite 6 — Fast build tool optimized for single-page deployments
- Time to Deploy — From template to live GitHub Pages in < 5 minutes
- Developer Velocity — New page creation in < 2 minutes
- Component Reuse — 100% reliance on Ankorstore DS components
- Type Safety — Zero
anytypes; full TypeScript coverage - Zero Production Dependencies — Only @ankorstore/design-system and Vue Router (besides Vue)
- Create 3+ pages with independent routes
- Sidebar navigation with icon + label
- Persistent layout (header, sidebar) across page transitions
- Route parameter support (e.g.,
/orders/:id)
- Load static JSON fixtures in
src/data/ - Type-safe fixture loading via TypeScript interfaces in
types.ts - Computed properties for filtering/sorting
- No API or state management library
- Use only Ankorstore Design System components (Ak* prefix)
- Global registration; no imports needed in templates
- Support all major component types: buttons, inputs, tables, modals, alerts, badges
- Apply design tokens for spacing, typography, colors
- CSS custom properties with fallback colors
- Responsive layout via flexbox and CSS Grid
- Scoped styles; no global CSS pollution
- Manual deployment to GitHub Pages via
npm run deploy - Static build output (no server-side rendering)
- Automatic CSS and JS minification
- Environment-aware build (relative paths for GitHub Pages)
- Build time < 10 seconds
- First Contentful Paint < 2 seconds
- Lighthouse score > 90
- Clear file naming conventions (kebab-case)
- Well-documented component reference (CLAUDE.md)
- Recipe examples for common patterns
- TypeScript strict mode enabled
- Source files kept under 200 lines
- Modular component structure
- Separation of concerns (pages, components, data)
- Consistent code style via Prettier
- WCAG 2.1 Level AA compliance via Ankorstore DS
- Semantic HTML via component library
- Keyboard navigation support
- Color contrast compliance
DS Prototype Template
│
├── Pages (src/pages/)
│ ├── HomePage.vue — Landing page
│ ├── OrderListPage.vue — Table + filters
│ └── OrderDetailPage.vue — Detail view with drill-down
│
├── Shared Layout (src/layouts/)
│ └── AppLayout.vue — Sidebar + topbar wrapper
│
├── Reusable Components (src/components/)
│ ├── AppSidebar.vue — Navigation menu
│ ├── AppTopbar.vue — Header with branding
│ └── OrderFilterBar.vue — Filter UI for orders
│
├── Static Data (src/data/)
│ ├── orders.json — Mock order fixtures
│ ├── order-statuses.json — Status enums
│ └── types.ts — TypeScript interfaces
│
├── Routing (src/router.ts) — Route definitions
├── Styles (src/styles/) — Design tokens (CSS custom properties)
└── Main (src/main.ts) — Vue app initialization
project-root/
├── src/ — Application source code (917 LOC)
│ ├── pages/ — Page components (one per route)
│ ├── components/ — Shared layout + UI components
│ ├── layouts/ — Page wrapper layout
│ ├── data/ — JSON fixtures + TypeScript types
│ ├── styles/ — Design tokens CSS
│ ├── App.vue — Root Vue component
│ ├── main.ts — App entry point
│ ├── router.ts — Route config
│ └── env.d.ts — TypeScript environment types
│
├── docs/ — Documentation
├── public/ — Static assets
├── .github/workflows/ — GitHub Actions CI/CD
├── .devcontainer/ — GitHub Codespaces config
├── vite.config.ts — Vite build configuration
├── tsconfig.json — TypeScript configuration
├── package.json — Dependencies and scripts
├── CLAUDE.md — AI assistant component reference
└── README.md — Quick start guide
| Layer | Technology | Version | Purpose |
|---|---|---|---|
| UI Framework | Vue 3 | ^3.5.22 | Component framework |
| Component Library | @ankorstore/design-system | ^28.4.0 | Pre-built DS components |
| Router | Vue Router | ^4.5.0 | Client-side routing |
| Language | TypeScript | ^5.7.0 | Type safety |
| Build Tool | Vite | ^6.0.0 | Fast build & dev server |
| CSS | Design Tokens (CSS custom properties) | — | Spacing, typography, colors |
| Deployment | GitHub Pages | — | Static hosting |
- Initialize Vite + Vue 3 + TypeScript project
- Configure Ankorstore Design System integration
- Set up Vue Router with base layout
- Create design tokens CSS
- Define TypeScript interfaces (Order, OrderStatus)
- Create JSON fixture files
- Implement type-safe data loading
- Build HomePage (overview/landing)
- Build OrderListPage (table with filters)
- Build OrderDetailPage (detail with drill-down)
- Configure routes in router.ts
- Create AppLayout wrapper (sidebar + topbar)
- Build AppSidebar with navigation
- Build AppTopbar with branding
- Create OrderFilterBar component
- Apply design tokens to all components
- Ensure responsive layout
- Verify color contrast and accessibility
- Configure GitHub Pages workflow
- Test static build output
- Verify relative paths for GitHub Pages
- Create file in
src/pages/MyPage.vue - Add route to
src/router.ts - Add nav item to
AppSidebar.vue - Use Ankorstore DS components in template
- Create JSON file in
src/data/ - Define TypeScript interface in
src/data/types.ts - Import and use in page components
- Use CSS custom properties:
var(--space-4),var(--radius-md) - Keep styles scoped to component
- Prefer component props over custom CSS
- No @apply or Tailwind utilities (removed)
- Build Command:
npm run build(with GITHUB_PAGES=true env var) - Deploy Command:
npm run deploy(builds + pushes to gh-pages branch) - Output Directory:
dist/ - Hosting: GitHub Pages (serves from gh-pages branch)
- Trigger: Manual via
npm run deploy - Base URL:
https://{username}.github.io/{repo-name}/
GITHUB_PAGES— Set to true to use relative paths (auto-detected)- No runtime env vars needed (static data only)
- Type checking: < 2 seconds
- Vite build: < 5 seconds
- Deploy to gh-pages: < 10 seconds
- Total: < 20 seconds
All documentation deliverables must:
- Be accurate and verifiable against the codebase
- Include practical examples and code snippets
- Provide clear navigation and cross-references
- Use consistent formatting and terminology
- Be maintained as the codebase evolves
Last Updated: 2026-03-27 Status: Active Template Maintenance: Community contributions welcome via GitHub Issues and PRs