Codswallop
A VS Code extension that detects "vibe coding" - when students blindly accept AI-generated code without understanding it - and creates personalised comprehension quizzes to ensure genuine learning.
Features
Vibe Detection
The extension monitors three key indicators of potentially uncomprehended code:
| Indicator |
Threshold |
Description |
| Line Spike |
>50 lines/min |
Rapid code additions (e.g., pasting large blocks) |
| High Complexity |
>20 cyclomatic |
Complex functions that may be copy-pasted |
| Paste Detection |
>10 lines |
Direct paste operations |
When any threshold is exceeded, a clickable CodeLens appears above the code with the option to "Take Quiz".
AI-Powered Quizzes
Quizzes are generated by Claude AI and focus on different aspects depending on the trigger:
- Line Spike: Control flow, edge cases, variable scope
- High Complexity: Branching logic, loop conditions, error paths
- Paste Detection: Overall logic, data flow, API contracts
Pass threshold: 75%
Animated Vibe Character
An animated detective-style blob companion that reacts to your coding:
- Idle: Gently floating with subtle animations
- Watching: Alert eyes tracking code changes
- Detecting: Suspicious squint with magnifying glass
- Questioning: Thoughtful pose during quizzes
- Celebrating: Star eyes and confetti when you pass
- Concerned: Encouraging expression when you need more practice
Educator Dashboard Integration
Sync your progress with the educator dashboard for:
- Real-time activity monitoring
- Class-wide analytics
- Student leaderboards
- Classroom management
Requirements
- VS Code 1.85.0 or higher
- Internet connection for quiz generation
- Optional: Classroom code from your educator
Getting Started
- Install the extension from the VS Code Marketplace
- Start coding - the extension activates automatically
- When vibe patterns are detected, click "Take Quiz" in the CodeLens
- Answer the comprehension questions to prove your understanding
Joining a Classroom (Optional)
- Open the Command Palette (
Ctrl+Shift+P / Cmd+Shift+P)
- Run "Codswallop: Login" to authenticate
- Run "Codswallop: Join Classroom" and enter your educator's code
Commands
Access via Command Palette (Ctrl+Shift+P / Cmd+Shift+P):
| Command |
Description |
| Codswallop: Start Vibecheck |
Manually trigger a quiz on selected code |
| Codswallop: Show Detections |
View current detections in the file |
| Codswallop: Show Vibe Character |
Display the animated companion |
| Codswallop: Open Dashboard |
Open the educator dashboard |
| Codswallop: Login |
Authenticate with your account |
| Codswallop: Logout |
Sign out of your account |
| Codswallop: Join Classroom |
Join a classroom with a code |
| Codswallop: Show Auth Status |
Check your authentication status |
Extension Settings
Configure via VS Code Settings (Ctrl+, / Cmd+,):
| Setting |
Default |
Description |
codswallop.enabled |
true |
Enable/disable vibe detection |
codswallop.thresholds.complexity |
20 |
Cyclomatic complexity threshold |
codswallop.thresholds.lineSpike |
50 |
Lines per minute threshold |
codswallop.thresholds.pasteLines |
10 |
Pasted lines threshold |
codswallop.debounceWindow |
60000 |
Cooldown (ms) before re-triggering |
Supported Languages
- TypeScript
- JavaScript
- TypeScript React (TSX)
- JavaScript React (JSX)
- Python
Privacy
Codswallop only analyses code when vibe patterns are detected. Code snippets are sent to Claude AI for quiz generation. If connected to a classroom, quiz results are synced with your educator's dashboard.
Feedback & Issues
Report issues or request features at GitHub Issues.
Licence
Copyright (c) 2025. All Rights Reserved. See LICENCE for details.