## Skills **All skills are mandatory reading** before making changes. - [Basic Syntax](skills/basic-syntax.md) – If-else, ternaries, and other syntax rules - [Code Style Guide](skills/index.md) – How to contribute code style proposals - [Comments](skills/comments.md) – Comment formatting conventions - [Common Issues](skills/common-issues.md) – Known issues and their solutions - [Components](skills/components.md) – React component file structure and patterns - [Common Tasks](skills/common-tasks.md) – Dependency management, package creation, and troubleshooting - [Defensive Programming](skills/defensive-programming.md) – Exhaustive checks and safe defaults - [Development Commands](skills/development-commands.md) – Running apps, linting, testing, and building - [Git and Commit Guidelines](skills/git-and-commit-guidelines.md) – Conventional Commits format and best practices - [Import/Export](skills/import-export.md) – Named exports and import ordering - [Naming](skills/naming.md) – Naming conventions for variables, functions, and files - [Packages](skills/packages.md) – How to create and structure packages - [Project Overview](skills/project-structure.md) – What Trezor Suite is and how the monorepo is organized - [Redux](skills/redux.md) – Redux Toolkit patterns and best practices - [Setup Requirements](skills/setup-requirements.md) – Prerequisites and initial environment setup - [Tests](skills/tests.md) – Test style guidelines and best practices - [Tests Commands](skills/tests-commands.md) – Running tests and test-related guidelines - [Tests](skills/tests.md) – Test style guidelines and best practices - [TypeScript](skills/typescript.md) – TypeScript-specific conventions ## Formatting (mandatory) After any code changes, run formatting on changed files before finishing: 1. `yarn g:prettier --write ` 2. `yarn g:eslint --fix ` # Other Notes - **Build times**: Initial setup takes 15-20 minutes; builds can take 10-15 minutes - **Windows**: Use Git Bash instead of cmd/PowerShell; consider WSL for better performance - **Testing**: Some tests may time out in CI environments without network access - **Hardware wallets**: Use trezor/trezor-user-env emulator for development