Metadata-Version: 2.4
Name: quicksnap
Version: 0.2.4
Summary: Never forget the engineering stories behind your code
Author: QuickSnap Contributors
License: MIT
Project-URL: Homepage, https://github.com/quicksnap/quicksnap
Project-URL: Repository, https://github.com/quicksnap/quicksnap
Project-URL: Issues, https://github.com/quicksnap/quicksnap/issues
Keywords: engineering,stories,interview,portfolio,git,documentation
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Documentation
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: typer>=0.9.0
Requires-Dist: rich>=13.0.0
Requires-Dist: pyyaml>=6.0
Provides-Extra: ai
Requires-Dist: httpx>=0.24.0; extra == "ai"
Provides-Extra: export
Requires-Dist: fpdf2>=2.7.0; extra == "export"
Requires-Dist: python-docx>=1.0.0; extra == "export"
Provides-Extra: dev
Requires-Dist: pytest>=7.0; extra == "dev"
Dynamic: license-file

# QuickSnap

> Git remembers what changed. QuickSnap remembers why.

Your second brain for software engineering. Capture, search, and recall your engineering decisions for interviews, performance reviews, and knowledge sharing.

---

## What Is This?

Every developer has solved hard problems. Race conditions. Performance bottlenecks. Authentication redesigns. System migrations.

Six months later, you can't remember the details. The code is there. The commits are there. But the **reasoning** — why you chose Redis over PostgreSQL, what alternatives you rejected, what tradeoffs you accepted — that's gone.

QuickSnap captures those details **right after you finish a task**, while your thinking is still fresh. It turns your daily coding into a searchable archive of interview-ready stories.

---

## How It Works

```
You finish coding
       ↓
git commit
       ↓
QuickSnap captures automatically
       ↓
Story saved to .snapshots/
       ↓
Months later → search and recall everything
```

**Without QuickSnap:**
- You commit code
- You forget the reasoning
- Interview comes → blank mind

**With QuickSnap:**
- You commit code
- Story auto-captured with git context
- Interview comes → full story ready

---

## The Two Products

QuickSnap has two interfaces that share the same core:

### 1. CLI (Primary)

A terminal tool. Install with pip, run from any project.

```bash
pip install -e .
quicksnap capture        # Interactive — answers questions
quicksnap capture -n     # Automatic — fills from git
quicksnap list           # Browse all stories
quicksnap search redis   # Search by keyword
quicksnap search-natural caching  # Natural language search
quicksnap star auth-fix  # STAR format for interviews
quicksnap bullets auth-fix  # Resume bullet points
quicksnap practice       # Random interview questions
quicksnap interview      # Interview practice with self-scoring
quicksnap generate auth-fix linkedin  # Generate LinkedIn post
quicksnap generate auth-fix blog      # Generate blog draft
quicksnap export-portfolio  # Full engineering portfolio
quicksnap tag auth-fix Backend,Performance  # Add tags
quicksnap untag auth-fix Backend  # Remove tags
quicksnap tags-list      # List all tags
quicksnap sync-export    # Export to zip for cross-device sync
quicksnap sync-import    # Import from zip
```

## Commands Reference

| Command | What It Does | Example |
|---------|-------------|---------|
| `capture` | Create a new story | `quicksnap capture` |
| `capture -n` | Auto-capture from git | `quicksnap capture -n` |
| `list` | Show all stories | `quicksnap list` |
| `list --tag Backend` | Filter by tag | `quicksnap list --tag Performance` |
| `show <slug>` | View a story | `quicksnap show auth-cache` |
| `search <query>` | Search stories | `quicksnap search redis` |
| `search-natural <query>` | Natural language search | `quicksnap search-natural caching` |
| `star <slug>` | STAR format | `quicksnap star auth-cache` |
| `bullets <slug>` | Resume bullets | `quicksnap bullets auth-cache` |
| `practice` | Interview practice | `quicksnap practice` |
| `interview` | Interview with self-scoring | `quicksnap interview --tag Backend` |
| `generate <slug> <format>` | Generate content | `quicksnap generate auth-fix linkedin` |
| `tag <slug> <tags>` | Add tags | `quicksnap tag auth-fix Backend,Redis` |
| `untag <slug> <tags>` | Remove tags | `quicksnap untag auth-fix Backend` |
| `tags-list` | List all tags | `quicksnap tags-list` |
| `export-portfolio` | Full portfolio | `quicksnap export-portfolio` |
| `sync-export` | Export to zip | `quicksnap sync-export` |
| `sync-import` | Import from zip | `quicksnap sync-import` |
| `delete-cmd <slug>` | Delete a story | `quicksnap delete-cmd auth-cache` |
| `init` | Setup in a repo | `quicksnap init` |

---

## Configuration

Create `.quicksnap.yaml` in your project root:

```yaml
version: "0.2.0"
ai_mode: auto          # manual | auto | local | openai | anthropic | gemini
```

VS Code settings (in `settings.json`):

```json
{
  "quicksnap.cliPath": "quicksnap",
  "quicksnap.notifyAfterCommit": true
}
```

---

## Development

### CLI

```bash
cd D:\quicksnap
pip install -e .            # Install in dev mode
quicksnap --help        # Test
quicksnap capture -n    # Test auto-capture
```

### Testing

```bash
python -m pytest tests/ -v
```

---
