https://github.com/thatlinuxguyyouknow/jemma
Beatiful command line coding assistant
https://github.com/thatlinuxguyyouknow/jemma
Last synced: 8 months ago
JSON representation
Beatiful command line coding assistant
- Host: GitHub
- URL: https://github.com/thatlinuxguyyouknow/jemma
- Owner: ThatLinuxGuyYouKnow
- Created: 2025-03-22T16:15:19.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-30T22:09:38.000Z (over 1 year ago)
- Last Synced: 2025-03-30T23:19:43.835Z (over 1 year ago)
- Language: Python
- Size: 109 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Jemma: Your Free Code Assistant
[](https://www.python.org/)
[](https://cloud.google.com/vertex-ai/docs/generative-ai/models/gemini)
[](https://pypi.org/project/colorama/)

**Description:** Jemma is a command-line tool that provides code assistance using the Google Gemini API. It's free and easy to use.
**Installation:**
```bash
pip install .
```
**Configuration:**
Before using Jemma, you need to configure your Google Gemini API key:
```bash
jemma-configure
```
You will be prompted to enter your API key. This key should be stored in the `~/.jemma/config` file. Alternatively, you can set the `GEMINI_API_KEY` environment variable.
**Usage:**
Jemma offers two main functionalities:
1. **Interactive Code Session (`jemma -s`):** Start an interactive coding session where you can ask questions and receive code suggestions.
```bash
jemma -s
```
2. **Codebase Explanation (`jemma -e`):** Get a detailed explanation of your current codebase, including frameworks, languages, critical logic, and potential issues.
```bash
jemma -e README.md
```
(Replace `README.md` with your desired output file name).
**Note:** The `.current_chat.txt` file stores the current chat history. This file is used to maintain context during an interactive session.
## Roadmap
- [x] Fix configuration and improve the use of the configuration file
- [x] Fix edit with line enumeration
- [x] Add support for multiple models (Gemini Pro, etc.)
- [ ] Add support for non Gemini models
- [x] Implement configuration via command-line arguments
- [ ] Create command for starting new projects
- [ ] Improve error handling and logging
- [ ] Add unit tests
- [x] MIT license