
Security News
vlt Launches "reproduce": A New Tool Challenging the Limits of Package Provenance
vlt's new "reproduce" tool verifies npm packages against their source code, outperforming traditional provenance adoption in the JavaScript ecosystem.
WARNING: gpterm
has very few guardrails. If used indiscriminately, it can wipe your entire system or leak information.
gpterm
is a powerful, flexible and dangerous command-line tool designed to help you generate commands for your terminal using OpenAI's Chat Completions. It will not execute commands without your consent, but please do check which commands it is presenting before you let it execute them. Like so:
$ gpterm "Using git diff to gather info, commit all the latest changes with a descriptive commit message, then push the changes"
$ # It gathers info, asks for consent, and does the thing
$ [main 94a9292] Update README with gpterm usage example
$ 1 file changed, 4 insertions(+)
You can install it from RubyGems using gem install gpterm
, or you can clone it and run it straight from the source.
Ensure you have Ruby installed on your system. Then, follow these steps:
bundle install
to install dependencies../bin/gpterm
On first run, you'll be prompted to enter your OpenAI API key. This is required for the application to interact with OpenAI's API. You will also be asked to specify whether you'd like your PATH
variable to be sent in the prompt, which can help with command generation.
gpterm <prompt> [options] [subcommand [options]]
Subcommands:
preset
- gpterm preset <name> <prompt>
config
- gpterm config [--openapi_key <value>|--send_path <true|false>]
Options:
-v
, --verbose
Run verbosely
You can save and reuse preset prompts for common or repeated tasks. To create a preset, use the -s
option followed by a name and the prompt, separated by a comma.
To use a preset, simply pass its name as an argument when starting gpterm.
I have been using the following presets while developing gpterm
and have found them to be quite helpful.
gc
: Makes and pushes a commit describing the most recent changes.
"Commit all the latest changes to main, describing specifically what the changes are in the commit message. Please determine what the changes are before you write the commit message. You should use git diff and git status for information gathering"
minorv
: Does all the steps necessary in publishing a new version of this gem, including updating the changelog.
"Bump to a new minor version of this gem (change the y and reset z in version number x.y.z). That means you need to add a new section to the changelog with 1-5 bullet points summarising the changes (check git logs since the most recent git tag), then commit that, then create a new git tag, pushing the tag to the remote, update the gemspec, build the gem and publish it to rubygems. DO NOT try to add or commit any .gemspec files to the repo, or any other files which are listed in .gitignore"
Contributions are welcome! Feel free to open an issue or pull request.
gpterm is open-source software licensed under the MIT license.
Dan Hough/@basicallydan built this application.
Alex Rudall/@alexrudall developed ruby-openai around which this application was built.
OpenAI/@openai built a powerful API full of great AI models upon which this whole concept relies.
FAQs
Unknown package
We found that gpterm demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
vlt's new "reproduce" tool verifies npm packages against their source code, outperforming traditional provenance adoption in the JavaScript ecosystem.
Research
Security News
Socket researchers uncovered a malicious PyPI package exploiting Deezer’s API to enable coordinated music piracy through API abuse and C2 server control.
Research
The Socket Research Team discovered a malicious npm package, '@ton-wallet/create', stealing cryptocurrency wallet keys from developers and users in the TON ecosystem.