eureka [](https://crates.io/crates/eureka) [](https://codecov.io/gh/simeg/eureka)
August 28, 2026 ยท View on GitHub
eureka is a CLI tool that allows you to quickly write down an idea using your
preferred editor, and then have the idea committed and pushed to your idea
git repository.
Imagine working on something important and then having an idea. Instead of
letting your idea slip by you can just type eureka and you're able to quickly
store your idea and then continue working.

Required Setup
eureka requires a git repository with a markdown file in the root folder. By
default this is README.md (the default structure when you create an empty
repository with a readme on GitHub), but you can customize the filename during
setup. And since it's your own repository you can make it private to keep your
ideas secret.
eureka looks at your environment variables to decide what program to use.
$EDITORfor what to edit your ideas with (falls back tovi)$PAGERfor what to view your ideas with (falls back toless)
Installation
$ brew install eureka
$ cargo install eureka
Rust stable version will always be supported
Usage
The first time you run eureka it will ask for the path to your ideas repo and
the filename to use (defaults to README.md if left blank). This configuration
will be stored in your XDG Base Directory if found, otherwise in $HOME/.config/eureka.
After the setup simply run eureka to capture an idea. It will then be
committed and pushed to the origin remote and the main branch.
View your stored ideas with the -v or --view flag.
$ eureka --view
Flags
--clear-config Clear your stored configuration
-v, --view View ideas with your $PAGER env variable. If unset use less
Recommended alias
An easy to remember alias for eureka is the word idea. This makes it easy
to remember to use eureka to store your ideas.
Zsh
echo 'alias idea="eureka"' >> ~/.zshrc
Bash
echo 'alias idea="eureka"' >> ~/.bashrc
Fish
echo 'alias idea="eureka"' >> ~/.config/fish/config.fish
Improvements
See github issues.