Manage Atom feeds in a persistent git repository

begin

Changed files
+15
+15
CLAUDE.md
···
+
My goal is to build a CLI tool called thicket in Python that maintains a Git repository within which Atom feeds can be persisted, including their contents.
+
+
The configuration file specifies:
+
- the location of a git store
+
- a list of usernames and target Atom/RSS feed(s) and optional metadata about the username such as their email, homepage, icon and display name
+
- a cache directory to store temporary results such as feed downloads and their last modification date that speed up operations across runs of the tool
+
+
The Git data store should:
+
- have a subdirectory per user
+
- within that directory, an entry per Atom entry indexed by the Atom id for that entry. The id should be sanitised consistently to be a safe filename. RSS feed should be normalized to Atom before storing it.
+
- within each entry file, the metadata of the Atom feed converted into a JSON format that preserves as much metadata as possible.
+
- have a JSON file in the Git repository that indexes the users, their associated directories within the Git repository, and any other metadata about that user from the config file
+
The CLI should be modern and use cool progress bars and any otfrom ecosystem libraries.
+
+
The intention behind the Git repository is that it can be queried by other websites in order to build a webblog structure of comments that link to other blogs.