https://github.com/ryanwebber/u
Create, invoke, and manage shell scripts.
https://github.com/ryanwebber/u
Last synced: 5 months ago
JSON representation
Create, invoke, and manage shell scripts.
- Host: GitHub
- URL: https://github.com/ryanwebber/u
- Owner: ryanwebber
- Created: 2025-02-20T19:06:01.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-04T17:52:18.000Z (about 1 year ago)
- Last Synced: 2025-04-04T18:35:24.271Z (about 1 year ago)
- Language: Python
- Size: 16.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# u
[](https://github.com/ryanwebber/u/actions/workflows/rust.yml)
A simple script manager and runner.
## Features
- Create, manage, and run scripts
- Customizable templates
- Entirely source control compatible
- Hackable and extendable
## Dependencies
- Python 3.11+
## Getting Started
```bash
u scripts/new --template bash examples/hello-world
u scripts/list
u examples/hello-world
u scripts/delete hello-world
```
## Design
The compiled binary embeds a tarball containing some basic scripts to create and manage user scripts, along with some basic templates. At first launch, this tarball is extracted to a config folder in the users home directory. Subsequently, the binary simply passes the arguments to a python-based script runner that lives in this config directory.
This allows for the entire script configuration directory to be source controlled, including the script runner, templates, and the user scripts themselves.
A manifest file is used to track all scripts and templates and can easily be modified by hand.