https://github.com/bios-marcel/spoon
Fast `scoop search`, (WIP) full scoop replacement and tab completion
https://github.com/bios-marcel/spoon
fast-search package-manager scoop scoop-search scoop-tools search windows
Last synced: 8 days ago
JSON representation
Fast `scoop search`, (WIP) full scoop replacement and tab completion
- Host: GitHub
- URL: https://github.com/bios-marcel/spoon
- Owner: Bios-Marcel
- License: bsd-3-clause
- Created: 2023-10-07T22:05:09.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-07-20T11:04:03.000Z (10 months ago)
- Last Synced: 2024-07-20T12:23:17.595Z (10 months ago)
- Topics: fast-search, package-manager, scoop, scoop-search, scoop-tools, search, windows
- Language: Go
- Homepage:
- Size: 209 KB
- Stars: 5
- Watchers: 2
- Forks: 1
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Spoon
A wrapper around `scoop`, aiming to be a full drop-in replacement, but still
relying on the existing community work in form of buckets.## Highlighted Features
* More thorough `scoop search`
* Better performance (Varies from command to command)
* Behaviour changes
* `spoon install app@version` will now use an old manifest and hold the app, instead
of generating a manifest (destined to be buggy)
* Additional features
* Tab completion for commands, flags and packages
* Common command aliases
> For example no need to gues whether it's `uninstall`, `rm` or `remove`.
* New commands
* `spoon shell`, it's kinda like `nix-shell`
* `spoon versions` to list all available manifests for an app (non
autogenerated ones).For a more detailed list of changes in comparison to scoop, check the table
below.## Breaking Changes
* No automatic `spoon update` calls during `install`, `download`, ...
* The `--global` flag hasn't beren implemented anywhere and I am not planning to
do so as of now. If there's demand in the future, I will consider.
* Only `kiennq/shim.exe` is supported for shimming
> The older shim formats were included in scoop for backwards compatibility
> reasons. The solution is probably to simply reinstall all currently
> installed packages via `scoop export` and `scoop import`.## Manual Installation
1. Add required buckets
```ps
scoop bucket add extras
scoop bucket add biosmarcel "https://github.com/Bios-Marcel/scoopbucket.git"
```
2. Install spoon
```ps
scoop install spoon
```**If you want to test out the latest "in progress" stuff, try the `spoon_pre`
package instead.** It contains potentially unstable or half-finished features.
Worst case it will install a package in an unfunctinal state, but won't cause
any harm to your OS or other packages.## Updates
Note that self-updating is *NOT YET* possible. To update, please use `scoop
update spoon` for now.## Runtime dependencies
While spoon is written in Golang, it has runtime dependencies needed for
installing. Rewriting those would provide little to no value and cost a lot of
value.* [shim.exe](https://github.com/kiennq/scoop-better-shimexe) - Included in
Binary - MIT/Unlicense
* ... TODO## CLI Progress
Progress overview for scoop command implementations. This does NOT include spoon
native commands. It shows the current implementation status in terms of scoop
compatibility and highlights the differences.There are basically three levels of implementations (and the states inbetween):
* Native
> Fully reimplemented in spoon, no usage of scoop code
* Partially Native
> Some functionallity is spoon native, but scoop code is still used
* Wrapper
> Only provides autocompletion and documentation, but scoop code does 100% of
> the execution work.| Command | Implementation Type | Changes |
| ---------- | ------------------- | ------------------------------------------------------------------------ |
| help | Native | |
| search | Native | * Performance improvements
* JSON output
* Search configuration |
| download | Native | * Support for multiple apps to download at once |
| cat | Native | * Alias `manifest`
* Allow getting specific manifest versions |
| status | Native | * `--local` has been deleted (It's always local now)
* Shows outdated / installed things scoop didn't (due to bugs) |
| depends | Native (WIP) | * Adds `--reverse/-r` flag
* Prints an ASCII tree by default |
| update | Partially Native | * Now invokes `status` after updating buckets |
| bucket | Partially Native | * `bucket rm` now supports multiple buckets to delete at once |
| install | Native (WIP) | * Installing a specific version doesn't generate manifests anymore, but uses an old existing manifest and sets the installed app to `held`. |
| uninstall | Native (WIP) | * Terminate running processes |
| info | Wrapper | |
| unhold | Wrapper | |
| hold | Wrapper | |
| list | Wrapper | |
| reset | Wrapper | |
| alias | Planned Next | |
| cleanup | Planned Next | |
| shim | Planned Next | |
| create | | |
| which | | |
| config | | |
| cache | | |
| prefix | | |
| home | | |
| export | | |
| import | | |
| checkup | | |
| virustotal | | |