Sterling is a Visual Studio Code extension that transforms how you learn programming. Instead of providing direct solutions, Sterling acts as an intelligent tutor that guides you through programming concepts step-by-step, helping you understand the "why" behind the code before showing you the "how."
Sterling revolutionizes programming education by providing progressive learning hints that adapt to your understanding level. When you encounter challenging code or want to learn a new concept, Sterling doesn't just give you the answer—it teaches you to think like a programmer.
Sterling focuses on conceptual learning by helping you understand the fundamental concepts and reasoning behind programming solutions rather than just memorizing syntax. The extension provides implementation guidance through step-by-step hints that show you how to approach problems without spoiling the solution, allowing you to discover the answer yourself.
You'll receive code templates with strategic blanks to fill in, reinforcing your learning through active participation. The progressive disclosure system ensures you unlock learning levels gradually, building proper understanding at each stage. Sterling also features an interactive Q&A system where you can ask follow-up questions to deepen your understanding of any concept.
The extension offers multi-language support and works seamlessly with Python, JavaScript, TypeScript, C++, Java, and many other programming languages. Additionally, you can easily transfer your learning notes directly to your code files as properly formatted comments using the copy to file feature.
Before setting up Sterling, ensure you have the following installed:
- Node.js (version 16 or higher)
- Python (version 3.8 or higher)
- Visual Studio Code (version 1.74.0 or higher)
- Anthropic Claude API Key (for AI functionality)
-
Clone the repository:
git clone https://github.com/your-username/sterling-extension.git cd sterling-extension -
Install Node.js dependencies:
npm install
-
Install Python dependencies:
pip install -r requirements.txt
-
Create a
.envfile in the project root:touch .env
-
Add your Anthropic API key to the
.envfile:ANTHROPIC_API_KEY=your_claude_api_key_hereGet your API key: Visit Anthropic's website to create an account and obtain your Claude API key.
-
Open VS Code
-
Open the extension project folder:
File → Open Folder → Select the sterling-extension directory -
Start the Extension Development Host:
- Press
F5or go toRun → Start Debugging - This opens a new VS Code window with Sterling loaded
- Press
-
Verify installation:
- In the new window, open any code file
- Select some code
- Press
Ctrl+Shift+P(orCmd+Shift+Pon Mac) - You should see the Sterling Learning Assistant panel appear
-
Create a test file (e.g.,
test.py,test.js,test.cpp) -
Add some code:
# test.py def calculate_average(numbers): return sum(numbers) / len(numbers)
-
Select the code and press
Ctrl+Shift+L -
Ask a question like: "How can I add error handling to this function?"
-
Explore the learning levels:
- Start with "🧠 Concept & Why" to understand the approach
- Progress to "🔧 How (Implementation Hints)" for guidance
- Finish with "💾 Code (with blanks)" for concrete examples
- Select Code: Highlight any code you want to learn about
- Trigger Sterling: Press
Ctrl+Shift+Por run "Ask Sterling" from Command Palette - Ask Your Question: Describe what you want to learn or accomplish
- Learn Progressively:
- Level 1 (Concept): Understand the fundamental approach and reasoning
- Level 2 (How): Get implementation hints and guidance
- Level 3 (Code): See concrete code examples with blanks to fill
- Ask Follow-ups: Use the chat interface for additional questions
- Copy to File: Transfer useful insights directly to your code as comments
sterling-extension/
├── extension.js # Main extension logic
├── api_client.py # AI hint generation engine
├── package.json # Node.js dependencies and VS Code config
├── requirements.txt # Python dependencies
├── .env # API key configuration (create this)
├── media/
│ ├── interface.html # Learning interface UI
│ ├── style.css # Styling
│ └── webview.js # Frontend interactions
└── README.md # This file
This project is licensed under the MIT License - see the LICENSE file for details.
Sterling believes that the best way to learn programming is through guided discovery, not rote copying. By providing progressive hints and encouraging you to think through problems step-by-step, Sterling helps you develop genuine understanding and problem-solving skills that will serve you throughout your programming journey.
Happy learning!