Zum Hauptinhalt springen

Development Guide

This guide covers everything you need to contribute to Ever Teams — code conventions, testing practices, debugging tips, and the contribution workflow.

Contributing

Getting Started

  1. Fork the Ever Teams repository
  2. Clone your fork locally
  3. Create a branch from develop: git checkout -b feature/my-feature develop
  4. Make changes and commit with Conventional Commits
  5. Push and open a Pull Request against develop

Commit Convention

All commits must follow the Conventional Commits specification:

<type>(<scope>): <description>

[optional body]

[optional footer]
TypeDescription
featNew feature
fixBug fix
testAdding or updating tests
buildBuild system changes
refactorCode refactoring
docsDocumentation changes
choreMaintenance tasks

Tools: commitizen (interactive commit helper), commitlint (commit message validation), husky (git hooks)

Pull Request Guidelines

  • Base your PR against the develop branch
  • Include a clear description of the changes
  • Reference any related issues
  • Ensure all CI checks pass
  • Follow the PR template in .github/PULL_REQUEST_TEMPLATE.md

Code Style

TypeScript

  • Strict mode enabled across all packages
  • Use TypeScript for all new code
  • Avoid any types — use proper typing

Formatting

ToolConfiguration
Prettier.prettierrc — 120 char width, single quotes, tabs, semicolons
ESLint.eslintrc.json — TypeScript, React, and Next.js rules
Stylelint.stylelintrc.json — CSS/SCSS rules

Editor Configuration

SettingValue
Print width120
QuotesSingle
IndentationTabs (4 spaces for SCSS/YAML)
SemicolonsYes
Trailing commasNone
Arrow parensAlways

Running Formatters

# Format all code
yarn format

# Lint code
yarn lint

# Auto-fix lint issues
yarn lint-fix

# Spell check
yarn spell

Testing

Unit Tests

# Run all tests
yarn test

# Run tests for a specific app
cd apps/web && yarn test

E2E Tests

# Run E2E tests
yarn e2e

# Run E2E CI
yarn e2e:ci

Mobile Tests

# Unit tests
cd apps/mobile && yarn test

# E2E tests (Detox)
cd apps/mobile && yarn detox:build && yarn detox:test

Debugging

Web Application

  1. Browser DevTools — React DevTools, Network tab
  2. Recoil DevTools — For state inspection
  3. Next.js Debug ModeNODE_OPTIONS='--inspect' yarn start:web:dev
  4. Logging — Client and server-side loggers (see API Layer)

VS Code Configuration

The project includes VS Code settings in .vscode/:

  • Recommended extensions
  • Debug launch configurations
  • Editor settings

Common Debug Scenarios

ScenarioApproach
API errorsCheck Network tab, look at proxy route logs
State issuesUse Recoil DevTools, add console logs in stores
Build failuresCheck yarn build:web output, review TypeScript errors
PerformanceUse ANALYZE=true yarn build:web for bundle analysis

Project Scripts

ScriptDescription
yarn start:web:devStart web with hot-reload
yarn build:webProduction build
yarn dev:webBuild packages + start web dev
yarn lintLint all packages
yarn formatFormat all code
yarn testRun test suite
yarn spellCheck spelling
yarn knip:webFind unused code (web)
yarn dep-graphView dependency graph

Tooling

ToolPurpose
NXWorkspace orchestration
TurborepoBuild caching and pipelines
LernaPackage versioning
HuskyGit hooks (pre-commit, commit-msg)
lint-stagedRun linters on staged files
CommitizenInteractive commit helper
cspellCode spell checker