Collection of useful scripts that I made to automate various tasks.
You can install the scripts using the Makefile:
# Basic installation
make install
# Installation with development tools
make install-dev
# Installation with Rust extensions (better performance)
make install-rust
# Full installation with development tools and Rust extensions
make install-dev-rustAfter installation, you can set up shell aliases and completions:
make setupThis will add aliases to your shell configuration file (.bashrc or .zshrc) and create shell completions for better command-line experience. You'll need to run source ~/.bashrc (or source ~/.zshrc) after setup to apply the changes.
The setup creates aliases for each script, allowing you to call them from anywhere in the terminal:
open <project_key>
cheatsheet <cheatsheet_name>
organize- open: Quickly navigate to your projects with file manager and VS Code
- Register a custom command to run in parallel when opening a project (e.g. spinning up a docker container), via
--add_entry key path --command "..."or--set_command key "..."for an already registered project.
- Register a custom command to run in parallel when opening a project (e.g. spinning up a docker container), via
- cheatsheet: Access your markdown cheatsheets with fuzzy matching
- organize: Command-line utilities for organizing files
If you want to contribute to this project, you can do so by forking the repository and creating a pull request.
You can set up the development environment with:
make install-devThis will install all development dependencies and set up pre-commit hooks.
To run the tests:
make testFor code quality checks:
make lint
make formatFor better performance, you can use the Rust implementation of the fuzzy string matcher:
make install-rustTo verify that the Rust module is properly installed:
make check-rust- Allow the user to add some custom command to the open script (and persist it). For instance, if some project needs to spin up a database docker container, that would be useful.
- Add more comprehensive logging — swapped the bespoke logger for the shared
loggerpackage (also used byclaude-client/claude-web-backup): per-module loggers viaget_logger(__name__), TTY-aware color, and a single size-rotatedlogs/scripts.loginstead of one unbounded file per day. - Implement unit testing — a
tests/suite already exists and runs in CI viamake test(see the Pipeline badge above); currently covers the Rust fuzzy string matcher module. - Add more scripts