Skip to content

feat: app shell, Storybook, and CI/CD pipeline #770

@Aureliolo

Description

@Aureliolo

Phase 1.3 -- App Shell & CI/CD

Parent: #762

Context

Build the app layout shell (router, sidebar, status bar) and set up the development/testing/CI infrastructure.

Scope

App Shell

  • React Router configuration with lazy-loaded routes
  • Layout component (sidebar + status bar + main content area)
  • Sidebar skeleton (nav items, active state, collapse behavior)
  • Status bar skeleton (placeholder for real-time org stats)
  • 404 / not-found page
  • Auth-guarded routes (redirect to /login if unauthenticated)

Storybook

  • @storybook/react + Vite builder
  • Tailwind integration in Storybook
  • Dark theme configuration
  • Accessibility addon (@storybook/addon-a11y)
  • Interaction testing addon

CI/CD

  • Update dashboard CI job for React:
    • npm run lint (ESLint with React rules)
    • npm run type-check (tsc, not vue-tsc)
    • npm run test (Vitest + React Testing Library, coverage)
    • npm run build (production build)
  • ESLint config (eslint-plugin-react-hooks, eslint-plugin-security)
  • Vitest config with React Testing Library, jsdom, coverage
  • Storybook build in CI (optional, for visual regression later)

Deliverables

  • App shell renders with sidebar navigation and status bar
  • All routes defined (lazy-loaded, auth-guarded)
  • Storybook serves and renders stories
  • CI pipeline passes (lint, type-check, test, build)
  • ESLint + Vitest fully configured

Blocked by

  • Phase 1.1 (project scaffold)
  • Phase 1.2 (auth module for route guards)

Metadata

Metadata

Assignees

No one assigned

    Labels

    prio:highImportant, should be prioritizedscope:medium1-3 days of workspec:architectureDESIGN_SPEC Section 15 - Technical Architecturespec:human-interactionDESIGN_SPEC Section 13 - Human Interaction Layertype:featureNew feature implementationv0.5Minor version v0.5v0.5.0Patch release v0.5.0

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions