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