A simple content-addressable store with tagging support
Find a file
hylodon c504f85a2d Rough structure of the program
ca-store is planned to work as follows:
1) A monad (currently IO) will generate the configuration, read the command
   line, parse the config files, and create the environment the program
   should run in.
2) This environment will be passed to the main monad (currently Program)
   to do the work.

Currently everything will be directly coded with little to no abstraction.
Once ca-store is up and running, we will begin regaining purity by pulling
major features into small testable units.
2025-09-12 16:16:51 +01:00
app Rough structure of the program 2025-09-12 16:16:51 +01:00
src Rough structure of the program 2025-09-12 16:16:51 +01:00
.gitignore Rough structure of the program 2025-09-12 16:16:51 +01:00
flake.lock Rough structure of the program 2025-09-12 16:16:51 +01:00
flake.nix Rough structure of the program 2025-09-12 16:16:51 +01:00
package.yaml Rough structure of the program 2025-09-12 16:16:51 +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.