# Prerequisites
*.d

# Compiled Object files
*.slo
*.lo
*.o
*.obj

# Precompiled Headers
*.gch
*.pch

# Compiled Dynamic libraries
*.so
*.dylib
*.dll

# Fortran module files
*.mod
*.smod

# Compiled Static libraries
*.lai
*.la
*.a
*.lib

# Executables
*.exe
*.out
*.app

# python virtual env
env/
.venv/

# temp directory for cmake builds
build/

# ctest scratch, written into the cwd when ctest runs from the repo root.
# Anchored: a nested Testing/ elsewhere in the tree is real source.
/Testing/

# pyarmor license registration zip (required for release generation)
generate_release/fabric_studio/dependencies/pyarmor-regfile-4186.zip

# temp directories for release generation and cmake builds
/release_scratch/
/release/
/generated_rtl/
/generated_perfapi/
/sdc/
/traces/
/build_lib_perfapi/
/lib_perfapi/
/systemc_prefix/
/arm_tlm_prefix/
dist/
*.whl

# temp directories for python builds
__pycache__/
.pytest_cache/
.hypothesis/
*.egg-info/
*.pyc

# jupyter notebooks and jupyter lab
.ipynb_checkpoints/
.jupyter/


# run area for hw tests
run_area/

# sw generated sv, fl, trace, json, dot, xml, svh, sdc files, zip
src/sw/**/*.sv
# ...but hand-written SV test fixtures are tracked
!src/sw/python/tests/data/**/*.sv
src/sw/**/*.sdc
src/sw/**/*.svh
src/sw/**/*.fl
src/sw/**/*.xml
src/sw/**/trace.txt
src/sw/**/trm/
src/sw/**/noc_datasheet/
src/sw/python/**/trace
src/sw/python/**/meta
src/sw/python/.hypothesis/
src/sw/python/designs/SW_simulator_trace.txt
src/sw/python/jupyter_notebooks/*.json
src/sw/python/**/generated_rtl/
src/sw/python/**/generated_perfapi/
src/sw/python/**/traces/*
src/sw/python/designs/**/trace/**/*.txt
src/sw/python/designs/**/meta/*.txt
src/sw/python/designs/**/meta/*.xml
src/sw/python/designs/**/meta/*.json
src/sw/python/designs/tt_ring.json
src/sw/python/jupyter_notebooks/interconnect_string.txt
src/sw/python/jupyter_notebooks/mesh_sweep.csv
routs_src*.csv

# randomly generated vps configs
src/hw/configs/vps_random/**/*.sv
src/hw/configs/vps_random/**/*.fl
src/hw/configs/vps_random/**/*.txt

### VisualStudioCode ###
.vscode/**/*      # Maybe .vscode/**/* instead - see comments
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json

### MacOS
.DS_Store

### Generated outputs
*.numbers
*.xlsx
*.log
*.prof
sim_output.txt
*output*
src/sw/python/jupyter_notebooks/tt_ring.json
src/sw/python/jupyter_notebooks/**/*.txt
*.dot
docs/out/
api_trace*
sim_log*.txt
sim_events.json
replay_events.json

# FabricStudio GUI — generated outputs
gui/designs/index.json
gui/designs/*.elab.json
gui/designs/*.sim_*.json
gui/output/

# Include xls files in the customer directory
!customer/**/*.xls*
customer/**/~*.xls*

# Ctags for Verilog auti-browse
tags

# Random testcases
random_test


generate_release/fabric_studio/dependencies/pyarmor-regfile-4186.zip
release_wheel_temp/

# temporary PID file created when building bindings to ensure we don't run multiple builds at once
build_bindings.pid

# temp copy of assets for frontend testing in CacheSim
src/sw/cachesim_py/Notebooks/assets
generate_release/cachesim/release_dir/jupyter_notebooks/assets
generate_release/cachesim/dependencies/pyarmor-regfile-4186.zip

# sphinx
src/sw/python/docs/_build
src/sw/python/_build
src/sw/cachesim_py/docs/_build

src/sw/python/designs/img

cache/
Arch/oft_home*
report.html
report.xml

# flopgen accuracy/error reports (diagnostic artifacts of `just rebuild_flops` /
# `just report_datapoints`)
flopgen_report*/

# ipxact schemas
src/sw/python/fabric_studio/data_models/sv/ipxact_schemas/

# clangd cache
.cache/clangd

# claude superpowers plugin markdowns
docs/superpowers/

# architecture decision records (local only — not for the company repo)
docs/adr/

# domain-context notes (local scratch — durable facts live in CLAUDE.md)
CONTEXT.md

# claude code local settings (per-user, not shared) -- at every level
**/.claude/settings.json

# mempalace (claude code plugin) generated files
entities.json
mempalace.yaml

# git worktrees (per-user, not shared)
.claude/worktrees/
# git worktrees + venvs built by coverage/collect.py for historical FS versions
/fs-worktrees/
# worktrees + venvs built by setup_alt_venv.py (just setup-alt-venv <ref>)
/.alt-venv-worktrees/
/.venv-*
# uv cache, only when setup_sw_env.py cannot place it beside the clone
/.uv-cache/
# coverage collector --dryrun / baseline_dryrun.sh output (per-user, not shared)
coverage_dryrun/

# local secrets — never commit
.env

# local ruff settings
.ruff.toml

# FabricStudio SaaS per-server config + secrets (never commit)
gui/saas_poc/setup/saas_config.env
saas_secrets/
gui/saas_poc/local/smtp.env
