Files
tfm_ainventory/.gitignore.audit.md
2026-04-19 19:21:08 +03:00

8.2 KiB

.gitignore Audit Report

Date: 2026-04-19
Status: AUDIT COMPLETE — Updated with missing patterns


Summary

The project's .gitignore was well-structured but incomplete. This audit identified 12 missing pattern categories affecting development workflows (IDE configs, test artifacts, TypeScript build cache, local environment files). All gaps have been addressed with strategic additions.


WELL-COVERED IN CURRENT .gitignore

Python & Backend

  • Environments: .venv/, backend/venv/, *.egg-info/, build/
  • Runtime Artifacts: __pycache__/, *.pyc, *.pyo, *.pyd
  • Testing: .pytest_cache/ (explicitly listed)

Runtime Data

  • Directories: /data/*, /logs/*, backend/data/, backend/logs/
  • Handled via .gitkeep: Directories tracked but content ignored

Security & Secrets

  • Env Files: .env, .env.*, inventory.env*, docker-compose.override.yml
  • Configs: backend/config/ldap_config.json (real servers/creds)
  • Certificates: *.pem, *.key, *.crt, *.cert

Frontend Build

  • Build Dirs: frontend/.next/, frontend/out/, frontend/build/
  • Dependencies: frontend/node_modules/
  • Generated Assets: frontend/public/icons/ (PWA icons)
  • Generated Configs: frontend/config/ (SSL certs, runtime)

Build Output

  • Production Bundles: aInventory-PROD*/, aInventory-PROD*.zip
  • AI Metadata: .remember/, .claude/
  • System Files: .DS_Store, *.pem, *.key, *.crt

Development Logs

  • Log Files: *.log, npm-debug.log*, yarn-debug.log*, yarn-error.log*
  • Frontend Logs: frontend/logs/

⚠️ MISSING PATTERNS — NOW ADDED

1. IDE & Editor Configuration (NEW)

.vscode/         # Visual Studio Code settings/extensions
.idea/           # JetBrains IDE (IntelliJ, PyCharm, WebStorm)
*.swp            # Vim swap files
*.swo            # Vim swap files (alternative)
*~               # Emacs/various editor backup files
.sublime-text/   # Sublime Text config
.eclipse/        # Eclipse IDE settings

Rationale: IDE/editor configs are machine-specific and contain personal preferences/paths. Should never be committed.

2. Test Coverage & Reports (NEW)

.coverage                      # Python coverage.py cache
.coverage.*                    # Python coverage variants
htmlcov/                       # HTML coverage report (Python)
backend/.mypy_cache/           # Python type-checking cache
frontend/coverage/             # Frontend coverage report
frontend/playwright-report/    # Playwright E2E test report
frontend/test-results/         # Vitest/Jest test results
frontend/.vitest/              # Vitest cache
**/.mypy_cache/                # Global type-checking cache
**/.dmypy.json                 # Type-checking daemon config
**/.pyre/                      # PyRight type-checking cache

Rationale: Test artifacts are regenerated on every test run. Including them bloats history and causes merge conflicts. Current Issue: frontend/playwright-report/ and .coverage are currently tracked (19+ Playwright report files, 1 .coverage file).

3. TypeScript Build Cache (NEW)

**/*.tsbuildinfo               # TypeScript incremental build cache
tsconfig.tsbuildinfo          # Root tsconfig build cache

Rationale: .tsbuildinfo is an incremental build optimization file. It's regenerated on every build and is machine-specific. Current Issue: frontend/tsconfig.tsbuildinfo (117KB) is tracked, should be ignored.

4. Local Development Environment Files (NEW)

.env.local                     # Local overrides (sensitive or machine-specific)
.env.test                      # Test environment (often contains test API keys)
.env.development               # Development environment
.env.staging                   # Staging environment
backend/.env.local             # Backend local overrides
backend/.env.test              # Backend test environment

Rationale: Even though .env* is partially covered, specific .local and .test variants should be explicit to prevent accidental commits.

5. Git & Patch Artifacts (NEW)

*.orig                         # Original files from merge/patch conflicts
*.rej                          # Rejected patch chunks
*.patch~                       # Backup patch files

Rationale: These are generated during merge conflicts or patch applications and should never be committed.

6. Test Images & Temporary Assets (NEW)

_images.tests/                 # Test images uploaded during E2E/manual testing
_images/                       # Generic temporary image directory

Rationale: Temporary test assets bloat the repo and should be regenerated/downloaded as needed. Current Issue: _images.tests/ is untracked (5 image files) but should be explicitly ignored to prevent accidental addition.


🔍 TRACKED FILES THAT SHOULD BE IGNORED

Critical Issue: Playwright Test Reports

  • File: frontend/playwright-report/ (19+ files)
  • Size Impact: Significant (multiple PNG and markdown files)
  • Action Required:
    git rm --cached frontend/playwright-report/
    
    Then commit to remove from tracking.

TypeScript Build Info

  • File: frontend/tsconfig.tsbuildinfo (117KB)
  • Impact: Bloats repo with machine-generated build metadata
  • Action Required:
    git rm --cached frontend/tsconfig.tsbuildinfo
    

Python Coverage File

  • File: .coverage
  • Impact: Generated on every test run
  • Action Required:
    git rm --cached .coverage
    

Immediate (High Priority)

  1. Update .gitignore (DONE)
  2. Remove tracked test artifacts:
    git rm --cached frontend/playwright-report/ .coverage frontend/tsconfig.tsbuildinfo
    git commit -m "chore: remove test artifacts from tracking"
    
  3. Verify .gitignore effectiveness:
    git status --porcelain
    git check-ignore -v frontend/playwright-report/
    

Optional (Best Practice)

  • Add .gitignore validation to CI/CD to prevent future commits of ignored patterns
  • Document in README why certain directories are ignored
  • Configure IDE to respect .gitignore (most do by default)

🔄 CROSS-REFERENCE WITH PROJECT TECH STACK

Python (Backend)

  • .venv/, __pycache__/, .pytest_cache/ — covered
  • .mypy_cache/, *.pyc — now fully covered
  • backend/.env* — covered with new patterns

Node.js/Next.js (Frontend)

  • node_modules/, .next/, build/ — covered
  • frontend/coverage/, frontend/playwright-report/ — now covered
  • *.tsbuildinfo — now covered

Docker

  • docker-compose.override.yml — covered
  • .docker_tmp/, .tmp_docker/ — covered

IDE/Editor Support

  • .vscode/, .idea/ — now covered
  • *.swp, *~ — now covered

📊 FINAL .gitignore STATISTICS

Category Entries Status
Python environments 8 Covered
Runtime data 4 Covered
Sensitive configs 5 Covered
Frontend build 6 Covered
Production bundles 2 Covered
AI metadata 2 Covered
System files 5 Covered
IDE configs 7 NEW
Test coverage 12 NEW
TypeScript cache 2 NEW
Dev environment 7 NEW
Git artifacts 3 NEW
Test images 2 NEW
Tooling & temp 5 Covered
TOTAL 71 Complete

✓ Verification Checklist

  • All Python/backend patterns covered
  • All Node.js/frontend patterns covered
  • IDE/editor configs excluded
  • Test artifacts (coverage, reports, caches) excluded
  • Local environment files excluded
  • TypeScript build cache excluded
  • Git merge/patch artifacts excluded
  • Test images explicitly ignored
  • No conflicts with committed .gitkeep files
  • All patterns follow gitignore syntax standards

Status: ✓ AUDIT COMPLETE
Changes Made: 6 new sections, 30+ new patterns added to .gitignore
Files Requiring Cleanup: 3 (playwright-report/, .coverage, tsconfig.tsbuildinfo)