Metadata-Version: 2.4
Name: churn-cli
Version: 0.2.0
Summary: Read your codebase. Generate interview questions.
Author: dhawalshankar
Project-URL: Homepage, https://github.com/DhawalShankar/project-churn
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: google-genai
Requires-Dist: click
Requires-Dist: python-dotenv
Requires-Dist: questionary

# Churn

> A personal developer CLI tool that reads your codebase and generates interview questions based on your actual project.

---

## What It Does

Churn scans a local project directory, identifies the most frequently edited files using `git log`, compresses the code, and sends it to the Gemini API. It returns 15 interview questions with detailed answers across 3 experience levels, saved as a markdown file.

---

## Current State

This is a personal project under active development. It is not published to PyPI yet.

**What works today:**
- Local project directory scanning (recursive, all subfolders)
- Git-based important file detection via `git log --stat`
- Code compression — strips comments and blank lines
- Gemini API integration (`google-genai`)
- Structured JSON output parsed into a markdown file
- 3 experience levels: Fresher / Mid / Senior — 5 questions each

---

## Usage

**Requirements:** Python 3.8+, a Gemini API key from [aistudio.google.com](https://aistudio.google.com)

```bash
# Clone the repo
git clone https://github.com/dhawalshankar/churn
cd churn

# Create and activate virtual environment
python -m venv churn-env
churn-env\Scripts\activate  # Windows
source churn-env/bin/activate  # Mac/Linux

# Install dependencies
pip install google-genai click python-dotenv

# Add your Gemini API key
echo GEMINI_API_KEY=your_key_here > .env

# Run
python main.py ./your-project-path
```

Output is saved to `churn-output.md` in the current directory.

---

## Output Structure

```markdown
## FRESHER
Q1: What does this project do?
A: ...

## MID
Q1: Why did you choose this database over alternatives?
A: ...

## SENIOR
Q1: What are the security risks in your current architecture?
A: ...
```

---

## Files Scanned

**Included:** `.py` `.js` `.ts` `.tsx` `.jsx` `.java` `.go` `.cpp`

**Ignored:** `node_modules/` `.git/` `dist/` `build/` `__pycache__/` `.next/` `venv/` `churn-env/`

---

## Privacy

- No code is stored at any point
- Everything runs locally — no backend server
- Code is processed in memory, sent to Gemini, and wiped immediately
- Gemini API does not use API request data for model training

---

## Tech Stack

- Python 3.12
- `google-genai` — Gemini API SDK
- `click` — CLI
- `python-dotenv` — environment variables

---

## Roadmap

- [ ] PyPI publish — `pip install churn`
- [ ] GitHub public repo URL support
- [ ] VS Code Extension
- [ ] Custom focus flag — `--focus security`
- [ ] PDF export

---

## License

This is a personal project. All rights reserved.

© 2026 dhawalshankar
