*
!tests/
!tests/**
!README.md
!QUICKGUIDE.md
!MILESTONE*.md
!TESTS*.md
!CHANGELOG.md
!AUDIT*.md
!REF*.md
!AUDIT*.json
!LICENSE
!conftest.py
!CONTRIBUTING.md
!CODE_OF_CONDUCT.md
!SECURITY.md
!GOVERNANCE.md
!pyproject.toml
!.importlinter
!Makefile
!docker-compose.test.yml
!lexigram.yaml.example
!scripts
!scripts/**
!.github/
!.github/workflows/
!.github/workflows/**
!*example.yaml

# Lexigram Packages
!lexigram*/
!lexigram*/pyproject.toml
!lexigram*/CHANGELOG.md
!lexigram*/README.md
!lexigram*/alembic.ini
!lexigram*/mypy.ini
!lexigram*/*.yaml.example
!lexigram*/src/
!lexigram*/src/**
!lexigram*/docs/
!lexigram*/docs/**
!lexigram*/tests/
!lexigram*/tests/**

# Keep lexigram docs - this is automatically being parse and use in https://docs.lexigram.dev/ and we want to make sure it is included in the repo
!/docs/
!docs/lexigram-docs/
!docs/lexigram-docs/**

# Re-ignore these AFTER negations (last match wins)
__pycache__/
*.pyc
*.pyo
*.egg-info/
dist/
build/
.eggs/
*.egg
.pytest_cache/
.mypy_cache/
.ruff_cache/
htmlcov/
.coverage
coverage.xml
test.db
!lexigram*/tests/fixtures/test.db
*.log
*.tmp

# Company-specific files (keep private, do not commit)
.company/
COMPANY_*.md
company-config/
internal-docs/
lexigram*/docs/plans/
lexigram*/docs/plans/**
lexigram*/docs/**/
example*/