
Security News
Follow-up and Clarification on Recent Malicious Ruby Gems Campaign
A clarification on our recent research investigating 60 malicious Ruby gems.
Genie CLI is a command-line tool that brings Test Driven Development (TDD)
principles to life by integrating with a large language model (LLM) through
the ruby_llm
library. It provides an interactive session where you can ask
the AI assistant to write tests, implement code, and manage your codebase—all
while enforcing a strict TDD workflow.
ruby_llm
).ListFiles
: List and filter files in your project directory.ReadFile
: Read the contents of files.WriteFile
: Create or overwrite files.InsertIntoFile
: Insert content at a specific marker in a file.AppendToFile
: Append content to existing files.RunTests
: Run your test suite and capture results.TakeANote
: Write notes without affecting your source files.AskForHelp
: Request guidance or explanations from the AI.Install the gem:
gem install genie_cli
Set your OpenAI API key (or other LLM provider keys) in your environment:
export OPENAI_API_KEY="your_api_key_here"
dotenv
is also supported:
# .env
OPENAI_API_KEY="your_api_key_here"
Start a Genie session by running the genie
command from the root of your project:
genie "initial prompt or command"
If you are using Bundler, you can run:
bundle exec genie "initial prompt or command"
q
, quit
, done
, or exit
.Example session:
$ genie
Starting a new session with:
base_path: /Users/you/projects/genie_cli
> "Create a failing test for a Calculator#add method"
# (AI writes a test file)
> "Implement Calculator#add to pass the test"
# (AI writes the implementation)
> "Run the test suite"
# (AI invokes `rake test` and reports results)
> "exit"
Exiting...
Total Conversation Tokens: 1234
The output of genie
to the terminal includes "essential" output, but not
all output. To aid in debugging, the full RubyLLM debug log is saved to
ruby_llm.log
. This can be useful for auditing what's happened during a
session in great detail.
Configuration is available via a genie.yml
.
This project includes a comprehensive test suite. Run all tests with:
bundle exec rake test
Contributions are welcome! Please fork the repository and open pull requests for new features or bug fixes. Make sure to follow the Genie workflow and include tests for new functionality.
This project is licensed under the MIT License. See the LICENSE file for details.
Kent Beck has been using this term to describe LLMs, especially coding agents, because it grants your wishes, but rarely in the way you actually wanted it to. It's a great idea, so I'm shamelessly stealing it.
From https://www.asciiart.website/index.php?art=movies%2Faladdin
FAQs
Unknown package
We found that genie_cli demonstrated a healthy version release cadence and project activity because the last version was released less than 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
A clarification on our recent research investigating 60 malicious Ruby gems.
Security News
ESLint now supports parallel linting with a new --concurrency flag, delivering major speed gains and closing a 10-year-old feature request.
Research
/Security News
A malicious Go module posing as an SSH brute forcer exfiltrates stolen credentials to a Telegram bot controlled by a Russian-speaking threat actor.