# Qwen Code Instructions: Geek Calculator ## Project Overview Calculator application with standard and RPN modes, keyboard-first operation, and terminal-like UI aesthetic. Built with vanilla HTML/CSS/JS with zero dependencies and <50KB total payload. ## Key Technologies - HTML5, CSS3, JavaScript ES6+ - Service Workers for offline capability - LocalStorage for history persistence - ES6 Modules for code organization - Custom test harness (no dependencies) ## File Structure ``` index.html # Main application file styles.css # Dark terminal theme, responsive layout app.js # Main application logic with modules: ├── calculator.js # Core calculation logic ├── rpn-calculator.js # RPN calculator implementation ├── ui.js # User interface interactions ├── state.js # Application state management └── utils.js # Utility functions service-worker.js # Offline functionality manifest.webmanifest # PWA capabilities tests/ # Test directory ``` ## Implementation Notes - Keep bundle size under 50KB - Full keyboard navigation required - ARIA roles and accessibility features - ASCII banner in
 tag
- Blinking cursor effect
- Easter eggs for fun
- RPN stack data structure
- Calculation history with re-run capability
- Command palette accessible with "@"

## Testing
- Unit tests for core arithmetic operations
- Unit tests for RPN stack operations
- Integration tests for UI interactions
- Accessibility compliance tests
- Performance tests to ensure <100ms operations

## Recent Changes
- 001-build-a-single: Added HTML5, CSS3, JavaScript ES6+ (vanilla, no build step) + None (pure HTML/CSS/JS, zero dependencies as per constitution)
- 001-build-a-single: Initial calculator implementation with standard and RPN modes
- 001-build-a-single: Keyboard-first operation with command palette