**/test-results/*
**/.maestro-debug

# generated declarations are build artifacts: hanzogui-build emits every
# package's into <pkg>/types/, the build fixtures emit to their package root.
# they still ship on npm - every package lists "types" in its files[].
# hand-authored .d.ts stay tracked (re-export shims like pkgs/core/config/v5.d.ts,
# ambient stubs like apps/gui.hanzo.ai/types/bento.d.ts): none live under pkgs/*/types/.
pkgs/**/types/**/*.d.ts
pkgs/**/types/**/*.d.ts.map
pkgs/build/__tests__/fixtures/**/*.d.ts
pkgs/build/__tests__/fixtures/**/*.d.ts.map
pkgs/**/vitest.config.d.ts
pkgs/**/vitest.config.d.ts.map
pkgs/**/*.test.d.ts
pkgs/**/*.test.d.ts.map

.yarn/*
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/sdks
!.yarn/versions

.turbo

.ultra.cache.json
tmp
*.tsbuildinfo
*.tmp.js
yarn-error.log
dist
tsconfig.tsbuildinfo
node_modules
**/_
**/tests/spec/out
.DS_Store

.next

.vercel

apps/kitchen-sink/ios

.hanzogui
# The same artifact under its current name. The directory was renamed
# `.hanzogui` -> `.gui` and this line did not follow it, so every app's
# generated gui config sat untracked-but-unignored — and the formatter checks
# what git does not ignore, which is what made `bun run lint` fail on two
# machine-written files nobody edits.
.gui

.idea

.env
.env.local
.env.development.local
.env.test.local
.env.production.local

# key material / credentials - never commit
*.pem
*.key
*.p12
*.pfx
*.keystore
*.jks
*.p8
*.mobileprovision
**/serviceAccount*.json

apps/kitchen-sink/ios
apps/kitchen-sink/android

code/studio/types/**

.expo
.vite-inspect
.claude/

# Playwright
.playwright-report/
.playwright-results/
test-results/

# Rust build artifacts — never commit; a debug .a is 272MB and GitHub caps at 100MB.
apps/desktop/src-tauri/target/
**/src-tauri/target/
