2.0 KiB
2.0 KiB
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Project Overview
Fail Well is a Progressive Web App (PWA) for tracking developer feedback loops during coding tasks. It helps compare planned steps/time vs actual execution, promoting iterative improvement.
A task is a set of items and it looks like this:
- First task | 5
- Second task | 4
The last part after the last | is the estimated time of the task item in minutes.
Commands
# Development
pnpm dev # Start Vite dev server
# Building
pnpm build # Full build (types + tests + bundle)
pnpm build-only # Vite build only
# Testing
pnpm test # Full test suite (lint + types + unit)
pnpm test:unit # Vitest unit tests only
pnpm test:ui # Vitest with UI dashboard
pnpm test:types # TypeScript type checking
# Code Quality
pnpm lint # ESLint with auto-fix
pnpm format # Prettier formatting
# Commits
pnpm commit # Commitizen conventional commit prompt
Architecture
Tech Stack: Vue 3 + TypeScript + Vite + Pinia + Bulma CSS
Module Structure:
src/modules/- Feature modules with self-contained components, stores, models, and servicesrecord/- Task execution tracking (time, steps, break calculation)task/- Task CRUD, step history, duplicationstep/- Step-related components
src/views/- Page-level components organized by featuresrc/shared/- Shared types and hookssrc/router/- Vue Router configuration
State Management: Pinia stores with pinia-plugin-persistedstate for local persistence
Key Routes:
/- Task list/task/:id- Task details/task/:id/edit- Edit steps/task/:taskId/record- Record task execution
Testing
Uses Vitest with jsdom environment. Test files are colocated with source files using .spec.ts suffix.
Run single test file: pnpm vitest run path/to/file.spec.ts