Skip to content

Development Guide

Kuray Karaaslan edited this page Oct 5, 2026 · 1 revision

Development Guide

Setup

pnpm install --frozen-lockfile
pnpm exec turbo run typecheck lint test build
pnpm dev

Requirements:

  • Node >= 24
  • pnpm >= 10

Main Commands

Command Purpose
pnpm dev Start the Electron app
pnpm build Build workspaces
pnpm typecheck TypeScript checks
pnpm lint ESLint
pnpm test Vitest suites
pnpm coverage Coverage gate
pnpm depcruise Dependency/layer boundary check
pnpm e2e Playwright Electron smoke
pnpm format:check Formatting gate
pnpm run docs:links Documentation link gate

Contribution Rules

  • Branch from main as <type>/<short-scope>.
  • Keep PRs small and focused.
  • Ask before large feature work, especially around security, model gateway, or IPC.
  • No AI attribution trailers in commits or PRs.
  • Security reports do not go to public issues.

Code Rules

  • Strict TypeScript.
  • No @ts-ignore or @ts-expect-error.
  • any only in catch.
  • Files should stay under the project's line-limit convention.
  • Zod safeParse at every untrusted boundary.
  • Shared contracts come from @tepegoz/shared-types.
  • Services throw AppError; boundaries map errors.
  • User-facing strings are localized English + Turkish in the same PR.
  • New work targets a package or extension, not uncontrolled apps/desktop growth.

Architecture Reading Order

  1. phases/README.md
  2. docs/architecture.md
  3. docs/package-map.md
  4. docs/engineering-rules.md
  5. docs/threat-model.md
  6. docs/adr/

Sources

  • CONTRIBUTING.md
  • docs/engineering-rules.md
  • package.json
  • dependency-cruiser.cjs

Clone this wiki locally