Files
smartantivirus/.serena/memories/project_overview.md

31 lines
1.2 KiB
Markdown

# 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