Skip to content

zenithchill/CogniForge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

βš’οΈ CogniForge Studio

The future of developer learning isn't a website. It's your editor.

Local-first Β· AI-native Β· Notebook-powered Β· Zero cloud required

VS Code License: MIT Local First Languages


The Problem With How Developers Learn Today

Every developer knows this loop:

Tab 1: LeetCode problem
Tab 2: Stack Overflow (why is my recursion wrong?)
Tab 3: ChatGPT (explain this to me like I'm five)
Tab 4: YouTube tutorial
Tab 5: VS Code (where actual work happens)

You context-switch more than you code. And none of these tools talk to each other, remember what you struggle with, or care whether you actually understood the concept β€” or just copied the answer.

The industry gave you a practice platform. Then an AI assistant. Then an interview prep app. All separate. All disconnected from the place where you actually write code.

CogniForge Studio is the bet that this is all wrong.

Learning should happen inside the editor, with an AI that watches you code, adapts to where you're stuck, and guides you β€” not just generates for you. No tabs. No accounts. No cloud. Just you, your notebook, and an AI tutor that lives where your code lives.


See It In Action

πŸ““ The Notebook Flow

CogniForge turns a VS Code notebook cell into a full learning environment:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  πŸ“„ two-sum.pwtutor                            [CogniForge] β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                             β”‚
β”‚  ● Problem                                                  β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚ Given an array of integers nums and an integer      β”‚   β”‚
β”‚  β”‚ target, return indices of the two numbers that      β”‚   β”‚
β”‚  β”‚ add up to target.                                   β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β”‚                                                             β”‚
β”‚  ● Your Solution                                [Python]    β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚ def two_sum(nums, target):                          β”‚   β”‚
β”‚  β”‚     for i in range(len(nums)):                      β”‚   β”‚
β”‚  β”‚         for j in range(i+1, len(nums)):             β”‚   β”‚
β”‚  β”‚             if nums[i] + nums[j] == target:         β”‚   β”‚
β”‚  β”‚                 return [i, j]          ← O(nΒ²) πŸ€”  β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β”‚                                                             β”‚
β”‚  ● CogniForge [Optimize Mode]                              β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚ ✦ Your solution is correct. Here's the tradeoff:   β”‚   β”‚
β”‚  β”‚                                                     β”‚   β”‚
β”‚  β”‚   Current:  O(nΒ²) time Β· O(1) space                β”‚   β”‚
β”‚  β”‚   Optimal:  O(n)  time Β· O(n) space                 β”‚   β”‚
β”‚  β”‚                                                     β”‚   β”‚
β”‚  β”‚   The key insight: what if you stored what you've  β”‚   β”‚
β”‚  β”‚   already seen as you walk the array once?         β”‚   β”‚
β”‚  β”‚                                                     β”‚   β”‚
β”‚  β”‚   [β–Ά Reveal approach]  [Try it first β†’]            β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ€– Five AI Modes β€” One Command Away

Ctrl+Shift+P  β†’  CogniForge: ___________
                              β”‚
              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
              β”‚               β”‚                        β”‚
         πŸ’‘ Hint         πŸ” Explain               πŸ› Debug
    Socratic nudge.    What your code         Root-cause first.
    No spoilers.       actually does.         Not just "here's
                       In plain English.      the fix."
                               β”‚
              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
              β”‚                                β”‚
         ⚑ Optimize                  🎯 Interview Feedback
    Complexity analysis          Interviewer-style evaluation.
    + rewrite path.              Correctness Β· Tradeoffs Β·
    Shows the why,               Likely follow-ups.
    not just the what.

πŸ” The Adaptive Feedback Loop

    You write code
          β”‚
          β–Ό
    CogniForge analyzes        ←──── codeAnalysis.js
    Β· mistake type
    Β· complexity signals
    Β· hint ladder position
          β”‚
          β–Ό
    Tutor responds             ←──── promptEngine.js + LM API
    Β· calibrated to YOUR profile
    Β· aware of YOUR recent struggles
    Β· paced to YOUR current track
          β”‚
          β–Ό
    Local memory updates       ←──── VS Code state, no server
    Β· weak topics logged
    Β· struggle streaks tracked
    Β· next problem recommended
          β”‚
          β–Ό
    You improve
    (actually)

Local-First Is Not a Feature. It's the Architecture.

Most "AI learning tools" send your code to a server. Your half-finished solutions, your wrong answers, your debugging sessions β€” uploaded, processed, stored.

CogniForge doesn't.

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                      YOUR MACHINE                       β”‚
β”‚                                                         β”‚
β”‚   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚
β”‚   β”‚  Your Code   │────▢│   CogniForge Engine      β”‚    β”‚
β”‚   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β”‚                          β”‚    β”‚
β”‚                         β”‚  Β· Code execution        β”‚    β”‚
β”‚   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”‚  Β· Learner profile       β”‚    β”‚
β”‚   β”‚  VS Code     │────▢│  Β· Weak topic memory     β”‚    β”‚
β”‚   β”‚  State       β”‚     β”‚  Β· Struggle streaks      β”‚    β”‚
β”‚   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β”‚  Β· Problem catalog       β”‚    β”‚
β”‚                         β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚
β”‚                                    β”‚                     β”‚
β”‚                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”‚
β”‚                    β”‚  VS Code LM API / Copilot    β”‚     β”‚
β”‚                    β”‚  Reasoning runs here, local  β”‚     β”‚
β”‚                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β”‚
β”‚                                                         β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                             β”‚ Optional only
                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                    β”‚    Sarvam API      β”‚
                    β”‚  translation +     β”‚
                    β”‚   voice output     β”‚
                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

What this means for you:

Cloud-based AI tools CogniForge Studio
Your code leaves your machine βœ… Always ❌ Never (core features)
Works offline ❌ βœ… Full core functionality
Latency Network round-trip Instant (local LM)
Account required βœ… ❌
Learner data on servers βœ… ❌ VS Code state only
Breaks without internet Completely Gracefully

Your learning data is yours. Your code stays on your machine. Your progress doesn't live on someone else's server.

This matters especially if you're solving problems that touch proprietary code patterns, working in a low-connectivity environment, operating under strict data policies, or simply someone who doesn't want their wrong answers uploaded to a cloud.


What You're Actually Building Toward

CogniForge isn't another practice platform.

The thesis is this:

The next generation of developer learning won't happen on websites. It will happen inside the tools developers already use β€” with AI that watches, adapts, and guides in real time, without ever leaving the editor or phoning home.

Every design decision reflects this:

  • Notebooks instead of isolated problem pages β€” because your editor is already your thinking environment
  • Local state instead of accounts β€” because your learning profile should belong to you
  • Tutor modes instead of code generation β€” because knowing why matters more than getting the answer
  • Adaptive memory instead of streaks β€” because what you struggle with matters more than how often you show up
  • Indian language support built in from day one β€” because 1.4 billion people shouldn't have to learn in their second language

Three Modes. One Environment.

πŸŽ“ Learning Mode β€” Build Real Understanding

Structured practice over a chosen topic, not random problem grinding.

Focus areas: DSA Β· Data Structures Β· Python Β· JavaScript Β· SQL Β· AI Β· GenAI

The difference from a LeetCode grind: CogniForge tracks which patterns you're weak on, not just which problems you've completed. It slows down when you keep hitting the same wall. It recommends the next problem based on where your actual gaps are.

CogniForge: Start Learning Mode Β· New Study Track Notebook Β· New Pattern Practice Notebook


🎯 Interview Mode β€” Prepare for the Real Thing

Not generic coding rounds. Role-specific preparation with interviewer-calibrated feedback.

Supported roles:

Software Engineering     AI / ML           GenAI
Data Engineering         Cloud / DevOps / SRE    Cybersecurity

You get a role brief, representative problems, and feedback structured around the three things interviewers actually evaluate: correctness, tradeoffs, and clarity under follow-up.

CogniForge: Start Interview Mode Β· CogniForge: Interview Feedback


πŸ”§ Code Help Mode β€” Understand What You're Looking At

Bring any function. Any bug. Any confusing output.

CogniForge tells you what's happening and why β€” not just rewriting it for you. The goal is that you leave understanding the code better than when you came in.

Explain My Code Β· Give Me a Hint Β· Debug My Code Β· Optimize My Approach


Getting Started

Requirements

  • VS Code ^1.98.0
  • Python 3 β€” for Python notebook cells
  • Node.js β€” for JavaScript notebook cells
  • GitHub Copilot + Copilot Chat β€” powers the reasoning layer (strongly recommended)

Setup

# Clone
git clone https://github.com/your-org/CogniForge.git
cd CogniForge

# Install
npm install

# Open in VS Code and press F5 to launch the Extension Host
code .

First Session

1.  Ctrl+Shift+P  β†’  CogniForge: Configure Learner Profile
2.  Pick your track and difficulty
3.  Ctrl+Shift+P  β†’  CogniForge: Start Learning Mode
4.  Write code in the notebook cell Β· run it locally
5.  Ctrl+Shift+P  β†’  CogniForge: Give Me a Hint
                               or: Explain My Code
                               or: Debug My Code
                               or: Optimize My Approach
6.  Repeat until it actually clicks

Optional: Set a Sarvam API key (CogniForge: Set Sarvam API Key) to enable translated explanations and voice output in Indian languages.


Full Command Reference

Category Command
Notebooks Start Learning Mode Β· New Practice Notebook Β· New Study Track Notebook Β· New Pattern Practice Notebook Β· Start Code Help Mode Β· Start Interview Mode Β· Import LeetCode Problem
Tutor Explain My Code Β· Give Me a Hint Β· Debug My Code Β· Optimize My Approach Β· Interview Feedback Β· Speak Last Explanation
Config Configure Learner Profile Β· Set Sarvam API Key

Configuration

Setting What it controls
cogniforge.defaultRuntime Default code execution runtime
cogniforge.pythonCommand Python executable path
cogniforge.nodeCommand Node executable path
cogniforge.reasoningModelVendor LM vendor for AI reasoning
cogniforge.reasoningModelFamily LM family for AI reasoning
cogniforge.sarvamModel Sarvam model selection
cogniforge.translationScriptMode Native script vs. romanized output
cogniforge.sarvamVoice Voice selection for TTS

Repository Structure

CogniForge/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ extension.js        # Entry point Β· notebook orchestration Β· command registration Β· memory updates
β”‚   β”œβ”€β”€ promptEngine.js     # Prompt construction for all tutor modes and adaptive reasoning context
β”‚   β”œβ”€β”€ llmClient.js        # VS Code Language Model API integration and Copilot availability checks
β”‚   β”œβ”€β”€ sarvamClient.js     # Translation and text-to-speech via Sarvam
β”‚   β”œβ”€β”€ codeAnalysis.js     # Mistake-type detection Β· complexity signals Β· hint ladder positioning
β”‚   β”œβ”€β”€ problemCatalog.js   # Curated learning tracks Β· interview role presets Β· notebook metadata
β”‚   └── leetcodeClient.js   # LeetCode import and notebook-ready problem shaping
β”œβ”€β”€ examples/
β”‚   └── two-sum.pwtutor     # Example notebook in the extension's native format
└── package.json

Current Limitations

  • Local code execution depends on your installed Python / Node runtime
  • AI guidance requires GitHub Copilot or a configured Sarvam API key
  • LeetCode import depends on LeetCode's current public request shape
  • SQL mode covers reasoning and explanation β€” embedded SQL runner not yet included
  • No cross-device sync or cloud analytics (by design for core features)

What's Coming

  • Stronger mastery tracking and weak-topic recovery paths
  • Richer notebook UX β€” action-driven, collapsible hint reveal flows
  • SQL execution via embedded local SQLite
  • Expanded curated tracks and role packs
  • Test coverage for notebook, prompt, and LM flows
  • Demo GIFs and polished first-run onboarding

Contributing

If you believe developer education belongs in the editor β€” help build it.

Priority areas:

  • Notebook UX polish
  • SQL mode implementation
  • Stronger AI fallback behavior
  • New curated learning tracks
  • Test and mock LM coverage
  • Multilingual experience improvements

See CONTRIBUTING.md to get started.


Try the Sample Notebook

examples/two-sum.pwtutor

Open it in VS Code with the extension running to see the full notebook format in action.


License

MIT β€” build on it, learn from it, make it better.


The editor is the classroom. The notebook is the lesson plan. The AI is the tutor. Your data stays yours.

Built for developers who learn by doing β€” and want to actually understand what they did.

About

CogniForge Studio is a local-first VS Code extension that turns coding practice into a guided learning experience inside notebook workflows. It combines three things in one product: structured problem-solving practice interview preparation AI-assisted code explanation, debugging, and optimization The system is designed to run without backend infr

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors