Git Product home page Git Product logo

automations's Introduction

EasyModularScripts

makes unix workflow faster

easily add scripts/modules

Modules included

quick LLM tools

  • ask {prompt} : make gpt4o output an answer in as few chars as possible
  • runit : runs the previous ask output as a command in the current working dir

image

speed up coding w LLMs

multicoder

Multicoder allows you to quickly create/edit multi-file projects with LLMs, all inside your terminal

It has (simple) local version control and frictionless commands to manage the state (for backups and managing multiple generations)

image

It also has cost tracking so you know how much you're spending

image

It creates a workspace for each project, and stores all progress in there, rather than in memory, so you can easily pickup where you left off on multiple projects.

(use mcb for beta - currently uses diffs instead of writing out full files)

  • mc get [generation count] [glob match pattern] [-r] : Have an LLM produce [response generation number] instances of changes to your project. Opens an nvim buffer where you type in your prompt (instructions OR paste an error in) (i to start typing, esc->:wq to save and submit). A system prompt, along with any files matching the glob pattern (-r for recursive) are automatically sent off with your prompt.

image

  • mc write list : Shows available LLM completions you can write

  • mc write [n] : Automatically creates/updates all files from an LLM completion image

  • mc ignore 'pattern' : Always ignores files with this pattern (for this workspace). Config is in .mcoder-workspace/.mcignore.

  • mc rmignore 'pattern' : Removes pattern from .mcignore.

  • mc lsignores : Lists all patterns in .mcignore.

image

  • mc undo : Undoes writing a completion
  • mc rollback : rolls back to a previous version (may break bc i havent tested it enough)
  • mc backup : backs up the current dir to a .zip file in the workspace folder (may break, seemed to work ok but needs more thorough testing)

the idea is that you can use some of the ideas in this paper https://eureka-research.github.io/ to exponentially increase the odds of generating what you want.

additionally, LLMs are good at generating complex programs if you get there one step at a time. this program helps automate most of the friction in doing that.

to set it up, rename .env-example to .env and add relevant API keys in

old

  • gmfp [filename pattern match] : Get Multi-File Prompt turns multiple files into a prompt and auto copies to clipboard. e.g. gmfp * turns all files in cwd into 1 prompt
  • gcb [n]: Get Code Block gets the nth code block of a prompt in the clipboard. Default n is -1 (last codeblock)
  • mkfiles [folder]: If the clipboard contains an LLM response w multiple files, it creates them all, including dirs

productivity stuff

  • togglesite [domain or alias] : blocks or unblocks a site in /etc/hosts, then restarts necessary services image

maintenance

  • update-aliases : updates aliases to modules. use after adding a new module. must manualy run python3 update-aliases.py on setup before you can use this.

media stuff

  • videdit : opens a simple video editor that cuts segments out of your videos. run it and go to http://127.0.0.1:5000. image

  • zipmedia [media1.format] [media2.format] [output file name.output_format] : returns a side-by-side of media1 and media2. works with video, images, or a combination of both. pads to the longest vid. requires ffmpeg.

image image

out2 out out3

Setup

  1. git clone this into your favorite location for scripts
  2. run python3 update-all.py to add aliases to bashrc
  3. rename the .env-example in ./ask-app to .env and put your openai key in there
  4. run pip install -r requirements.txt to install requirements
  5. install ffmpeg

Adding your own

  1. write the code
  2. add an alias in alias_config.py
  3. run python3 update-all.py to update/add new aliases in bashrc

automations's People

Contributors

andrew-pynch avatar dnbt777 avatar

Stargazers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.