# CLAUDE.md This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. ## Project Overview This is a CLI tool called "collect" that recursively collects files matching specific criteria, maintains their file structure, and archives them for backup purposes. ## Project Status The collect CLI tool has been implemented with the following features: - Multiple `--name` flags for exact filename matching - Multiple `--match` flags for directory pattern matching - Support for combining `--name` and `--match` flags with OR logic - Preserving original directory structure in the output - Creating archives in tar.gz or zip format ## Implementation Notes The tool accepts: 1. Multiple `--name` and `--match` flags in any combination 2. Two positional arguments: source directory and output archive path 3. Archive format determined by output file extension (.tgz/.tar.gz or .zip) 4. Recursive directory traversal while preserving original structure ## Code Quality Before committing changes, run these official Go tools: - `go fmt ./...` - Format all Go files to standard style - `go vet ./...` - Check for common mistakes and suspicious code - `go test ./...` - Run unit tests (when available) - `./test.sh` - Run integration tests