# FUSE temporary files (created by filesystem-in-userspace on some Linux systems)
.fuse_hidden*

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


# Virtual environments
venv/
ENV/
env/
.venv
.venv*/
.uv-tools/
.pytest_cache

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

# Project specific
*.log
.env
.env.local
.codex/
.claudeignore
# Personal pyproject overrides for cross-package dev (Pattern B in
# docs/development/local-overrides.md). Never committed.
pyproject.local.toml
*.lock
# uv.lock is the canonical lockfile for spec-kitty-cli (NFR-005 of mission
# shared-package-boundary-cutover-01KQ22DS); track it explicitly.
!uv.lock
.worktrees/
.kittify/.dashboard
.kittify/active-mission
.kittify/missions/
.kittify/scripts/
.kittify/runtime/
.kittify/derived/
.kittify/events/
.kittify/dossiers/
.kittify/workspaces/
.kittify/merge-state.json
.kittify/.migration-backup/
kitty-specs/**/.kittify/config.yaml
kitty-specs/**/.kittify/dossiers/

# Dossier snapshots are mutable derived artifacts; recomputable from dossier source.
# See kitty-specs/charter-e2e-827-followups-01KQAJA0/contracts/dossier-snapshot-ownership.md
.kittify/dossiers/*/snapshot-latest.json
kitty-specs/*/.kittify/dossiers/*/snapshot-latest.json
.kittify/charter/context-state.json
.kittify/charter/directives.yaml
.kittify/charter/provenance/
.kittify/charter/synthesis-manifest.yaml
.kittify/doctrine/

# Generated glossary entity pages — never commit
.kittify/charter/compiled/glossary/

# Local-only working notes / mission drafts (already-tracked files remain tracked)
/work/
.kittify/charter/governance.yaml
.kittify/charter/metadata.yaml
.kittify/charter/references.yaml
.kittify/.scratch
node_modules/

# Spec Kit-specific files
.genreleases/
*.zip
sdd-*/

# Added by Spec Kitty CLI (auto-managed)
.claude/
.agents/
.agents
.opencode/
.windsurf/
.gemini/
.cursor/
.qwen/
.kilocode/
.augment/
.github/*
!.github/workflows/
!.github/workflows/*.yml
!.github/PULL_REQUEST_TEMPLATE.md
.roo/
.amazonq/
.pytest_cache/
# Note: kitty-specs/ is tracked in main repo but ignored in worktrees via .git/info/exclude
# Test-fixture missions generated by CLI/E2E test runs (never commit)
kitty-specs/test-feature-*
kitty-specs/*-123-test-feature
.github/copilot/

# User-managed glossaries (optional)
.kittify/glossaries/team_domain.yaml
.kittify/glossaries/audience_domain.yaml
.kittify/glossaries/mission_local.yaml

# Keep spec_kitty_core.yaml tracked (canonical terms)
!.kittify/glossaries/spec_kitty_core.yaml
doctrine_ref
/work/

# Mutation testing
mutmut.db
mutmut-cache/
.mutmut-cache
mutants/

# CI report outputs
.coverage
out/reports/**
!out/reports/
!out/reports/.gitkeep
!out/reports/xunit-reports/
!out/reports/xunit-reports/.gitkeep
!out/reports/coverage/
!out/reports/coverage/.gitkeep
!out/reports/static-analysis/
!out/reports/static-analysis/.gitkeep

src/doctrine/curation/imports/**
!src/doctrine/curation/imports/.gitkeep
!src/doctrine/curation/imports/**/
!src/doctrine/curation/imports/**/*.yaml
!src/doctrine/curation/imports/**/*.yml

work
out
.nvimlog

tmp/**
!tmp/.gitkeep
pytest-of-*/
.kittify/missions/__pycache__/
.spec-kitty/
.agent/

# CycloneDX SBOM + audit artifacts are generated by the release workflow.
*.cdx.json
.kittify/ticket-context.md
.kittify/pending-origin.yaml
.kittify/mission-brief.md
.kittify/brief-source.yaml
