- Blob: Stores file content
- Tree: Represents directory structure with file references
- Commit: Snapshot with tree reference, parent, author, and message
- Objects are stored in .vcs/objects/using SHA-1 hashing
- Files are compressed with zlib
- Directory structure: .vcs/objects/ab/cdef123...(first 2 chars as subdirectory)
- Content-addressable: identical content produces identical hash
- Go 1.21 or higher
