Crackedmetrics is a comprehensive testing analytics platform that helps teams track, analyze, and visualize their test results across multiple projects and tools.
This monorepo contains:
dashboard
- Vite React-based web application for viewing test metrics and analyticsdashboard-e2e
- End-to-end Playwright tests for the dashboard application
@crackedmetrics/ui
- Shared UI components and design system@crackedmetrics/cli
- Custom CLI tool (cm
) for uploading test results@crackedmetrics/types
- Shared TypeScript type definitions
- Node.js (latest LTS)
- pnpm (v10.11.0+)
- nx (v21.1.2) (if
nx
cli is installed globally, you do not need to prefixnx
commands withpnpm dlx
)
pnpm install
pnpm add nx --global
To start the dashboard development server:
pnpx dlx nx dev dashboard
To create a production bundle:
pnpm dlx nx build dashboard
Run tests for specific projects:
pnpx dlx nx test dashboard
pnpx dlx nx test ui
pnpx dlx nx test cli
Run all tests across the workspace:
pnpx dlx nx run-many --target=test --all
Run end-to-end tests:
pnpx dlx nx e2e dashboard-e2e
pnpx dlx nx dev <project>
- Start development serverpnpx dlx nx build <project>
- Build a projectpnpx dlx nx lint <project>
- Lint a projectpnpx dlx nx test <project>
- Test a projectpnpx dlx nx e2e <project>
- Run end-to-end testspnpx dlx nx affected:test
- Run tests for affected projectspnpx dlx nx affected:build
- Build affected projectspnpx dlx nx reset
- Clear Nx cache
# Format code
pnpm format
# Type checking
pnpx dlx nx run <project>:typecheck
# Linting
pnpx dlx nx run <project>:lint
The application uses Supabase as the backend with the following key entities:
- Tenants - Organizations
- Projects - Test projects within organizations
- API Keys - Authentication keys for uploading test results.
CM
CLI uses this whencm vitest
is run. - Reports - Individual test execution reports
- Memberships - User roles within organizations
See db.md for detailed schema information.
The @crackedmetrics/cli
library provides a custom CLI tool (cm
) that:
- Uploads test results to the dashboard
- Integrates with test runners like Vitest and Playwright
- Handles authentication via API keys
- Frontend: React 19 with Vite, Tailwind CSS, Radix UI
- Backend: Supabase (PostgreSQL + Auth + Real-time)
- Testing: Vitest, Playwright
- Build Tool: Nx with Vite
- Package Manager: pnpm
Learn more about this workspace:
- Nx Documentation
- React Tutorial
- Nx Console - IDE extension for better DX
See AGENTS.md for detailed development guidelines and tips.