# Copyright (c) 2026 Wenbing Jing. MIT License.
# SPDX-License-Identifier: MIT

# Python
__pycache__/
*.pyc
*.egg-info/
.venv/
venv/
.pytest_cache/
.mypy_cache/
.coverage

# Node / Frontend
node_modules/
dist/
!src-ui/dist/.gitkeep
src-ui/bun.lock

# Rust / Tauri
target/

# IDE
.vscode/
.idea/
*.swp
*.swo

# OS
.DS_Store
Thumbs.db

# Generated graph data (local paths — DO NOT commit)
hologram_graph.hologram
hologram_graph_files.json
*.hologram

# Binaries
*.dll
!grammars/*.dll
!src-tauri/onnxruntime.dll
*.exe
!release-bin/*.exe
# 捆绑的 MSYS2 工具集（shell-stability，随仓库分发的钉死版 shell）
!src-tauri/vendor/msys2/bin/**
*.pdb
*.so
*.dylib

# Embedding model binary (90MB) — user downloads locally
src-tauri/models/**/*.onnx

# ONNX Runtime DLL — bundled for Tauri resources
# ponytail: ! rule above allows this specific path

# Test projects
test_projects/

# Project-local runtime data (generated per project)
.hologram/
.zcode/
*.db
.last_project
hologram_graph.json
graph_snapshot.json
hologram_before.json
hologram_full.json
chat_sessions.json

# Environment / secrets
.env
.env.*
!.env.example

# Claude Code IDE
.claude/

# Root-level artifacts (real package.json is in src-ui/)
/package.json
/package-lock.json

# One-off debug scripts / logs
test_debug.py
debug-*.log
prototype.html
prototype-permission.html
prototype/

# Developer local chat panel residuals — DO NOT commit
*_old_chat.*
*hologramtmp*
D:*

# Demo / prototype files
*demo*.html
*prototype*.html
gen_files_graph.py
preflight/

# ── Project docs (markdown specs, plans, guides) ──
docs_archive/
specs/

# ── 开发文档分级 ──
# 以下文档两台设备 + AI 工具都需要，已解除忽略（纳入版本管理）：
#   CONVENTIONS.md / INVARIANTS.md / AGENTS.md / CLAUDE.md
#   docs/  （plans、agents、specs、status — 整个目录）
#   GRAPH_DRIVEN_SEARCH_DESIGN.md  COMMUNICATION_LAYER_DESIGN.md
#   HANDOFF_*.md  （设备间交接文档，双机开发刚需）
# 新增开发文档请优先放 docs/ 下，自动纳入同步。

# Proma 对比分析 — 本地参考，不公开
PROMA_GAP_ANALYSIS.md

# Internal design notes — historical one-offs, keep local
CODE_OF_CONDUCT.md
REACT_MIGRATION.md
INCREMENTAL-GRAPH-UPDATE.md
BUGS.md
PROJECT.md
ARCHITECTURE_PLAN.md
COMPARISON_REPORT.md
CSS_MIGRATION.md
STARGRAPH_SPEC.md
CODE_AUDIT_CHECKLIST.md
FRONTEND_AUDIT_CHECKLIST.md
V4_CONSTRUCTION_PLAN.md
GRAPH_ALGORITHMS.md
LOG_SYSTEM_PLAN.md
SPEC_AGENT_PANEL_UPGRADE.md
FIX-*.md
AGENT_MEMORY_SYSTEM.txt
.mcp.json.bak

# Plagiarism evidence / scratch — keep local, never public
PLAGIARISM_EVIDENCE.md
plan.md

# Dev logs accidentally committed before — untracked, do not re-add
tauri_dev_*.txt
warnings.txt

# Local AI tool memory / log snapshots — machine-specific, don't sync
CODELY.md
mem-log/

# Windows reserved device name — accidental creation by tools redirecting output
nul

# SonarQube scanner working directory
.scannerwork/

# Tauri signing keys (private key = secret, public key = in tauri.conf.json)
src-tauri/key
src-tauri/key.pub

# Tauri auto-generated schemas
src-tauri/gen/schemas/

# Build log / debug output
*_warnings.txt
*_check.txt

# Daily progress reports (auto-generated, don't commit)
scripts/daily-report/report-*.md

# Grammar build artifacts
grammars/build/

# Temp / stress / debug
engine/tmplinux-stress/
test-results/
_check_debug.log
test_mcp_protocol.sh

# Embedded Python runtime
src-tauri/python/*
!src-tauri/python/.gitkeep
scripts/python-3.14.4-embed-amd64.zip
.mcp.json
.cursor/
.codely-cli/

# Engine binaries
engine-bin/

# WorkBuddy local memory (never commit)
.workbuddy/

# Reasonix local agent state (never commit)
.reasonix/

# Agent Core Convergence 测试 specs 是代码不是文档（上方 specs/ 为历史 markdown 文档目录而设）
!src-ui/tests/convergence/specs/
