TypeScript tops GitHub as AI rewrites the adoption curve
For the first time on record, TypeScript overtook both Python and JavaScript to become the most-used language on GitHub in August 2025, according to the Octoverse 2025 report. The headline is about a language ranking, but the underlying story is about behavior: AI assistance is no longer just accelerating the act of writing code. It is changing which languages, frameworks, and tools developers select in the first place.

Friction, memory, and the feedback loop of choice
People form strong associations between an experience and the circumstances around it. A smooth workflow registers as a preference; repeated preferences, aggregated across millions of developers, shift ecosystems. The data suggests this is happening now at scale.
According to the report, 80% of new developers on GitHub use Copilot within their first week. That early exposure resets expectations for what "easy" feels like. When AI absorbs boilerplate and syntax overhead, the historical penalty for choosing expressive but complex languages diminishes. Developers increasingly choose tools for utility rather than for how little friction they introduce by hand.
The year-over-year changes in language use reflect that: TypeScript grew 66%, JavaScript 24%, and shell scripting usage in AI-generated projects jumped 206%. The shell script number is telling—it is not that developers suddenly developed a fondness for Bash. AI removed the pain points that made shell scripting a chore, so developers now reach for the right tool without paying the usual cost.
Why strongly typed languages pair better with AI
There is a concrete, technical explanation for the shift toward TypeScript. Strongly typed languages present AI models with clearer constraints. In JavaScript, a variable can hold anything; in TypeScript, declaring x: string immediately rules out all non-string operations. These constraints help AI generate more reliable, contextually accurate code, and developers gravitate toward that reliability.
That effect compounds as AI integration becomes standard practice. Over 1.1 million public repositories now use LLM SDKs—mainstream adoption, not an experiment at the margins. The adoption is concentrating around the languages and frameworks that work best with AI tooling.

Harnessing the velocity without losing architectural coherence
AI tools deliver a measurable productivity boost, often a 20–30% increase in throughput, but that speed introduces its own risks. Teams that generate code faster without guardrails can accumulate architectural drift just as quickly. The teams getting the best results are not resisting the convenience loop; they are designing workflows that exploit it while protecting their standards.
For developers and teams
- Establish patterns before you generate. AI is very good at mirroring existing structure and poor at inventing clean patterns on its own. Define your first few endpoints or components with strong structure, and Copilot will follow suit. Weak foundations get amplified rather than corrected.
- Treat type systems as guardrails, not as a substitute for logic. TypeScript catches a class of errors, but passing the type checker is not the same as expressing correct business logic. Use types to constrain the space of valid code, not as your only correctness signal.
- Test AI-generated code harder, not less. The output often looks right and passes initial checks, which is exactly why it deserves scrutiny. Skip no step of your normal review and test process.
For engineering leaders
- Plan for the costs of higher throughput. A 20–30% velocity increase is a genuine win, but it also means architectural drift can accumulate faster without sufficient guardrails.
- Standardize before you scale. Document patterns, publish template repositories, and make architectural decisions explicit. AI tools mirror whatever structures they see in the codebase.
- Track what AI is generating, not just how much. The Copilot usage metrics dashboard, now in public preview for Enterprise, offers more than acceptance rates. It tracks daily and weekly active users, agent adoption percentages, lines of code added and deleted, and language and model usage across the organization. The accompanying API provides user-level granularity for deeper analysis and custom dashboards. Use these signals to spot patterns—high agent adoption with code quality issues in a team suggests a need for better prompt engineering training, and specific languages or models correlated with higher defect rates point to actionable data.
- Invest in architectural review capacity. As individual developers produce more, senior review time becomes more valuable, not less. Someone has to ensure the system remains coherent as code lands faster.
- Make architectural decisions explicit and accessible. ADRs, READMEs, comments, and well-structured repositories teach AI to generate code that aligns with your design principles.
What the shift means for your next stack decision
The choices that feel natural today—the language for a new project, the framework for a feature, the tool for a workflow—are shaped by unnoticed forces: convenience, habit, AI-assisted flow, and the friction each stack introduces. Octoverse 2025 suggests AI compatibility is one of those forces, and it is exerting real influence over which languages gain momentum.
If AI support is an afterthought in your technology decisions, you are likely signing up for future friction. If you are building languages or frameworks, AI compatibility can no longer be a secondary concern. Those patterns set in quickly, and once entrenched, they are hard to reverse. The practical question for any developer or leader is straightforward: are you choosing your tools consciously, or are your tools choosing themselves along the path of least resistance?



