TMTPUnderstand the project before you modify it.TMTP—Teach Me This Project—is a VS Code extension that helps developers find their way through an unfamiliar codebase. It analyzes the repository first, shows where to begin, and then uses AI to explain the project through its real files and architectural decisions.
The problemYou cloned a repository. It builds. The tests pass. Now comes the harder question:
A file tree tells you what exists, but not what matters. A dependency graph shows connections, but not what to learn first. Search can find a symbol, but it cannot explain why the project is structured that way. Coding assistants are useful once you know what to ask. In an unfamiliar codebase, forming the right question is often the first obstacle. TMTP is built for that moment. It helps you understand the project before asking you to change it. Why TMTPMost AI coding workflows begin with a prompt. TMTP begins with the repository. It first runs a deterministic local analysis to discover project structure, technologies, important files, and supported import relationships. That analysis decides what is present and where the learning journey should begin. AI is introduced only when you request an explanation or practice exercise. This separation matters:
How TMTP works
Project OverviewThe problem: An unfamiliar repository does not provide a concise map of its technology and structure. What TMTP does: The Project Overview streams six analysis stages and summarizes files, folders, manifests, detected languages, frameworks, infrastructure, dependencies, and top file types. Detection results include confidence and the repository signals behind them. Why it matters: You get an evidence-based first orientation without sending the repository to an AI service. Detection is heuristic rather than a full semantic build-system analysis. See supported analysis for the current scope. Where Should I Start?The problem: Real projects often have several meaningful entry points, especially monorepos and applications with separate frontend, backend, CLI, or service layers. What TMTP does: It ranks source files using deterministic signals such as executable entry points, framework bootstraps, conventional filenames, import centrality, reverse references, and orchestration behavior. Every recommendation includes the reasons it received its position. Why it matters: Instead of opening files at random, you begin with a reviewable learning order derived from the repository itself. No AI is involved in this ranking. Interactive Project GraphThe problem: A directory tree hides how source files relate, while a dense dependency graph can become as difficult to read as the codebase itself. What TMTP does: The graph combines:
Why it matters: You can distinguish how code is connected from how it may be useful to learn it. TMTP never presents a teaching relationship as a code dependency. Import extraction currently covers TypeScript/JavaScript relative imports and resolvable project-local Python imports. Other languages can still appear as files and starting points, but their import graphs may be sparse. Guided Project TourThe problem: Knowing that a file is important does not explain its responsibility or how its code expresses the project architecture. What TMTP does: The tour follows the same ranked starting files one at a time. For each requested file, it provides:
The lesson receives the real file content, the scanner-detected primary language, and the deterministic reasons the file was recommended. Lessons are generated on demand and cached per workspace so reopening one does not repeat the same request. Why it matters: The repository becomes the learning material. You learn language and architecture in the context where they are actually used. AI explanations can still be imperfect. TMTP validates the response structure and grounds the request in real source, but generated prose should be reviewed against the code. In-editor AI CommentaryThe problem: Explanations lose value when they are separated from the exact code they describe. What TMTP does: Generating or reopening a lesson opens the source beside TMTP and anchors collapsible native VS Code comment threads to matched snippets. Each thread contains the project role, language explanation, and architectural rationale. Read and unread state persists, while editing the source removes that file's commentary so stale annotations are not left behind. Why it matters: You can study the explanation at the relevant lines without modifying the source file or leaving the editor. Learning Readiness CheckThe problem: A tour cannot know which parts felt clear and which need reinforcement. What TMTP does: After the Guided Tour, you rate your confidence for each file you explored. TMTP uses those ratings to weight the next practice set toward files you want to understand better. Why it matters: Practice responds to your own sense of readiness instead of treating every learning stop equally. This is a file-confidence check, not a formal language proficiency test or automated knowledge-gap assessment. Day 1 PracticeThe problem: Reading an explanation does not prove you know where to begin when a real task arrives. What TMTP does: Day 1 Practice presents realistic multiple-choice scenarios about file responsibilities and architectural boundaries. Tour-wide practice emphasizes lower-confidence files. Focused practice is available for an individual file and tests what belongs there, what it delegates, and when a neighboring file is the better answer. The planner fixes the files, answer choices, correct answer, order, and difficulty before AI writes the scenario and feedback. AI cannot replace those deterministic choices in its response. Why it matters: You practise navigating the architecture rather than memorizing filenames or syntax trivia. Progress TrackingThe problem: Onboarding is rarely completed in one sitting. What TMTP does: TMTP keeps lightweight per-workspace learning state for files that are:
The Activity Bar Learning Home and Project Graph surface that state when you return. Why it matters: You can resume the learning journey instead of reconstructing what you already explored. Progress is file-level and intentionally simple. TMTP does not yet maintain a broader developer skills profile. ScreenshotsThe public screenshot set is being prepared for the Marketplace release. Each image below has a defined purpose and intended repository path so the final documentation can be completed without changing the product story.
Screenshots will be added only after they are captured from the current extension so the Marketplace page does not show mock behavior. Privacy and data handlingTMTP separates local analysis from optional AI generation. What stays local
What is sent to OpenAIAI is used only when you test the connection, request a file explanation, or request practice content.
TMTP currently connects directly from the extension host to the OpenAI API. It does not include a TMTP-operated proxy or backend in this repository. Your use of OpenAI is subject to your OpenAI account, policies, and API charges. Supported analysisCurrent detector coverage is:
Detection is based on repository signals and confidence scores. It is designed for orientation, not as a replacement for a package manager, compiler, security scanner, or complete static-analysis system. Current limitations
InstallationTMTP currently targets VS Code 1.85 or newer. Install the development releaseUntil the public Marketplace listing is available:
Build from sourcePrerequisites: Node.js and pnpm.
Open the repository in VS Code and press DevelopmentThe repository is a pnpm workspace:
Useful commands:
The current source contains 32 scanner, 23 AI, and 29 extension test cases. Network calls in the AI tests are mocked; no real API key is required. For package boundaries and design decisions, see Architecture. For the local development workflow, see Development Guide. RoadmapFuture work is focused on:
See the project roadmap for the longer-term architecture direction. Roadmap items are plans, not current capabilities. ContributingTMTP is early and contributions are welcome, particularly around detector accuracy, import resolution, VS Code UX, testing, and documentation.
Before adding a public capability claim, make sure the behavior is registered, reachable through the product, and covered by an appropriate test. LicenseNo open-source license file has been committed yet. Until the project owner selects and adds a license, the source is publicly visible but no open-source usage rights should be assumed. Project links |