repr-cli 0.1.0__py3-none-any.whl → 0.2.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,326 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: repr-cli
3
- Version: 0.1.0
4
- Summary: A beautiful, privacy-first CLI that analyzes your code repositories and generates a compelling developer profile
5
- Author-email: Repr <hello@repr.dev>
6
- License: MIT
7
- Project-URL: Homepage, https://repr.dev
8
- Project-URL: Documentation, https://repr.dev/docs
9
- Project-URL: Repository, https://github.com/repr-app/cli
10
- Keywords: cli,developer,profile,git,analysis,repr
11
- Classifier: Development Status :: 4 - Beta
12
- Classifier: Environment :: Console
13
- Classifier: Intended Audience :: Developers
14
- Classifier: License :: OSI Approved :: MIT License
15
- Classifier: Operating System :: OS Independent
16
- Classifier: Programming Language :: Python :: 3
17
- Classifier: Programming Language :: Python :: 3.10
18
- Classifier: Programming Language :: Python :: 3.11
19
- Classifier: Programming Language :: Python :: 3.12
20
- Classifier: Topic :: Software Development :: Version Control :: Git
21
- Requires-Python: >=3.10
22
- Description-Content-Type: text/markdown
23
- License-File: LICENSE
24
- Requires-Dist: typer>=0.9.0
25
- Requires-Dist: rich>=13.0.0
26
- Requires-Dist: gitpython>=3.1.0
27
- Requires-Dist: pygments>=2.16.0
28
- Requires-Dist: httpx>=0.25.0
29
- Requires-Dist: openai>=1.0.0
30
- Provides-Extra: dev
31
- Requires-Dist: pytest>=7.0.0; extra == "dev"
32
- Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
33
- Requires-Dist: black>=23.0.0; extra == "dev"
34
- Requires-Dist: ruff>=0.1.0; extra == "dev"
35
- Dynamic: license-file
36
-
37
- # 🚀 Repr CLI
38
-
39
- > A beautiful CLI that analyzes your code repositories and generates a compelling developer profile using AI.
40
-
41
- [![PyPI version](https://img.shields.io/pypi/v/repr-cli.svg)](https://pypi.org/project/repr-cli/)
42
- [![Python versions](https://img.shields.io/pypi/pyversions/repr-cli.svg)](https://pypi.org/project/repr-cli/)
43
- [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
44
-
45
- ## ✨ Features
46
-
47
- - 🤖 **AI-Powered Analysis** — Deep code understanding, not just stats
48
- - 🔒 **Zero Data Retention** — Your code is analyzed but never stored
49
- - 🏠 **Local LLM Support** — Use Ollama for completely local processing
50
- - 📊 **Deep Repository Analysis** — Architecture, frameworks, complexity metrics
51
- - 🎨 **Beautiful UI** — Rich terminal interface with progress indicators
52
- - 📝 **Markdown Output** — Clean, readable profiles you can share anywhere
53
-
54
- ## 🔐 Privacy Options
55
-
56
- Choose your privacy level:
57
-
58
- | Mode | Description | Data Flow |
59
- |------|-------------|-----------|
60
- | **Cloud (ZDR)** | Zero Data Retention with cloud LLMs | Code sent → analyzed → immediately discarded |
61
- | **Local** | Completely local with Ollama | Code never leaves your machine |
62
- | **Offline** | Basic stats only, no AI | No network required |
63
-
64
- ### Zero Data Retention (Default)
65
-
66
- When using cloud analysis:
67
- - ✅ Code is sent over encrypted connections (TLS)
68
- - ✅ Analysis happens in ephemeral containers
69
- - ✅ **No code is ever stored or logged**
70
- - ✅ LLM providers configured for zero retention
71
- - ✅ Results returned, data discarded immediately
72
-
73
- ### Local LLM Mode
74
-
75
- For complete local control:
76
- ```bash
77
- # Use Ollama (recommended)
78
- repr analyze ~/code --local --model llama3.2
79
-
80
- # Use any OpenAI-compatible local server
81
- repr analyze ~/code --local --api-base http://localhost:11434/v1
82
- ```
83
-
84
- ## 📸 Demo
85
-
86
- ```bash
87
- $ repr analyze ~/code
88
-
89
- ╭──────────────────────────────────────────────────────────────╮
90
- │ 🚀 Repr CLI v0.1.0 │
91
- ╰──────────────────────────────────────────────────────────────╯
92
-
93
- Discovering repositories...
94
- Found 12 repositories in 1 path(s)
95
-
96
- Analyzing
97
- ╭────────────────────┬──────────┬──────────┬──────────┬─────────╮
98
- │ Repository │ Language │ Commits │ Age │ Status │
99
- ├────────────────────┼──────────┼──────────┼──────────┼─────────┤
100
- │ ecommerce-api │ Python │ 340 │ 1.5 yr │ ✓ Done │
101
- │ react-dashboard │ TypeScript│ 156 │ 8 mo │ ✓ Done │
102
- │ ml-experiments │ Python │ 89 │ 4 mo │ ✓ Done │
103
- ╰────────────────────┴──────────┴──────────┴──────────┴─────────╯
104
-
105
- ✓ Profile saved: ~/.repr/profiles/2024-01-15.md
106
- ```
107
-
108
- ## 🚦 Quick Start
109
-
110
- ### Installation
111
-
112
- ```bash
113
- pip install repr-cli
114
- ```
115
-
116
- ### For Local LLM (Optional)
117
-
118
- ```bash
119
- # Install Ollama
120
- curl -fsSL https://ollama.com/install.sh | sh
121
-
122
- # Pull a model
123
- ollama pull llama3.2
124
- ```
125
-
126
- ### Usage
127
-
128
- **Generate your profile (cloud, ZDR):**
129
-
130
- ```bash
131
- # Analyze repos with cloud AI (zero data retention)
132
- repr analyze ~/code
133
- ```
134
-
135
- **Use local LLM:**
136
-
137
- ```bash
138
- # Use Ollama locally
139
- repr analyze ~/code --local
140
-
141
- # Specify model
142
- repr analyze ~/code --local --model codellama
143
-
144
- # Use custom local endpoint
145
- repr analyze ~/code --local --api-base http://localhost:1234/v1
146
- ```
147
-
148
- **Offline mode (stats only):**
149
-
150
- ```bash
151
- # No AI, no network - just code metrics
152
- repr analyze ~/code --offline
153
- ```
154
-
155
- **View your profile:**
156
-
157
- ```bash
158
- repr view
159
- repr view --raw > profile.md
160
- ```
161
-
162
- ## 🛠️ Commands
163
-
164
- ### `repr analyze`
165
-
166
- Analyze repositories and generate a developer profile.
167
-
168
- ```bash
169
- repr analyze <paths...> [OPTIONS]
170
-
171
- Options:
172
- --local Use local LLM (Ollama) instead of cloud
173
- --model NAME Local model to use (default: llama3.2)
174
- --api-base URL Custom local LLM API endpoint
175
- --offline Stats only, no AI analysis
176
- --no-cache Re-analyze all repositories
177
- --verbose, -V Show detailed logs
178
- ```
179
-
180
- ### `repr view`
181
-
182
- View your generated profile.
183
-
184
- ```bash
185
- repr view [OPTIONS]
186
-
187
- Options:
188
- --profile NAME View a specific profile
189
- --raw, -r Output plain markdown
190
- ```
191
-
192
- ### `repr login`
193
-
194
- Authenticate for cloud analysis.
195
-
196
- ```bash
197
- repr login
198
- ```
199
-
200
- ### `repr logout`
201
-
202
- Clear authentication.
203
-
204
- ```bash
205
- repr logout
206
- ```
207
-
208
- ### `repr push`
209
-
210
- Upload profile to repr.dev.
211
-
212
- ```bash
213
- repr push [--profile NAME]
214
- ```
215
-
216
- ### `repr profiles`
217
-
218
- List all saved profiles.
219
-
220
- ```bash
221
- repr profiles
222
- ```
223
-
224
- ## ⚙️ Configuration
225
-
226
- Config stored in `~/.repr/config.json`:
227
-
228
- ```json
229
- {
230
- "version": 1,
231
- "settings": {
232
- "default_paths": ["~/code"],
233
- "skip_patterns": ["node_modules", "venv", ".venv", "vendor", "__pycache__", ".git"]
234
- },
235
- "llm": {
236
- "extraction_model": "gpt-4o-mini",
237
- "synthesis_model": "gpt-4o",
238
- "local_api_url": "http://localhost:11434/v1",
239
- "local_api_key": "ollama"
240
- }
241
- }
242
- ```
243
-
244
- ### Environment Variables
245
-
246
- ```bash
247
- # Use local LLM by default
248
- export REPR_LOCAL=true
249
- export REPR_MODEL=codellama
250
-
251
- # Custom Ollama endpoint
252
- export OLLAMA_HOST=http://localhost:11434
253
- ```
254
-
255
- ## 🔍 What Gets Analyzed
256
-
257
- The CLI performs deep analysis of your repositories:
258
-
259
- **Code Metrics:**
260
- - Lines of code, comments, complexity
261
- - Function/class counts
262
- - Average file and function sizes
263
-
264
- **Architecture Detection:**
265
- - Project type (web app, API, CLI, library, ML project)
266
- - Architecture patterns (MVC, clean architecture, microservices)
267
- - Framework detection (React, Django, FastAPI, etc.)
268
-
269
- **Quality Indicators:**
270
- - Test coverage and test frameworks
271
- - Documentation presence and quality
272
- - Docstring coverage
273
-
274
- **Technical Stack:**
275
- - Languages and percentages
276
- - Dependencies and notable libraries
277
- - API endpoints detection
278
-
279
- ## 📋 Requirements
280
-
281
- - Python 3.10+
282
- - Git
283
- - For local mode: [Ollama](https://ollama.com/) or compatible LLM server
284
-
285
- ## 📁 Directory Structure
286
-
287
- ```
288
- ~/.repr/
289
- ├── config.json # Settings
290
- ├── profiles/ # Generated profiles
291
- │ ├── 2024-01-15.md
292
- │ └── 2024-01-20.md
293
- └── cache/ # Analysis cache
294
- ```
295
-
296
- ## 🤝 Contributing
297
-
298
- Contributions welcome! See [CONTRIBUTING.md](https://github.com/repr-app/cli/blob/main/CONTRIBUTING.md).
299
-
300
- ```bash
301
- git clone https://github.com/repr-app/cli.git
302
- cd cli
303
- pip install -e ".[dev]"
304
- pytest
305
- ```
306
-
307
- ## 📄 License
308
-
309
- MIT License - see [LICENSE](LICENSE).
310
-
311
- ## 🔗 Links
312
-
313
- - [Website](https://repr.dev)
314
- - [Documentation](https://repr.dev/docs)
315
- - [GitHub](https://github.com/repr-app/cli)
316
-
317
- ## 💬 Support
318
-
319
- - Email: [hello@repr.dev](mailto:hello@repr.dev)
320
- - Discord: [discord.gg/repr](https://discord.gg/repr)
321
-
322
- ---
323
-
324
- <p align="center">
325
- Made with ❤️ by the Repr team
326
- </p>
@@ -1,18 +0,0 @@
1
- repr/__init__.py,sha256=GntM0Rl6ygrC0MvxSTUsXweObh5FWTs9aprRXxP1Ons,269
2
- repr/analyzer.py,sha256=VOf3gZoNVZ1usadchoisRw7WAMDjj-c2uREUivgwuoA,31025
3
- repr/api.py,sha256=NPvs7bn2V9rg9OW11tJoE1hngJCzJRd_bj8jgab1Ft8,7840
4
- repr/auth.py,sha256=ziy7b2wngtQW2V1W27ZoDMacWs9AW-drrCkTIiVQ_UA,9799
5
- repr/cli.py,sha256=nmoCN2y3g9kOUargTEHf_G4oCNFdyBD30qrzgZXgaoM,27757
6
- repr/config.py,sha256=TNj0qCyq0x7N39ojSDC2QmsiRUYQZRIZ42j0Rf6EIbA,11540
7
- repr/discovery.py,sha256=MTb1Eh4hVTQT4Eq0ufME5rZidxVnOJT9nzbQv8njqL4,14694
8
- repr/extractor.py,sha256=lGPN8gwTF_ZSezoQoPBMnf95nCJArGIteNiInfb39FM,10566
9
- repr/highlights.py,sha256=Qzvhbcopvb0VdjuHRmAt14-ZV9H3XUceMDB2N0CUxho,23678
10
- repr/openai_analysis.py,sha256=7dlOfehErDHfQ8sOA8n29_1BvfrcFhxudjR7iY7EfA0,23257
11
- repr/tools.py,sha256=e3zi1PRsGYb3hyxPp9eUT0tBDYiBPgZd-OHbDOv-oOc,13279
12
- repr/ui.py,sha256=PebNXo9F0P9pgOtGj1Q3QZbKM-lu6WD948hlPvo0BZk,13144
13
- repr_cli-0.1.0.dist-info/licenses/LICENSE,sha256=kJzjUb17g771EcaD6Q0dgykMqSq2EjWmIv_iiADTdM4,1067
14
- repr_cli-0.1.0.dist-info/METADATA,sha256=3g4YlGr4ykGXu9kwRdvT8IuxSS50XWbAmo_WJwYstKo,8767
15
- repr_cli-0.1.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
16
- repr_cli-0.1.0.dist-info/entry_points.txt,sha256=SJoKgNB-fRy6O2T_lztFr9T3ND_BQl0ijWxNW-J7dUU,38
17
- repr_cli-0.1.0.dist-info/top_level.txt,sha256=LNgPqdJPQnlicRve7uzI4a6rEUdcxHrNkUq_2w7eeiA,5
18
- repr_cli-0.1.0.dist-info/RECORD,,