# ================================
# Typecast SDK Monorepo .gitignore
# ================================

# ----------------
# Environment
# ----------------
.env
.env.local
.env.*.local
*.env
!.env.example

# ----------------
# Node.js / JavaScript
# ----------------
node_modules/
# Note: package-lock.json is NOT ignored - required for npm ci in CI
yarn.lock
pnpm-lock.yaml

# Build outputs (JS)
lib/
dist/
build/
*.tsbuildinfo

# Test coverage
coverage/

# Optional npm cache
.npm
.eslintcache

# Logs (JS)
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# ----------------
# Python
# ----------------
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
develop-eggs/
downloads/
eggs/
.eggs/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg

# Virtual environments
.venv
.test_venv
.ci_test_venv
env/
venv/
ENV/

# Testing (Python)
.coverage
htmlcov/
.pytest_cache/
.mypy_cache/
.ruff_cache/

# ----------------
# C / C++
# ----------------
# Build directories
[Bb]uild/
cmake-build-*/
CMakeFiles/
CMakeCache.txt
cmake_install.cmake
Makefile
!typecast-go/Makefile
!typecast-java/Makefile
!typecast-rust/Makefile
!typecast-kotlin/Makefile
*.cmake

# Compiled objects
*.o
*.obj
*.a
*.lib

# Executables
*.exe
*.out

# Libraries
*.dylib

# ----------------
# C# / .NET
# ----------------
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
[Ww][Ii][Nn]32/
[Aa][Rr][Mm]/
[Aa][Rr][Mm]64/
bld/
[Bb]in/
[Oo]bj/
[Ll]og/
[Ll]ogs/

# Visual Studio
.vs/
*.suo
*.user
*.userosscache
*.sln.docstates

# NuGet packages
*.nupkg
*.snupkg
packages/
*.nuget.props
*.nuget.targets

# Test results (.NET)
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*
*.trx
*.coveragexml
coverage*.json
coverage*.xml

# NCrunch
*.ncrunchproject
*.ncrunchsolution
_NCrunch_*

# DotCover
*.dotCover

# BenchmarkDotNet
BenchmarkDotNet.Artifacts/

# Project specific
*.DotSettings.user
launchSettings.json

# ----------------
# Go
# ----------------
*.exe~
*.dll
*.test
go.work
go.work.sum
vendor/
test_output*

# ----------------
# Java
# ----------------
# Maven
target/
pom.xml.tag
pom.xml.releaseBackup
pom.xml.versionsBackup
pom.xml.next
release.properties
dependency-reduced-pom.xml
buildNumber.properties
.mvn/timing.properties
.mvn/wrapper/maven-wrapper.jar

# Compiled files
*.class

# Package files
*.jar
!**/gradle/wrapper/gradle-wrapper.jar
*.war
*.ear
*.zip
*.tar.gz
*.rar

# Eclipse
.classpath
.project
.settings/

# NetBeans
nbproject/private/
nbbuild/
nbdist/
.nb-gradle/

# JVM crash logs
hs_err_pid*
replay_pid*

# Test output (Java)
test-output/
surefire-reports/
failsafe-reports/

# ----------------
# Kotlin
# ----------------
# Gradle
.gradle/

# Kotlin compiled
out/

# ----------------
# Rust
# ----------------
/target/
Cargo.lock
*~

# ----------------
# Swift
# ----------------
# Xcode
*.xcodeproj
*.xcworkspace
xcuserdata/
DerivedData/
*.moved-aside
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
*.hmap
*.ipa
*.dSYM.zip
*.dSYM

# Swift Package Manager
.build/
.swiftpm/
Packages/
Package.resolved
typecast-swift/coverage-summary.txt

# CocoaPods
Pods/

# Carthage
Carthage/Build/
Carthage/Checkouts

# Accio
Dependencies/
.accio/

# fastlane
fastlane/report.xml
fastlane/Preview.html
fastlane/screenshots/**/*.png
fastlane/test_output

# Code Injection
iOSInjectionProject/

# ----------------
# IDE / Editor
# ----------------
.idea/
*.iml
*.ipr
*.iws
.vscode/
*.swp
*.swo
.DS_Store
Thumbs.db
._*
.Spotlight-V100
.Trashes
ehthumbs.db

# Rider
*.sln.iml

# ----------------
# Docker
# ----------------
.docker/

# ----------------
# Logs & Output
# ----------------
logs/
*.log

# Audio output files (in root directories, not source code)
*.wav
*.mp3
# Note: Removed 'output.*' pattern as it incorrectly matches Output.java/Output.cs source files

# ----------------
# Misc
# ----------------
.npmrc
openapi.json
PR.md