A simple content-addressable store with tagging support
Find a file
hylodon dd7a1b8970 Purify file operations
Factor out storeFile, unstoreFile, and verifyFile into a MTL
style class. This class can provide its own Id type, and never
returns FilePaths directly, which should allow a memory-only
variant for testing purposes later.

Control of storage ids now belongs to MonadFileStore. It was not
really the place of the data layer (which is currently a set of
SQL queries) to suddenly do one arbitrary file IO operation.
2025-10-11 15:30:04 +01:00
app Add basic autocomplete support 2025-09-22 13:43:57 +01:00
doc/man Add user documentation 2025-09-22 15:18:36 +01:00
src Purify file operations 2025-10-11 15:30:04 +01:00
.gitignore Purify file operations 2025-10-11 15:30:04 +01:00
flake.lock Rough structure of the program 2025-09-12 16:16:51 +01:00
flake.nix Add user documentation 2025-09-22 15:18:36 +01:00
package.yaml Purify file operations 2025-10-11 15:30:04 +01:00
README.md Fix README 2025-09-09 12:23:41 +01:00

ca-store

ca-store is a content-addressable store for your files, be they documents, pictures, videos, or whatever.

Usually when we store files we give them a filename, so that we can refer to its contents. If you are a developer you will probably get a file handle, or if you are working at a really low level you will probably get an inode number. Regardless of what you get, you can use it to access your files later.

A content-addressable store will instead give you an id that depends on the contents of the file itself. This makes it useful for storing large amounts of read only data.