Prioritise GitLab's Built-in Project Templates Based on Real Developer Usage Data
## Summary
GitLab's [built-in project templates](https://gitlab.com/gitlab-org/project-templates) should be restructured using a data-driven approach that better reflects real-world developer adoption patterns. I believe this could significantly reduce friction for teams starting new projects and better position GitLab as understanding modern development workflows.
## The Problem
I've noticed that GitLab's current built-in project templates don't seem to align with what developers are actually using in 2025:
- **Questionable priorities**: The current ordering doesn't reflect what developers actually reach for
- **Missing modern essentials**: No templates for critical DevOps tools (Terraform, Ansible, Kubernetes) that are now standard in enterprise environments
- **Maintenance inconsistency**: Some templates haven't been updated in over a year
- **Gaps in popular areas**: Missing templates for monorepo setups, modern GitLab Pages workflows, mobile development, and ML workflows
- **No AI integration examples**: Missing the opportunity to showcase GitLab Duo capabilities in practical, working templates
## What I'm Thinking
Rather than guessing what developers want, why not use actual data to guide template prioritisation? Here's my initial thinking on categories that might deserve attention:
### Core Languages (TIOBE Index May 2025)
The current leaders that should probably get priority maintenance:
- **Python** (25.35%) - Especially for AI/ML, automation, web development
- **C++** (11.37%) - Systems programming, performance-critical apps
- **Java** (10.66%) - Enterprise applications, Spring Boot ecosystem
- **C** (9.84%) - Embedded systems, systems programming
- **C#** (4.12%) - .NET ecosystem, enterprise applications
### Essential Web Development (Stack Overflow 2024)
Focus on the most adopted:
- **Node.js** (40.8%) - Backend JavaScript, microservices, API development
- **React** (39.5%) - Frontend SPAs, component-based architecture, modern tooling
### Mobile Application Development
Cross-platform and native development patterns:
- **React Native** - Cross-platform mobile apps with shared codebase
- **Flutter** - Google's cross-platform framework with strong performance
- **Swift/iOS** - Native iOS development with modern Swift patterns
- **Kotlin/Android** - Native Android development with Kotlin-first approach
### Machine Learning & Data Science
Python-centric ML workflows:
- **Data science projects** - Jupyter notebooks, pandas, scikit-learn workflows
- **Deep learning** - TensorFlow, PyTorch project structures
- **MLOps pipelines** - Model training, validation, deployment automation
- **Model serving** - API deployment, containerised inference services
### DevOps & Infrastructure (The Big Gap)
Tools that are now essential but missing from templates:
- **Terraform** - Multi-cloud infrastructure as code
- **Ansible** - Configuration management
- **Kubernetes** - Container orchestration
- **Docker** - Containerisation patterns
- **GitOps workflows** - ArgoCD, Flux integration
### Modern Development Patterns
Areas where GitLab could really shine:
- **Monorepo setups** - Multi-project repositories with proper CI/CD
- **GitLab Pages** - Modern static site generators, documentation sites
- **Microservices architectures** - Service mesh, API patterns
- **Full-stack frameworks** - Next.js, Nuxt.js, SvelteKit
### AI-Powered Development (New Opportunity)
Templates that showcase GitLab Duo capabilities:
- **AI-enhanced CI/CD**: Templates with Duo-optimised pipeline configurations
- **Code generation examples**: Projects demonstrating Duo's scaffolding capabilities
- **AI-powered testing**: Templates showing Duo-generated test suites
- **Documentation automation**: Using Duo for README, API doc generation
- **Security-first templates**: Enhanced vulnerability detection with AI insights
- **MLOps workflows**: End-to-end machine learning pipelines with GitLab Duo
- **AI application templates**: Building chatbots, recommendation systems, AI-powered features
## Questions for Discussion
I'm keen to hear thoughts on:
1. **Does this prioritisation make sense?** Are there obvious gaps or wrong priorities?
2. **Mobile development focus**: Should we prioritise cross-platform (React Native, Flutter) or include native development templates?
3. **ML/Data Science scope**: What are the most common ML project patterns that would benefit from templates?
4. **GitLab Duo integration**: Where would AI-powered templates add the most value? Should this be a separate category or integrated throughout?
5. **Enterprise vs. individual needs**: Should we have different strategies for different user types?
6. **Maintenance burden**: How do we balance comprehensive coverage with keeping templates current?
7. **Community contribution**: How might we encourage community contributions for specialised templates?
8. **Usage analytics**: Should GitLab track template selection to guide future prioritisation?
9. **Monorepo patterns**: What are the most common monorepo setups that would benefit from templates?
## The Opportunity
If we get this right, GitLab could:
- Reduce friction for developers evaluating or adopting GitLab
- **Showcase GitLab Duo capabilities** in practical, working examples
- Position GitLab as understanding modern development practices (including AI integration)
- **Serve mobile and ML developers** who are currently underserved by existing templates
- Create templates that actually work out-of-the-box in 2025
- Better serve the DevSecOps community who need infrastructure tooling
What do others think? Are there obvious technologies or patterns we've missed? Does this general direction make sense? **Where would you most want to see GitLab Duo integration in templates?**
---
**Data Sources:**
- [TIOBE Index May 2025](https://www.techrepublic.com/article/tiobe-index-language-rankings/)
- [Stack Overflow Developer Survey 2024](https://www.statista.com/statistics/1124699/worldwide-developer-survey-most-used-frameworks-web/)
- [DevOps Tools Survey 2025](https://spacelift.io/blog/devops-tools)
issue