Shakti is a bunch of command line scripts that I personally use to code faster.
It includes things like:
- Automatically run black/prettier before doing git add
- Get git commit messages from AI
- Select a command from curated list and execute (with option to edit)
- List all the commands in the curated list And more...
s git add -u
s git add .s git messageWhenever coding, I change a lot of files. When I want to see the diff, I want to see it for the relevant files.
Therefore, I created a .gitdiffignore file which contains the list of files that I want to ignore when doing git diff.
If you use s git diff, it will use .gitdiffignore to show the diff only for the relevant files (ignoring files within .gitdiffignore).
s git diffThis one also ignores the files within .gitdiffignore
s git difftools cmd list-evals cmd listpoetry add pyinstall --group devVENV_PATH=$(poetry env info --path)
export PATH="$VENV_PATH/bin:$PATH"
source ~/.bashrc # For Bash
source ~/.zshrc # For Zsh
which shaktiHow to install pre-commit hooks
pre-commit installHow to manually run pre-commit hooks
pre-commit run --all-files{ echo "Give commit message for the following changes, follow Conventional Commit guidelines. \n\nHere are examples of couple of commit messages for your reference: \nExample one and two:\n" ; git --no-pager log -2 --pretty=format:"%B"; echo "\n\nAnd now here are the diffs: "; git --no-pager diff --staged } | aichatSet git difftool to use cursor
git config --global diff.tool cursor
git config --global difftool.cursor.cmd 'cursor --wait --diff $LOCAL $REMOTE'Verify if cursor is set as difftool
git config --global --get diff.tool
# Should output: cursor
git config --global --get difftool.cursor.cmd
# Should output: cursor --wait --diff $LOCAL $REMOTE- Add support for AI to choose the directory to create a file in.
- Based on file name
- Based on the current directory structure
- Based on file description
- Add support for AI to choose to re-organize the directory structure
poetry update shakti