repr-cli 0.2.1__tar.gz

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.
Files changed (36) hide show
  1. repr_cli-0.2.1/LICENSE +21 -0
  2. repr_cli-0.2.1/PKG-INFO +263 -0
  3. repr_cli-0.2.1/README.md +226 -0
  4. repr_cli-0.2.1/pyproject.toml +65 -0
  5. repr_cli-0.2.1/repr/__init__.py +10 -0
  6. repr_cli-0.2.1/repr/api.py +389 -0
  7. repr_cli-0.2.1/repr/auth.py +364 -0
  8. repr_cli-0.2.1/repr/cli.py +2338 -0
  9. repr_cli-0.2.1/repr/config.py +1018 -0
  10. repr_cli-0.2.1/repr/discovery.py +477 -0
  11. repr_cli-0.2.1/repr/doctor.py +458 -0
  12. repr_cli-0.2.1/repr/extractor.py +388 -0
  13. repr_cli-0.2.1/repr/hooks.py +634 -0
  14. repr_cli-0.2.1/repr/keychain.py +255 -0
  15. repr_cli-0.2.1/repr/llm.py +506 -0
  16. repr_cli-0.2.1/repr/openai_analysis.py +668 -0
  17. repr_cli-0.2.1/repr/privacy.py +333 -0
  18. repr_cli-0.2.1/repr/storage.py +527 -0
  19. repr_cli-0.2.1/repr/templates.py +229 -0
  20. repr_cli-0.2.1/repr/tools.py +648 -0
  21. repr_cli-0.2.1/repr/ui.py +145 -0
  22. repr_cli-0.2.1/repr_cli.egg-info/PKG-INFO +263 -0
  23. repr_cli-0.2.1/repr_cli.egg-info/SOURCES.txt +34 -0
  24. repr_cli-0.2.1/repr_cli.egg-info/dependency_links.txt +1 -0
  25. repr_cli-0.2.1/repr_cli.egg-info/entry_points.txt +2 -0
  26. repr_cli-0.2.1/repr_cli.egg-info/requires.txt +13 -0
  27. repr_cli-0.2.1/repr_cli.egg-info/top_level.txt +1 -0
  28. repr_cli-0.2.1/setup.cfg +4 -0
  29. repr_cli-0.2.1/setup.py +7 -0
  30. repr_cli-0.2.1/tests/test_environment_variables.py +336 -0
  31. repr_cli-0.2.1/tests/test_network_sandboxing.py +174 -0
  32. repr_cli-0.2.1/tests/test_privacy_guarantees.py +351 -0
  33. repr_cli-0.2.1/tests/test_profile_export.py +206 -0
  34. repr_cli-0.2.1/tests/test_repo_identity.py +213 -0
  35. repr_cli-0.2.1/tests/test_stories_review.py +287 -0
  36. repr_cli-0.2.1/tests/test_token_budget.py +324 -0
repr_cli-0.2.1/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 Repr
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,263 @@
1
+ Metadata-Version: 2.4
2
+ Name: repr-cli
3
+ Version: 0.2.1
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
+ Requires-Dist: keyring>=24.0.0
31
+ Provides-Extra: dev
32
+ Requires-Dist: pytest>=7.0.0; extra == "dev"
33
+ Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
34
+ Requires-Dist: black>=23.0.0; extra == "dev"
35
+ Requires-Dist: ruff>=0.1.0; extra == "dev"
36
+ Dynamic: license-file
37
+
38
+ # Repr CLI
39
+
40
+ A local-first developer tool that turns your git commit history into professional narratives.
41
+
42
+ **Privacy Guarantee:** Zero data leaves your machine unless you explicitly publish. Your keys, your models, your data.
43
+
44
+ [![PyPI version](https://img.shields.io/pypi/v/repr-cli.svg)](https://pypi.org/project/repr-cli/)
45
+ [![Python versions](https://img.shields.io/pypi/pyversions/repr-cli.svg)](https://pypi.org/project/repr-cli/)
46
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
47
+ [![Build](https://github.com/repr-app/cli/actions/workflows/build-release.yml/badge.svg)](https://github.com/repr-app/cli/actions/workflows/build-release.yml)
48
+
49
+ ## Philosophy
50
+
51
+ Repr is built on three core principles:
52
+
53
+ 1. **Local-First:** Analysis happens on your machine. You own the output.
54
+ 2. **Bring Your Own Keys:** Use your own OpenAI API key or a local LLM (Ollama, etc.). We don't sit in the middle.
55
+ 3. **Opt-In Cloud:** Publishing to `repr.dev` is strictly optional. Use it for backup or sharing, or ignore it entirely.
56
+
57
+ ## Installation
58
+
59
+ ### macOS / Linux (Homebrew)
60
+ ```bash
61
+ brew tap repr-app/tap
62
+ brew install repr
63
+ ```
64
+
65
+ ### Direct Download
66
+ Download pre-built binaries for macOS, Linux, and Windows from the [latest release](https://github.com/repr-app/cli/releases/latest).
67
+
68
+ ### Python (pipx)
69
+ ```bash
70
+ pipx install repr-cli
71
+ ```
72
+
73
+ ## The Local Workflow
74
+
75
+ You can use Repr entirely offline or with your own API keys. No account required.
76
+
77
+ ### 1. Initialize
78
+ Scan for repositories and set up local config.
79
+
80
+ ```bash
81
+ repr init ~/code
82
+ ```
83
+
84
+ ### 2. Generate stories
85
+ Create stories from your commit history.
86
+
87
+ ```bash
88
+ # Using a local LLM (e.g., Ollama running Llama 3)
89
+ repr generate --local
90
+
91
+ # Or configure your own API key (BYOK)
92
+ repr llm add openai
93
+ repr generate
94
+
95
+ # Or use cloud (requires login)
96
+ repr login
97
+ repr generate --cloud
98
+ ```
99
+
100
+ This reads your git log, diffs, and file context to generate meaningful summaries of your work. All processing happens locally or directly against the API you specify.
101
+
102
+ ### 3. View your stories
103
+ Inspect the generated stories stored on your machine.
104
+
105
+ ```bash
106
+ repr stories
107
+ repr story view <id>
108
+ ```
109
+
110
+ Output is stored in `~/.repr/`, staying fully under your control.
111
+
112
+ ### 4. Track multiple repositories
113
+ Configure Repr to watch multiple projects.
114
+
115
+ ```bash
116
+ repr repos add ~/code/work-project
117
+ repr repos add ~/code/side-project
118
+ ```
119
+
120
+ ## Optional: Cloud & Publishing
121
+
122
+ If you want convenience without managing your own API keys, you can use Repr's backend. It processes your code with proprietary models but operates under a **zero data retention (ZDR) policy**—no logging, no storage beyond ephemeral processing.
123
+
124
+ Alternatively, use the cloud for backup and sharing: sync your locally generated stories or create a public profile (e.g., `repr.dev/yourname`).
125
+
126
+ **This is the only time data leaves your machine.**
127
+
128
+ ### 1. Authenticate
129
+ ```bash
130
+ repr login
131
+ ```
132
+
133
+ ### 2. Push stories
134
+ Publish your locally generated stories to your profile.
135
+
136
+ ```bash
137
+ repr push
138
+ ```
139
+
140
+ ### 3. Sync across devices
141
+ Keep your stories in sync.
142
+
143
+ ```bash
144
+ repr sync
145
+ ```
146
+
147
+ ### 4. Automate (Optional)
148
+ Install git hooks to automatically track new commits as you work.
149
+
150
+ ```bash
151
+ repr hooks install --all
152
+ ```
153
+
154
+ ## Configuration
155
+
156
+ Repr respects standard environment variables and local configuration.
157
+
158
+ **Config file:** `~/.repr/config.json`
159
+
160
+ ### Using Local LLMs (Ollama, LocalAI)
161
+ Point Repr to any OpenAI-compatible endpoint:
162
+
163
+ ```bash
164
+ repr llm configure
165
+ # Or manually:
166
+ repr config set llm.local_api_url http://localhost:11434/v1
167
+ repr config set llm.local_model llama3.2
168
+ ```
169
+
170
+ ### Bring Your Own Key (BYOK)
171
+ Configure your own API keys:
172
+
173
+ ```bash
174
+ repr llm add openai
175
+ repr llm add anthropic
176
+ repr llm use byok:openai
177
+ ```
178
+
179
+ ### Privacy Modes
180
+
181
+ | Mode | Command | Behavior |
182
+ |------|---------|----------|
183
+ | **Local LLM** | `repr generate --local` | Uses your local LLM endpoint (Ollama, etc.). Zero external network calls. |
184
+ | **BYOK** | `repr llm add <provider>` | Configure your own API keys (OpenAI, Anthropic, etc.). Direct connection, no middleman. |
185
+ | **Cloud** | `repr generate --cloud` | **(Requires Login)** Uses Repr's backend. Sends metadata + diffs. Zero data retention (ZDR) policy—no logging, ephemeral processing only. |
186
+ | **Offline** | Local operations only | Works without network. View stories, repos, export profiles. |
187
+
188
+ ## Command Reference
189
+
190
+ ### Getting Started
191
+ - `repr init [path]` - Initialize repr, scan for repositories
192
+ - `repr login` - Authenticate with repr.dev
193
+ - `repr whoami` - Show current user
194
+ - `repr logout` - Sign out
195
+ - `repr status` - Show overall status and health
196
+ - `repr mode` - Show current execution mode
197
+ - `repr doctor` - Run health checks and diagnostics
198
+
199
+ ### Generation & Analysis
200
+ - `repr generate [--local|--cloud]` - Generate stories from commits
201
+ - `--repo <path>` - Generate for specific repo
202
+ - `--commits <sha1,sha2>` - Generate from specific commits
203
+ - `--template <name>` - Use template (resume, changelog, narrative, interview)
204
+ - `--dry-run` - Preview what would be sent
205
+ - `repr week [--save]` - Show work from this week
206
+ - `repr since <date> [--save]` - Show work since a date
207
+ - `repr standup [--days N]` - Quick summary for standup
208
+
209
+ ### Stories
210
+ - `repr stories [--repo NAME] [--needs-review]` - List all stories
211
+ - `repr story <action> <id>` - Manage a story (view, edit, delete, hide, feature)
212
+ - `repr review` - Interactive review workflow
213
+ - `repr commits [--repo NAME] [--limit N]` - List recent commits
214
+
215
+ ### Cloud Operations
216
+ - `repr push [--story ID] [--all]` - Publish stories to repr.dev
217
+ - `repr sync` - Sync stories across devices
218
+ - `repr pull` - Pull remote stories to local
219
+
220
+ ### Repositories
221
+ - `repr repos [list|add|remove|pause|resume] [path]` - Manage tracked repos
222
+
223
+ ### Git Hooks
224
+ - `repr hooks install [--all|--repo PATH]` - Install post-commit hooks
225
+ - `repr hooks remove [--all|--repo PATH]` - Remove hooks
226
+ - `repr hooks status` - Show hook status
227
+
228
+ ### LLM Configuration
229
+ - `repr llm add <provider>` - Configure BYOK provider (openai, anthropic, groq, together)
230
+ - `repr llm remove <provider>` - Remove BYOK provider
231
+ - `repr llm use <mode>` - Set default mode (local, cloud, byok:<provider>)
232
+ - `repr llm configure` - Configure local LLM interactively
233
+ - `repr llm test` - Test LLM connection
234
+
235
+ ### Privacy
236
+ - `repr privacy explain` - Show privacy guarantees
237
+ - `repr privacy audit [--days N]` - Show what data was sent to cloud
238
+ - `repr privacy lock-local [--permanent]` - Disable cloud features
239
+ - `repr privacy unlock-local` - Re-enable cloud features
240
+
241
+ ### Configuration
242
+ - `repr config show [key]` - Display configuration
243
+ - `repr config set <key> <value>` - Set configuration value
244
+ - `repr config edit` - Open config in $EDITOR
245
+
246
+ ### Data Management
247
+ - `repr data` - Show local storage info
248
+ - `repr data backup [--output FILE]` - Backup all local data
249
+ - `repr data restore <file> [--merge]` - Restore from backup
250
+ - `repr data clear-cache` - Clear local cache
251
+
252
+ ### Profile
253
+ - `repr profile` - View profile
254
+ - `repr profile update [--preview]` - Generate/update profile from stories
255
+ - `repr profile set-bio <text>` - Set profile bio
256
+ - `repr profile set-location <text>` - Set location
257
+ - `repr profile set-available <bool>` - Set availability status
258
+ - `repr profile export [--format FORMAT]` - Export profile (md, json)
259
+ - `repr profile link` - Get shareable profile link
260
+
261
+ ## License
262
+
263
+ MIT License - see [LICENSE](LICENSE).
@@ -0,0 +1,226 @@
1
+ # Repr CLI
2
+
3
+ A local-first developer tool that turns your git commit history into professional narratives.
4
+
5
+ **Privacy Guarantee:** Zero data leaves your machine unless you explicitly publish. Your keys, your models, your data.
6
+
7
+ [![PyPI version](https://img.shields.io/pypi/v/repr-cli.svg)](https://pypi.org/project/repr-cli/)
8
+ [![Python versions](https://img.shields.io/pypi/pyversions/repr-cli.svg)](https://pypi.org/project/repr-cli/)
9
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
10
+ [![Build](https://github.com/repr-app/cli/actions/workflows/build-release.yml/badge.svg)](https://github.com/repr-app/cli/actions/workflows/build-release.yml)
11
+
12
+ ## Philosophy
13
+
14
+ Repr is built on three core principles:
15
+
16
+ 1. **Local-First:** Analysis happens on your machine. You own the output.
17
+ 2. **Bring Your Own Keys:** Use your own OpenAI API key or a local LLM (Ollama, etc.). We don't sit in the middle.
18
+ 3. **Opt-In Cloud:** Publishing to `repr.dev` is strictly optional. Use it for backup or sharing, or ignore it entirely.
19
+
20
+ ## Installation
21
+
22
+ ### macOS / Linux (Homebrew)
23
+ ```bash
24
+ brew tap repr-app/tap
25
+ brew install repr
26
+ ```
27
+
28
+ ### Direct Download
29
+ Download pre-built binaries for macOS, Linux, and Windows from the [latest release](https://github.com/repr-app/cli/releases/latest).
30
+
31
+ ### Python (pipx)
32
+ ```bash
33
+ pipx install repr-cli
34
+ ```
35
+
36
+ ## The Local Workflow
37
+
38
+ You can use Repr entirely offline or with your own API keys. No account required.
39
+
40
+ ### 1. Initialize
41
+ Scan for repositories and set up local config.
42
+
43
+ ```bash
44
+ repr init ~/code
45
+ ```
46
+
47
+ ### 2. Generate stories
48
+ Create stories from your commit history.
49
+
50
+ ```bash
51
+ # Using a local LLM (e.g., Ollama running Llama 3)
52
+ repr generate --local
53
+
54
+ # Or configure your own API key (BYOK)
55
+ repr llm add openai
56
+ repr generate
57
+
58
+ # Or use cloud (requires login)
59
+ repr login
60
+ repr generate --cloud
61
+ ```
62
+
63
+ This reads your git log, diffs, and file context to generate meaningful summaries of your work. All processing happens locally or directly against the API you specify.
64
+
65
+ ### 3. View your stories
66
+ Inspect the generated stories stored on your machine.
67
+
68
+ ```bash
69
+ repr stories
70
+ repr story view <id>
71
+ ```
72
+
73
+ Output is stored in `~/.repr/`, staying fully under your control.
74
+
75
+ ### 4. Track multiple repositories
76
+ Configure Repr to watch multiple projects.
77
+
78
+ ```bash
79
+ repr repos add ~/code/work-project
80
+ repr repos add ~/code/side-project
81
+ ```
82
+
83
+ ## Optional: Cloud & Publishing
84
+
85
+ If you want convenience without managing your own API keys, you can use Repr's backend. It processes your code with proprietary models but operates under a **zero data retention (ZDR) policy**—no logging, no storage beyond ephemeral processing.
86
+
87
+ Alternatively, use the cloud for backup and sharing: sync your locally generated stories or create a public profile (e.g., `repr.dev/yourname`).
88
+
89
+ **This is the only time data leaves your machine.**
90
+
91
+ ### 1. Authenticate
92
+ ```bash
93
+ repr login
94
+ ```
95
+
96
+ ### 2. Push stories
97
+ Publish your locally generated stories to your profile.
98
+
99
+ ```bash
100
+ repr push
101
+ ```
102
+
103
+ ### 3. Sync across devices
104
+ Keep your stories in sync.
105
+
106
+ ```bash
107
+ repr sync
108
+ ```
109
+
110
+ ### 4. Automate (Optional)
111
+ Install git hooks to automatically track new commits as you work.
112
+
113
+ ```bash
114
+ repr hooks install --all
115
+ ```
116
+
117
+ ## Configuration
118
+
119
+ Repr respects standard environment variables and local configuration.
120
+
121
+ **Config file:** `~/.repr/config.json`
122
+
123
+ ### Using Local LLMs (Ollama, LocalAI)
124
+ Point Repr to any OpenAI-compatible endpoint:
125
+
126
+ ```bash
127
+ repr llm configure
128
+ # Or manually:
129
+ repr config set llm.local_api_url http://localhost:11434/v1
130
+ repr config set llm.local_model llama3.2
131
+ ```
132
+
133
+ ### Bring Your Own Key (BYOK)
134
+ Configure your own API keys:
135
+
136
+ ```bash
137
+ repr llm add openai
138
+ repr llm add anthropic
139
+ repr llm use byok:openai
140
+ ```
141
+
142
+ ### Privacy Modes
143
+
144
+ | Mode | Command | Behavior |
145
+ |------|---------|----------|
146
+ | **Local LLM** | `repr generate --local` | Uses your local LLM endpoint (Ollama, etc.). Zero external network calls. |
147
+ | **BYOK** | `repr llm add <provider>` | Configure your own API keys (OpenAI, Anthropic, etc.). Direct connection, no middleman. |
148
+ | **Cloud** | `repr generate --cloud` | **(Requires Login)** Uses Repr's backend. Sends metadata + diffs. Zero data retention (ZDR) policy—no logging, ephemeral processing only. |
149
+ | **Offline** | Local operations only | Works without network. View stories, repos, export profiles. |
150
+
151
+ ## Command Reference
152
+
153
+ ### Getting Started
154
+ - `repr init [path]` - Initialize repr, scan for repositories
155
+ - `repr login` - Authenticate with repr.dev
156
+ - `repr whoami` - Show current user
157
+ - `repr logout` - Sign out
158
+ - `repr status` - Show overall status and health
159
+ - `repr mode` - Show current execution mode
160
+ - `repr doctor` - Run health checks and diagnostics
161
+
162
+ ### Generation & Analysis
163
+ - `repr generate [--local|--cloud]` - Generate stories from commits
164
+ - `--repo <path>` - Generate for specific repo
165
+ - `--commits <sha1,sha2>` - Generate from specific commits
166
+ - `--template <name>` - Use template (resume, changelog, narrative, interview)
167
+ - `--dry-run` - Preview what would be sent
168
+ - `repr week [--save]` - Show work from this week
169
+ - `repr since <date> [--save]` - Show work since a date
170
+ - `repr standup [--days N]` - Quick summary for standup
171
+
172
+ ### Stories
173
+ - `repr stories [--repo NAME] [--needs-review]` - List all stories
174
+ - `repr story <action> <id>` - Manage a story (view, edit, delete, hide, feature)
175
+ - `repr review` - Interactive review workflow
176
+ - `repr commits [--repo NAME] [--limit N]` - List recent commits
177
+
178
+ ### Cloud Operations
179
+ - `repr push [--story ID] [--all]` - Publish stories to repr.dev
180
+ - `repr sync` - Sync stories across devices
181
+ - `repr pull` - Pull remote stories to local
182
+
183
+ ### Repositories
184
+ - `repr repos [list|add|remove|pause|resume] [path]` - Manage tracked repos
185
+
186
+ ### Git Hooks
187
+ - `repr hooks install [--all|--repo PATH]` - Install post-commit hooks
188
+ - `repr hooks remove [--all|--repo PATH]` - Remove hooks
189
+ - `repr hooks status` - Show hook status
190
+
191
+ ### LLM Configuration
192
+ - `repr llm add <provider>` - Configure BYOK provider (openai, anthropic, groq, together)
193
+ - `repr llm remove <provider>` - Remove BYOK provider
194
+ - `repr llm use <mode>` - Set default mode (local, cloud, byok:<provider>)
195
+ - `repr llm configure` - Configure local LLM interactively
196
+ - `repr llm test` - Test LLM connection
197
+
198
+ ### Privacy
199
+ - `repr privacy explain` - Show privacy guarantees
200
+ - `repr privacy audit [--days N]` - Show what data was sent to cloud
201
+ - `repr privacy lock-local [--permanent]` - Disable cloud features
202
+ - `repr privacy unlock-local` - Re-enable cloud features
203
+
204
+ ### Configuration
205
+ - `repr config show [key]` - Display configuration
206
+ - `repr config set <key> <value>` - Set configuration value
207
+ - `repr config edit` - Open config in $EDITOR
208
+
209
+ ### Data Management
210
+ - `repr data` - Show local storage info
211
+ - `repr data backup [--output FILE]` - Backup all local data
212
+ - `repr data restore <file> [--merge]` - Restore from backup
213
+ - `repr data clear-cache` - Clear local cache
214
+
215
+ ### Profile
216
+ - `repr profile` - View profile
217
+ - `repr profile update [--preview]` - Generate/update profile from stories
218
+ - `repr profile set-bio <text>` - Set profile bio
219
+ - `repr profile set-location <text>` - Set location
220
+ - `repr profile set-available <bool>` - Set availability status
221
+ - `repr profile export [--format FORMAT]` - Export profile (md, json)
222
+ - `repr profile link` - Get shareable profile link
223
+
224
+ ## License
225
+
226
+ MIT License - see [LICENSE](LICENSE).
@@ -0,0 +1,65 @@
1
+ [build-system]
2
+ requires = ["setuptools>=61.0", "wheel"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "repr-cli"
7
+ version = "0.2.1"
8
+ description = "A beautiful, privacy-first CLI that analyzes your code repositories and generates a compelling developer profile"
9
+ readme = "README.md"
10
+ license = {text = "MIT"}
11
+ authors = [
12
+ {name = "Repr", email = "hello@repr.dev"}
13
+ ]
14
+ requires-python = ">=3.10"
15
+ classifiers = [
16
+ "Development Status :: 4 - Beta",
17
+ "Environment :: Console",
18
+ "Intended Audience :: Developers",
19
+ "License :: OSI Approved :: MIT License",
20
+ "Operating System :: OS Independent",
21
+ "Programming Language :: Python :: 3",
22
+ "Programming Language :: Python :: 3.10",
23
+ "Programming Language :: Python :: 3.11",
24
+ "Programming Language :: Python :: 3.12",
25
+ "Topic :: Software Development :: Version Control :: Git",
26
+ ]
27
+ keywords = ["cli", "developer", "profile", "git", "analysis", "repr"]
28
+ dependencies = [
29
+ "typer>=0.9.0",
30
+ "rich>=13.0.0",
31
+ "gitpython>=3.1.0",
32
+ "pygments>=2.16.0",
33
+ "httpx>=0.25.0",
34
+ "openai>=1.0.0",
35
+ "keyring>=24.0.0",
36
+ ]
37
+
38
+ [project.optional-dependencies]
39
+ dev = [
40
+ "pytest>=7.0.0",
41
+ "pytest-asyncio>=0.21.0",
42
+ "black>=23.0.0",
43
+ "ruff>=0.1.0",
44
+ ]
45
+
46
+ [project.scripts]
47
+ repr = "repr.cli:app"
48
+
49
+ [project.urls]
50
+ Homepage = "https://repr.dev"
51
+ Documentation = "https://repr.dev/docs"
52
+ Repository = "https://github.com/repr-app/cli"
53
+
54
+ [tool.setuptools.packages.find]
55
+ where = ["."]
56
+ include = ["repr*"]
57
+
58
+ [tool.black]
59
+ line-length = 100
60
+ target-version = ["py310"]
61
+
62
+ [tool.ruff]
63
+ line-length = 100
64
+ target-version = "py310"
65
+ select = ["E", "F", "I", "N", "W"]
@@ -0,0 +1,10 @@
1
+ """
2
+ Repr CLI - Privacy-first developer profile generator.
3
+
4
+ Analyzes your local git repositories and generates a compelling
5
+ developer profile without ever sending your source code to the cloud.
6
+ """
7
+
8
+ __version__ = "0.2.0"
9
+ __author__ = "Repr"
10
+ __email__ = "hello@repr.dev"