- Change bullish candles to white interior with black outline
- Change bearish candles to solid black
- Update all wick colors to black
- Enable borders for candlesticks
- Replace Matrix/terminal dark theme with modern light design
- Update Tailwind config with clean, professional color palette
- Change from monospace to Inter sans-serif font
- Update chart styling to use white background with subtle grids
- Remove glow effects and neon colors from buttons and UI
- Update color picker with better color options
- Improve sidebar spacing and typography
- Update annotation badges with softer colors
- Change scrollbar styling to match light theme
Automatically deploys to exe.dev VM on push to master.
Uses SSH to pull latest code and rebuild Docker container.
Co-authored-by: Shelley <shelley@exe.dev>
The Docker build was failing because drizzle/ was in .gitignore,
so migration files (meta/_journal.json) were never committed.
Generated initial migration from schema.
Co-authored-by: Shelley <shelley@exe.dev>
- Auto-run migrations when db module loads
- Copy drizzle migrations folder to Docker image
- Generate missing color column migration
- Fixes 500 errors on /api/candles and /api/annotations in Docker
- Update README.md with Docker quickstart and new features (label management, hacker theme)
- Add detailed Docker deployment section to DEPLOYMENT.md:
- docker-compose usage
- Environment configuration
- Data persistence and backup
- Container health checks
- Troubleshooting steps
- Production deployment guidance
- Create comprehensive CLAUDE_DESCRIPTION.md:
- Project overview and version info
- Recent changes in v2.0.0
- Technical stack details
- Core features and file structure
- State management explanation
- Data flow diagrams
- API endpoints reference
- Development workflow
- Customization points
- Performance and security notes
Technical decisions with rationale:
- Label selection: parallel state to avoid disturbing line logic
- Label list UI: collapsible section in Toolbox with search/filter
- API design: extend DELETE with query params for bulk operations
- Docker: standalone output with multi-stage build
- Theme: CSS variables + Tailwind extension strategy
- Feedback: Toast component with terminal formatting
Includes risk mitigation, migration plan, and testing checklist
Line deletion via Delete tool already exists in current implementation.
Focus on three new capabilities: label-management, docker-deployment, hacker-theme
- Add color field to annotations schema with default blue (#3b82f6)
- Add color picker UI with 5 preset colors (red, green, blue, yellow, white)
- Pass selected color through component hierarchy (Page -> Toolbox, CandleChart -> SvgOverlay)
- Store color when creating line annotations
- Render lines with their stored color
- Update database with color column
- Preview lines show selected color during drawing
Phase 1 of LINE_DRAWING_IMPROVEMENTS.md complete
- Add sorting to annotation markers in ascending order by time
- Fixes 'data must be asc ordered by time' error for markers
- Ensures both candle data and markers are properly sorted
- Add sorting by timestamp in ascending order before setting chart data
- Fixes 'data must be asc ordered by time' error from lightweight-charts
- Ensures chart displays correctly even if API returns unsorted data
- Add fixed width to sidebar (w-64) to prevent layout collapse
- Change chart container from flex-1 to w-full h-full for proper sizing
- Chart now properly displays after CSV upload
- Created CandleChart component with lightweight-charts integration
- Implemented SvgOverlay component for line drawing
- Integrated all components in main page
- Fixed TypeScript and Tailwind CSS compatibility issues
- Added comprehensive README.md with project documentation
- Created DEPLOYMENT.md with setup and troubleshooting guide
- Downgraded to stable versions (Tailwind v3, lightweight-charts v4)
- All 59 tasks from OpenSpec completed
- Toolbox component with tool selection (break up/down, line, delete)
- FileUpload component with CSV upload functionality
- Main page layout with sidebar and chart area
- Tool state management and export functionality
- CSV upload with papaparse (handles date strings and Unix timestamps)
- Annotations CRUD (GET, POST, DELETE)
- Candles GET endpoint
- Export annotations as CSV
- Set up Next.js with App Router, TypeScript, Tailwind CSS
- Configure shadcn/ui with dark theme
- Install dependencies: lightweight-charts, papaparse, lucide-react
- Set up Drizzle ORM with better-sqlite3
- Create database schema for candles and annotations tables
- Generate migration SQL