| .husky | ||
| .gitignore | ||
| ai.sh | ||
| ayo.sh | ||
| conf.sh | ||
| cozy.sh | ||
| display.sh | ||
| example.conf | ||
| expose-ollama.md | ||
| functions.sh | ||
| git.sh | ||
| journal.sh | ||
| mail.sh | ||
| notes.sh | ||
| ollama-install.sh | ||
| package.json | ||
| pnpm-lock.yaml | ||
| README.md | ||
| TASK_TEMPLATE.md | ||
| tasks | ||
| tts.sh | ||
| up.sh | ||
Ayo's Scripts
BASH scripting. Escalated quickly.
Setup
1. Clone repo
# By default this should be inside ~/Projects/ directory
# otherwise, you have to update the config in the next step
$ git clone git@git.sr.ht:~ayoayco/scripts
$ cd scripts
2. Copy config (and update values as needed!)
$ cp example.conf ~/ayo.conf
3. Install some dependencies
- Typora - used as an alternative editor for notes (using flag
-t) timeout- install on mac via coreutils:brew install coreutilsollama- running a locall LLM via ollama. See installation on linux
4. update your .bashrc to add a yo alias for the parent command scripts/ayo.sh
alias yo='~/Projects/scripts/ayo.sh'
Tasks
The tasks app uses a tasks_dir variable in the configuration file. It looks for plain text files that follows the template.
The tasks text files need to be in one of the status directories: backlog, next, in-progress, or done.
After setting the tasks_dir variable in the configuration file ayo.conf and an alias to ayo.sh with yo in your .bashrc file, you can run the app with yo tasks.
Beyond the interactive TUI, tasks also has headless subcommands for scripting: list, show, new, and move (run yo tasks help for the full usage).
Examples
To ask the AI a question
yo ai "Why is the sky blue?"
If I want to use the journal script, I can use the shortcut j. The following will create a new file for the current day if it doesn't exist yet, otherwise it open an editor to the existing entry
yo j
Features
- Create journal entry for the day, or edit if it already exists
- Access
ollamaLLM with ease - Operating System stuff like, update packages, adjust display to some preferences, etc.
Scripts
- ayo.sh (
yo) - parent command, lists all available scripts or accepts parameters - journal (j) - creates a new journal entry if it doesn’t exist yet; opens on editor
- append (ja) - append one thought at the end of the day's entry
- notes - notes management
- git (g) - args can be list of files to commit & push
- stat (gs) - git status
- push (gp) - git push
Planned
- blog - tools for blogging (eg, bn - generate blog from a note)
- config - create configuration for variables (eg, editor, locations)
Just keep scripting. :) A project by Ayo