scripts/README.md

76 lines
2.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Ayo's Scripts
BASH scripting. Escalated quickly.
## Setup
1\. Clone repo
``` bash
# 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!)
``` bash
$ cp example.conf ~/ayo.conf
```
3\. Install some dependencies
1. [Typora](https://typora.io) - used as an alternative editor for notes (using flag `-t`)
1. `timeout` - install on mac via coreutils: `brew install coreutils`
1. `ollama` - running a locall LLM via ollama. See [installation on linux](https://ollama.com/download/linux)
4\. update your `.bashrc` to add a `yo` alias for the parent command `scripts/ayo.sh`
``` bash
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](./TASK_TEMPLATE.md).
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
1. Create journal entry for the day, or edit if it already exists
1. Access `ollama` LLM with ease
1. Operating System stuff like, update packages, adjust display to some preferences, etc.
## Scripts
1. ayo.sh (`yo`) - parent command, lists all available scripts or accepts parameters
1. journal (j) - creates a new journal entry if it doesnt exist yet; opens on editor
1. append (ja) - append one thought at the end of the day's entry
1. notes - notes management
1. git (g) - args can be list of files to commit & push
1. stat (gs) - git status
1. push (gp) - git push
## Planned
1. blog - tools for blogging (eg, bn - generate blog from a note)
1. config - create configuration for variables (eg, editor, locations)
---
*Just keep scripting. :)*
*A project by [Ayo](https://ayo.ayco.io)*