GitLab development guides
Get started!
- Setup GitLab's development environment with GitLab Development Kit (GDK)
 - GitLab contributing guide
 - Architecture of GitLab
 - Rake tasks for development
 
Processes
- GitLab core team & GitLab Inc. contribution process
 - Generate a changelog entry with 
bin/changelog - Code review guidelines for reviewing code and having code reviewed.
 - Automatic CE->EE merge
 - Guidelines for implementing Enterprise Edition features
 - Security process for developers
 
UX and frontend guides
- UX guide for building GitLab with existing CSS styles and elements
 - Frontend guidelines
 - Emoji guide
 
Backend guides
- GitLab utilities
 - API styleguide Use this styleguide if you are contributing to the API.
 - GraphQL API styleguide Use this styleguide if you are contribution to the GraphQL API
 - Sidekiq guidelines for working with Sidekiq workers
 - Working with Gitaly
 - Manage feature flags
 - View sent emails or preview mailers
 - Shell commands in the GitLab codebase
 Gemfileguidelines- Sidekiq debugging
 - Gotchas to avoid
 - Avoid modules with instance variables if possible
 - How to dump production data to staging
 - Working with the GitHub importer
 - Working with Merge Request diffs
 
Performance guides
- Instrumentation
 - Performance guidelines
 - Merge request performance guidelines for ensuring merge requests do not negatively impact GitLab performance
 
Databases guides
Migrations
- What requires downtime?
 - SQL guidelines for working with SQL queries
 - Migrations style guide for creating safe SQL migrations
 - Post deployment migrations
 - Background migrations
 - Swapping tables
 
Best practices
- Merge Request checklist
 - Adding database indexes
 - Foreign keys & associations
 - Single table inheritance
 - Polymorphic associations
 - Serializing data
 - Hash indexes
 - Storing SHA1 hashes as binary
 - Iterating tables in batches
 - Ordering table columns
 - Verifying database capabilities
 - Database Debugging and Troubleshooting
 - Query Count Limits
 
Testing guides
Documentation guides
Internationalization (i18n) guides
Build guides
Compliance
- Licensing for ensuring license compliance