···11+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.
22+33+The configuration file specifies:
44+- the location of a git store
55+- 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
66+- 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
77+88+The Git data store should:
99+- have a subdirectory per user
1010+- 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.
1111+- within each entry file, the metadata of the Atom feed converted into a JSON format that preserves as much metadata as possible.
1212+- 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
1313+The CLI should be modern and use cool progress bars and any otfrom ecosystem libraries.
1414+1515+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.