2015-09-11 14:41:01 +05:30
# Development
2014-09-02 18:07:02 +05:30
2016-09-13 17:45:13 +05:30
## Outside of docs
- [CONTRIBUTING.md ](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md ) main contributing guide
- [PROCESS.md ](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/PROCESS.md ) contributing process
- [GitLab Development Kit (GDK) ](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/master/doc/howto/README.md ) to install a development version
## Styleguides
2017-08-17 22:00:37 +05:30
- [API styleguide ](api_styleguide.md ) Use this styleguide if you are
contributing to the API.
2016-09-13 17:45:13 +05:30
- [Documentation styleguide ](doc_styleguide.md ) Use this styleguide if you are
contributing to documentation.
2017-08-17 22:00:37 +05:30
- [Writing documentation ](writing_documentation.md )
- [Distinction between general documentation and technical articles ](writing_documentation.md#distinction-between-general-documentation-and-technical-articles )
2016-09-13 17:45:13 +05:30
- [SQL Migration Style Guide ](migration_style_guide.md ) for creating safe SQL migrations
- [Testing standards and style guidelines ](testing.md )
2017-08-17 22:00:37 +05:30
- [UX guide ](ux_guide/index.md ) for building GitLab with existing CSS styles and elements
- [Frontend guidelines ](fe_guide/index.md )
2016-11-03 12:29:30 +05:30
- [SQL guidelines ](sql.md ) for working with SQL queries
- [Sidekiq guidelines ](sidekiq_style_guide.md ) for working with Sidekiq workers
2017-08-17 22:00:37 +05:30
- [`Gemfile` guidelines ](gemfile.md )
2016-09-13 17:45:13 +05:30
## Process
2017-08-17 22:00:37 +05:30
- [Generate a changelog entry with `bin/changelog` ](changelog.md )
- [Limit conflicts with EE when developing on CE ](limit_ee_conflicts.md )
2016-09-13 17:45:13 +05:30
- [Code review guidelines ](code_review.md ) for reviewing code and having code reviewed.
2016-09-29 09:46:39 +05:30
- [Merge request performance guidelines ](merge_request_performance_guidelines.md )
for ensuring merge requests do not negatively impact GitLab performance
2016-09-13 17:45:13 +05:30
## Backend howtos
2014-09-02 18:07:02 +05:30
- [Architecture ](architecture.md ) of GitLab
2016-06-02 11:05:42 +05:30
- [Gotchas ](gotchas.md ) to avoid
- [How to dump production data to staging ](db_dump.md )
- [Instrumentation ](instrumentation.md )
- [Performance guidelines ](performance.md )
- [Rake tasks ](rake_tasks.md ) for development
- [Shell commands ](shell_commands.md ) in the GitLab codebase
2015-04-26 12:48:37 +05:30
- [Sidekiq debugging ](sidekiq_debugging.md )
2017-08-17 22:00:37 +05:30
- [Object state models ](object_state_models.md )
- [Building a package for testing purposes ](build_test_package.md )
2017-09-10 17:25:29 +05:30
- [Manage feature flags ](feature_flags.md )
2016-09-13 17:45:13 +05:30
## Databases
- [What requires downtime? ](what_requires_downtime.md )
- [Adding database indexes ](adding_database_indexes.md )
2017-08-17 22:00:37 +05:30
- [Post Deployment Migrations ](post_deployment_migrations.md )
2017-09-10 17:25:29 +05:30
- [Foreign Keys & Associations ](foreign_keys.md )
- [Serializing Data ](serializing_data.md )
- [Polymorphic Associations ](polymorphic_associations.md )
- [Single Table Inheritance ](single_table_inheritance.md )
- [Background Migrations ](background_migrations.md )
- [Storing SHA1 Hashes As Binary ](sha1_as_binary.md )
- [Iterating Tables In Batches ](iterating_tables_in_batches.md )
2017-08-17 22:00:37 +05:30
## i18n
- [Internationalization for GitLab ](i18n_guide.md )
2016-09-13 17:45:13 +05:30
## Compliance
- [Licensing ](licensing.md ) for ensuring license compliance