https://github.com/cablehead/x
CLI swiss army knife
https://github.com/cablehead/x
Last synced: 10 months ago
JSON representation
CLI swiss army knife
- Host: GitHub
- URL: https://github.com/cablehead/x
- Owner: cablehead
- Created: 2021-10-22T18:39:03.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2022-02-16T20:25:26.000Z (over 4 years ago)
- Last Synced: 2025-08-28T16:02:03.006Z (10 months ago)
- Language: Rust
- Size: 109 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
## Snippets
```
x stream -p 7999 merge | x stream -p 8080 http | x log ./http write
```
## Tentative Usage
```
$ x stream broadcast
$ x stream split // TBD
$ x stream merge // currently tcp / merge
$ x stream http // TBD
is tcp:<[host:]port> or unix: // TBD
$ x log ./path write
$ x log ./path read
$ x exec -- ...
```
## Todo
### x log - read
- assert cursor is at a message boundary
- assert cursor isn't passed end of stream
- add utilities to help track cursor:
- at least once, convenience to save the cursor while consuming stdout
- at most once, convenience to run a command, and only advance if the command is successful
### x stream - http
- [ ] log server startup
## To test
### x stream
- [ ] human friendly message when unable to bind to desired port
- [ ] `x --port 2000 merge | x --port 2001 spread` works OK
### x stream - http
- [ ] response isn't valid JSON
- [ ] `request_id` isn't pending
- [ ] success
- [ ] should see log response for each of the above