<commit_before># Plugin Architecture 


<commit_msg>Added documentation on proposed plugin architecture<commit_after># Plugin Architecture 

Proposed architecture 

A plugin consists of a single jar that holds all the dependencies of the plugin (less 
dependencies included in CLAVIN itself)

Should be able to build against multiple version of CLAVIN (1.1, 1.0 etc)

Jar is cryptographically signed. 

Plugins reside in home directory under .clavin 

For an Apple, this would be ~/.clavin/plugins

Plugins will use semantic versioning. 





{'fraction_non_alphanumeric': 0.042435424354243544, 'fraction_numerical': 0.007380073800738007, 'mean_word_length': 4.484848484848484, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '709126', 'n_tokens_mistral': 159, 'n_tokens_neox': 135, 'n_words': 70}