···1414- Layout shift, flakiness, slowness is The Worst. We need to continually iterate to create the most performant, best DX possible.
1515- We want to provide information in the best way. We don't want noise, cluttered display, or confusing UI. If in doubt: choose simplicity.
16161717+## Table of Contents
1818+1919+- [Getting started](#getting-started)
2020+ - [Prerequisites](#prerequisites)
2121+ - [Setup](#setup)
2222+- [Development workflow](#development-workflow)
2323+ - [Available commands](#available-commands)
2424+ - [Project structure](#project-structure)
2525+ - [Local connector CLI](#local-connector-cli)
2626+- [Code style](#code-style)
2727+ - [TypeScript](#typescript)
2828+ - [Server API patterns](#server-api-patterns)
2929+ - [Import order](#import-order)
3030+ - [Naming conventions](#naming-conventions)
3131+ - [Vue components](#vue-components)
3232+- [RTL Support](#rtl-support)
3333+- [Localization (i18n)](#localization-i18n)
3434+ - [Approach](#approach)
3535+ - [Adding a new locale](#adding-a-new-locale)
3636+ - [Update translation](#update-translation)
3737+ - [Adding translations](#adding-translations)
3838+ - [Translation key conventions](#translation-key-conventions)
3939+ - [Using i18n-ally (recommended)](#using-i18n-ally-recommended)
4040+ - [Formatting numbers and dates](#formatting-numbers-and-dates)
4141+- [Testing](#testing)
4242+ - [Unit tests](#unit-tests)
4343+ - [Component accessibility tests](#component-accessibility-tests)
4444+ - [End to end tests](#end-to-end-tests)
4545+- [Submitting changes](#submitting-changes)
4646+ - [Before submitting](#before-submitting)
4747+ - [Pull request process](#pull-request-process)
4848+ - [Commit messages and PR titles](#commit-messages-and-pr-titles)
4949+- [Pre-commit hooks](#pre-commit-hooks)
5050+- [Using AI](#using-ai)
5151+- [Questions](#questions)
5252+- [License](#license)
5353+1754## Getting started
18551956### Prerequisites
···111148112149If you want to get ahead of any formatting issues, you can also run `pnpm lint:fix` before committing to fix formatting across the whole project.
113150114114-### Typescript
151151+### TypeScript
115152116153- We care about good types – never cast things to `any` 💪
117154- Validate rather than just assert