<commit_before># histsync

Cloud Bash History app using python and flask

The app is currently under heavy development

## TODO

### API

Current API supports only adding commands. It is necessary to add support for removing/starring/etc (basically, for everything that's possible from web UI).

### Activity feed in profile

Commands that were added automatically/manually, commands that areyou starred, comments on commands

### /public_commands 

Remove stubs, make buttons actually do something

(?) Different ways of sorting

### Making commands public

Nice workflow for adding commands to public list

### Better client

The client shouldn't send the previous command on startup

So something like zsh's preexec() hook is necessary (or maybe it is possible to detect if $PROMPT_COMMAND is executed after startup)

### FAQ PAGE

### Easy install script

### Easy standalone app <commit_msg>Installation instructions + some more changes to TODO<commit_after># histsync

Cloud Bash History app using python and flask

The app is currently under heavy development

## Using alpha version

To use an alpha version of the app, try this:

1. Go to http://histsync.herokuapp.com/ 
2. Login with github
3. Click "My Profile" in the navbar 
4. Click "Show API key"
5. [Install bash-preexec](https://github.com/rcaloras/bash-preexec)
6. Install histsync-client.py (put it into your ~)
7. Add this to your .bashrc / .bash_profile: 

```
preexec() {
    echo "just typed $1";
    ~/histsync-client.py --api_key <your_api_key> --user <your_username> "$1" >>~/histsync.log 2>&1;
}
``` 

## TODO

### API

Current API supports only adding commands. It is necessary to add support for removing/starring/etc (basically, for everything that's possible from web UI).

### Activity feed in profile

Commands that were added automatically/manually, commands that areyou starred, comments on commands

### /public_commands 

Remove stubs, make buttons actually do something

(?) Different ways of sorting

### Making commands public

Nice workflow for adding commands to public list

### Better client

Better logging

### FAQ PAGE

### Easy install script

Maybe .histsync folder

### Easy standalone app 
{'fraction_non_alphanumeric': 0.0821917808219178, 'fraction_numerical': 0.00502283105022831, 'mean_word_length': 4.305084745762712, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 8, 'https://': 1, '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': '5840900', 'n_tokens_mistral': 631, 'n_tokens_neox': 595, 'n_words': 284}