# SmartAntivirus Project Overview ## Purpose SmartAntivirus (@push.rocks/smartantivirus) is a Node.js/TypeScript library that provides enterprise-grade antivirus scanning capabilities by integrating with ClamAV. It allows developers to scan files, buffers, strings, and streams for viruses in their applications. ## Tech Stack - TypeScript (primary language) - Node.js (runtime) - ClamAV (antivirus engine) - Docker (for containerized ClamAV deployment) - Testing: @git.zone/tstest with @push.rocks/tapbundle - Build: @git.zone/tsbuild ## Architecture - **ClamAvService**: High-level interface for virus scanning operations - Scan strings, buffers, Node.js streams, and Web Streams - Auto-manages Docker container if needed - Connects to ClamAV daemon on port 3310 - **ClamAVManager**: Low-level Docker container management - Handles container lifecycle (start/stop) - Updates virus definitions - Provides log monitoring ## Key Features - In-memory scanning without disk I/O - Stream processing for large files - TypeScript-first with full type safety - Zero-config with sensible defaults - Auto-updating virus definitions - Docker-based or direct daemon connection