Status: ✅ Complete and integrated
Features:
- Student profile tracking with level, typing speed, error rate, performance score
- Session statistics (blocks completed, hints used, avg completion time)
- Performance scoring algorithm (0-100 scale)
- Auto-save to VS Code globalState
- Level transition logic (shouldLevelUp/shouldLevelDown)
Key Methods:
updateTypingSpeed(wpm: number)
recordError(errorType: string)
recordKeystroke(char: string, timeSinceLastKeystroke: number)
recordBlockCompleted(timeTaken: number)
shouldLevelUp(): boolean
shouldLevelDown(): booleanStorage: Persists to VS Code workspace state as devxLearningProfile
Status: ✅ Complete and integrated
Features:
- Real-time keystroke tracking with timing buffer (last 100 keystrokes)
- WPM calculation based on keystroke timing
- Idle detection with level-specific thresholds:
- Beginner: 15s
- Intermediate: 30s
- Pro: 120s
- Stuck detection (30s on same line with errors)
- Callback system for idle/stuck events
Key Methods:
recordKeystroke(char: string, location: string)
checkIdleState()
onIdle(callback: (idleTime: number) => void)
onStuck(callback: (location: string) => void)Integration: Wired to text document change events in extension.ts
Status: ✅ Complete and integrated
Features:
- Automatic level suggestions based on performance
- User-friendly prompts with emojis (🌱🌿🌳)
- Level descriptions and icons
- Non-intrusive suggestions
Thresholds:
- Level up: Performance score ≥ 85
- Level down: Performance score ≤ 40
Status: ✅ Registered in package.json and extension.ts
Features:
- Quick pick menu with 3 levels
- Shows level descriptions
- Updates status bar immediately
- Confirmation message
Keybinding: None (Command Palette only)
Status: ✅ Registered in package.json and extension.ts
Features:
- Modal confirmation dialog
- Clears all learning progress
- Resets activity monitor
- Updates status bar
Status: ✅ Registered in package.json and extension.ts
Features:
- Shows comprehensive learning statistics
- Modal dialog with formatted stats:
- Current level
- Performance score
- Typing speed (WPM)
- Accuracy percentage
- Average completion time
- Blocks completed
- Hints used
Status: ✅ Implemented and visible
Features:
- Shows current level with icon (🌱/🌿/🌳)
- Click to change level
- Always visible in status bar
- Updates in real-time
Position: Left side of status bar
Status: ✅ Integrated in extension.ts
Features:
- Captures every text change
- Records keystroke with location
- Updates learning profile
- Checks for idle/stuck states
Status: ✅ Wired in extension.ts
Behavior:
- Shows notification after idle threshold
- Offers help options
- Can trigger guidance command
- Non-blocking
Status: ✅ Wired in extension.ts
Behavior:
- Detects prolonged stay on same line with errors
- Shows logic guidance prompt
- Links to guidance command
- Encourages problem-solving
-
Performance Metrics:
- Typing speed (WPM)
- Error rate (%)
- Performance score (0-100)
- Average completion time
-
Session Data:
- Blocks completed
- Hints used
- Errors encountered
- Total keystrokes
-
Behavioral Patterns:
- Idle frequency
- Stuck frequency
- Error types distribution
Status: ⏳ Not started
Tasks:
- Create
src/learning/modes/beginnerMode.ts - Create
src/learning/modes/intermediateMode.ts - Create
src/learning/modes/proMode.ts - Implement mode-specific code generation logic
- Update TeacherSlate to use mode system
Status: ⏳ Not started
Tasks:
- Create
src/learning/commentHints.ts - Implement Intermediate mode hint generation
- Add context-aware hint logic
- Wire to document change events
Status: ⏳ Not started
Tasks:
- Create
src/learning/codeBlocks.ts - Implement block generation from lessons
- Add block completion tracking
- Integrate with performance scoring
Status: ⏳ Not started
Tasks:
- Create
src/learning/senseiMentor.ts - Implement logic-focused guidance (NOT syntax)
- Add architectural insights
- Wire to idle/stuck callbacks
- Create context analysis system
Important: Sensei focuses on LOGIC and ARCHITECTURE, not syntax help!
- VS Code Extension API ^1.95.0
- @google/generative-ai ^0.24.1 (for AI guidance)
- TypeScript ^5.9.3
✅ Compiles successfully with webpack
✅ No runtime errors
- Learning profiles:
context.globalState.get('devxLearningProfile') - API keys: VS Code secrets API
- Settings: VS Code workspace configuration
-
Install/Reload Extension
- Press F5 in VS Code
- Or package with
vsce packageand install .vsix
-
Check Status Bar
- Should see "🌱 Beginner" in status bar
- Click it to test level change menu
-
Test Commands
- Open Command Palette (Ctrl+Shift+P)
- Try
DevX: Change Learning Level - Try
DevX: View Learning Statistics - Try
DevX: Reset Learning Profile
-
Test Activity Monitoring
- Open a code file
- Start typing code
- Wait 15 seconds (idle detection should trigger)
- Stay on one line with errors for 30s (stuck detection)
-
Check Profile Persistence
- Type some code
- Check stats (should show keystrokes, WPM)
- Reload VS Code window
- Check stats again (should persist)
Currently using defaults. Future sprints will add:
- Custom idle thresholds
- Performance score weights
- Level transition thresholds
- AI provider preferences for guidance
-
TypeScript warnings for
NodeJS.TimeoutandsetTimeout- Impact: None (types work at runtime)
- Fix: Add @types/node if needed
-
Sensei guidance command placeholder
- Status: Uses existing
askSenseicommand - Fix: Implement
requestGuidancein Sprint 5
- Status: Uses existing
src/
├── extension.ts ✅ Main entry point (integrated)
├── learning/
│ ├── learningProfile.ts ✅ Profile tracking (complete)
│ ├── activityMonitor.ts ✅ Behavior monitoring (complete)
│ ├── levelAdapter.ts ✅ Auto-adaptation (complete)
│ ├── modes/ ⏳ To be created (Sprint 2)
│ │ ├── beginnerMode.ts
│ │ ├── intermediateMode.ts
│ │ └── proMode.ts
│ ├── commentHints.ts ⏳ To be created (Sprint 3)
│ ├── codeBlocks.ts ⏳ To be created (Sprint 4)
│ └── senseiMentor.ts ⏳ To be created (Sprint 5)
└── ... (existing files)
- Student profile with 5+ metrics
- Real-time activity monitoring
- Idle/stuck detection
- Manual level selection
- Statistics dashboard
- Profile persistence
- Status bar integration
- Auto-level suggestions
- 3-mode code generation system
- Comment-based hints
- Block-based learning
- Logic-focused mentoring
- Context-aware guidance
- Architecture insights
- Custom thresholds
Last Updated: Sprint 1 Completion Version: 1.1.0 Status: Foundation Complete, Ready for Sprint 2