repr-cli 0.2.16__tar.gz → 0.2.18__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.
- {repr_cli-0.2.16 → repr_cli-0.2.18}/PKG-INFO +48 -10
- {repr_cli-0.2.16 → repr_cli-0.2.18}/README.md +44 -9
- {repr_cli-0.2.16 → repr_cli-0.2.18}/pyproject.toml +8 -1
- {repr_cli-0.2.16 → repr_cli-0.2.18}/repr/__init__.py +1 -1
- {repr_cli-0.2.16 → repr_cli-0.2.18}/repr/api.py +363 -62
- {repr_cli-0.2.16 → repr_cli-0.2.18}/repr/auth.py +47 -38
- repr_cli-0.2.18/repr/change_synthesis.py +478 -0
- repr_cli-0.2.18/repr/cli.py +6700 -0
- {repr_cli-0.2.16 → repr_cli-0.2.18}/repr/config.py +119 -11
- repr_cli-0.2.18/repr/configure.py +889 -0
- repr_cli-0.2.18/repr/cron.py +419 -0
- repr_cli-0.2.18/repr/dashboard/__init__.py +9 -0
- repr_cli-0.2.18/repr/dashboard/build.py +126 -0
- repr_cli-0.2.18/repr/dashboard/dist/assets/index-B-aCjaCw.js +384 -0
- repr_cli-0.2.18/repr/dashboard/dist/assets/index-BYFVbEev.css +1 -0
- repr_cli-0.2.18/repr/dashboard/dist/assets/index-BrrhyJFO.css +1 -0
- repr_cli-0.2.18/repr/dashboard/dist/assets/index-C7Gzxc4f.js +384 -0
- repr_cli-0.2.18/repr/dashboard/dist/assets/index-CQdMXo6g.js +391 -0
- repr_cli-0.2.18/repr/dashboard/dist/assets/index-CcEg74ts.js +270 -0
- repr_cli-0.2.18/repr/dashboard/dist/assets/index-Cerc-iA_.js +377 -0
- repr_cli-0.2.18/repr/dashboard/dist/assets/index-CjVcBW2L.css +1 -0
- repr_cli-0.2.18/repr/dashboard/dist/assets/index-Cs8ofFGd.js +384 -0
- repr_cli-0.2.18/repr/dashboard/dist/assets/index-Dfl3mR5E.js +377 -0
- repr_cli-0.2.18/repr/dashboard/dist/assets/index-DwN0SeMc.css +1 -0
- repr_cli-0.2.18/repr/dashboard/dist/assets/index-YFch_e0S.js +384 -0
- repr_cli-0.2.18/repr/dashboard/dist/favicon.svg +4 -0
- repr_cli-0.2.18/repr/dashboard/dist/index.html +14 -0
- repr_cli-0.2.18/repr/dashboard/manager.py +234 -0
- repr_cli-0.2.18/repr/dashboard/server.py +1489 -0
- repr_cli-0.2.18/repr/db.py +980 -0
- {repr_cli-0.2.16 → repr_cli-0.2.18}/repr/hooks.py +3 -2
- repr_cli-0.2.18/repr/loaders/__init__.py +22 -0
- repr_cli-0.2.18/repr/loaders/base.py +156 -0
- repr_cli-0.2.18/repr/loaders/claude_code.py +287 -0
- repr_cli-0.2.18/repr/loaders/clawdbot.py +313 -0
- repr_cli-0.2.18/repr/loaders/gemini_antigravity.py +381 -0
- repr_cli-0.2.18/repr/mcp_server.py +1196 -0
- repr_cli-0.2.18/repr/models.py +503 -0
- {repr_cli-0.2.16 → repr_cli-0.2.18}/repr/openai_analysis.py +25 -0
- repr_cli-0.2.18/repr/session_extractor.py +481 -0
- {repr_cli-0.2.16 → repr_cli-0.2.18}/repr/storage.py +328 -0
- repr_cli-0.2.18/repr/story_synthesis.py +1296 -0
- {repr_cli-0.2.16 → repr_cli-0.2.18}/repr/templates.py +68 -4
- repr_cli-0.2.18/repr/timeline.py +710 -0
- {repr_cli-0.2.16 → repr_cli-0.2.18}/repr/tools.py +17 -8
- {repr_cli-0.2.16 → repr_cli-0.2.18}/repr_cli.egg-info/PKG-INFO +48 -10
- repr_cli-0.2.18/repr_cli.egg-info/SOURCES.txt +70 -0
- {repr_cli-0.2.16 → repr_cli-0.2.18}/repr_cli.egg-info/entry_points.txt +1 -0
- {repr_cli-0.2.16 → repr_cli-0.2.18}/repr_cli.egg-info/requires.txt +3 -0
- {repr_cli-0.2.16 → repr_cli-0.2.18}/tests/test_stories_review.py +2 -3
- {repr_cli-0.2.16 → repr_cli-0.2.18}/tests/test_token_budget.py +10 -3
- repr_cli-0.2.16/repr/cli.py +0 -2758
- repr_cli-0.2.16/repr_cli.egg-info/SOURCES.txt +0 -38
- {repr_cli-0.2.16 → repr_cli-0.2.18}/LICENSE +0 -0
- {repr_cli-0.2.16 → repr_cli-0.2.18}/repr/__main__.py +0 -0
- {repr_cli-0.2.16 → repr_cli-0.2.18}/repr/discovery.py +0 -0
- {repr_cli-0.2.16 → repr_cli-0.2.18}/repr/doctor.py +0 -0
- {repr_cli-0.2.16 → repr_cli-0.2.18}/repr/extractor.py +0 -0
- {repr_cli-0.2.16 → repr_cli-0.2.18}/repr/keychain.py +0 -0
- {repr_cli-0.2.16 → repr_cli-0.2.18}/repr/llm.py +0 -0
- {repr_cli-0.2.16 → repr_cli-0.2.18}/repr/privacy.py +0 -0
- {repr_cli-0.2.16 → repr_cli-0.2.18}/repr/telemetry.py +0 -0
- {repr_cli-0.2.16 → repr_cli-0.2.18}/repr/ui.py +0 -0
- {repr_cli-0.2.16 → repr_cli-0.2.18}/repr/updater.py +0 -0
- {repr_cli-0.2.16 → repr_cli-0.2.18}/repr_cli.egg-info/dependency_links.txt +0 -0
- {repr_cli-0.2.16 → repr_cli-0.2.18}/repr_cli.egg-info/top_level.txt +0 -0
- {repr_cli-0.2.16 → repr_cli-0.2.18}/setup.cfg +0 -0
- {repr_cli-0.2.16 → repr_cli-0.2.18}/setup.py +0 -0
- {repr_cli-0.2.16 → repr_cli-0.2.18}/tests/test_deduplication.py +0 -0
- {repr_cli-0.2.16 → repr_cli-0.2.18}/tests/test_environment_variables.py +0 -0
- {repr_cli-0.2.16 → repr_cli-0.2.18}/tests/test_network_sandboxing.py +0 -0
- {repr_cli-0.2.16 → repr_cli-0.2.18}/tests/test_privacy_guarantees.py +0 -0
- {repr_cli-0.2.16 → repr_cli-0.2.18}/tests/test_profile_export.py +0 -0
- {repr_cli-0.2.16 → repr_cli-0.2.18}/tests/test_repo_identity.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: repr-cli
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.18
|
|
4
4
|
Summary: A beautiful, privacy-first CLI that analyzes your code repositories and generates a compelling developer profile
|
|
5
5
|
Author-email: Repr <hello@repr.dev>
|
|
6
6
|
License: MIT License
|
|
@@ -49,6 +49,9 @@ Requires-Dist: httpx>=0.25.0
|
|
|
49
49
|
Requires-Dist: openai>=1.0.0
|
|
50
50
|
Requires-Dist: keyring>=24.0.0
|
|
51
51
|
Requires-Dist: pydantic>=2.0.0
|
|
52
|
+
Requires-Dist: fastmcp<3,>=2.0.0
|
|
53
|
+
Requires-Dist: jinja2>=3.1.0
|
|
54
|
+
Requires-Dist: simple-term-menu>=1.6.0
|
|
52
55
|
Provides-Extra: dev
|
|
53
56
|
Requires-Dist: pytest>=7.0.0; extra == "dev"
|
|
54
57
|
Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
|
|
@@ -56,17 +59,27 @@ Requires-Dist: black>=23.0.0; extra == "dev"
|
|
|
56
59
|
Requires-Dist: ruff>=0.1.0; extra == "dev"
|
|
57
60
|
Dynamic: license-file
|
|
58
61
|
|
|
62
|
+
<p align="center">
|
|
63
|
+
<strong>Official $REPR Links:</strong> <a href="https://bags.fm/5WsMLk8Zb8PWTXoHev7Ry6QDHNC2KSpY5x8R13GGBAGS">Bags.fm</a> · <a href="https://axiom.trade/t/5WsMLk8Zb8PWTXoHev7Ry6QDHNC2KSpY5x8R13GGBAGS">Axiom</a> · <a href="https://jup.ag/swap?sell=So11111111111111111111111111111111111111112&buy=5WsMLk8Zb8PWTXoHev7Ry6QDHNC2KSpY5x8R13GGBAGS">Jupiter</a> · <a href="https://photon-sol.tinyastro.io/en/lp/5WsMLk8Zb8PWTXoHev7Ry6QDHNC2KSpY5x8R13GGBAGS">Photon</a>
|
|
64
|
+
<br>
|
|
65
|
+
<strong>Official CA:</strong> <code>5WsMLk8Zb8PWTXoHev7Ry6QDHNC2KSpY5x8R13GGBAGS</code> (on Solana)
|
|
66
|
+
</p>
|
|
67
|
+
|
|
68
|
+
|
|
59
69
|
# Repr CLI
|
|
60
70
|
|
|
61
|
-
**
|
|
71
|
+
**The developer context layer.**
|
|
62
72
|
|
|
63
|
-
|
|
73
|
+
Your git history is rich with context about what you build, how you think, and how you grow. repr captures that context and makes it available everywhere — to AI agents, to applications, to you.
|
|
74
|
+
|
|
75
|
+
**Use it however you need:** Interview prep, performance reviews, social content, AI agent context — these are all *lenses* into the same underlying data. Local-first, privacy-focused, works offline.
|
|
64
76
|
|
|
65
77
|
[](https://pypi.org/project/repr-cli/)
|
|
66
78
|
[](https://pypi.org/project/repr-cli/)
|
|
67
79
|
[](https://opensource.org/licenses/MIT)
|
|
68
80
|
[](https://github.com/repr-app/cli/actions/workflows/build-release.yml)
|
|
69
81
|
|
|
82
|
+
|
|
70
83
|
## Real Developers, Real Results
|
|
71
84
|
|
|
72
85
|
> *"I used repr to prep for my Meta interview in 30 minutes. Turned 2 years of commits into 8 STAR-format stories. Nailed every behavioral question."*
|
|
@@ -78,17 +91,31 @@ Turn commits into professional narratives for interviews, performance reviews, a
|
|
|
78
91
|
> *"I run repr in a fully air-gapped environment. Zero network calls, 100% local. It's the only tool I trust for this."*
|
|
79
92
|
> **— Alex, Defense Contractor**
|
|
80
93
|
|
|
81
|
-
##
|
|
94
|
+
## Lenses (Ways to Use Your Context)
|
|
82
95
|
|
|
83
|
-
-
|
|
84
|
-
-
|
|
85
|
-
-
|
|
86
|
-
-
|
|
87
|
-
-
|
|
88
|
-
-
|
|
96
|
+
- 🤖 **AI Agent Context** — MCP server lets Claude Code, Cursor, and other agents know your work history
|
|
97
|
+
- 🎯 **Interview Prep** — Generate STAR-format stories in 30 minutes (interview lens)
|
|
98
|
+
- 📊 **Performance Reviews** — Turn 6 months of work into quantified impact (resume lens)
|
|
99
|
+
- 🚀 **Sprint Demos** — Professional changelogs for stakeholders (changelog lens)
|
|
100
|
+
- 📱 **Build in Public** — Social posts from your actual work (content lens)
|
|
101
|
+
- 🔒 **Proof of Work** — Verified credentials from real commits (proof lens)
|
|
102
|
+
- 💼 **Engineering Managers** — Team summaries and sprint recaps
|
|
89
103
|
|
|
90
104
|
## Why Repr
|
|
91
105
|
|
|
106
|
+
### Context That Compounds
|
|
107
|
+
|
|
108
|
+
The longer you use repr, the richer your context becomes. By the time you need a resume, interview prep, or content — you have months of structured history ready to use. No other tool builds this persistent layer.
|
|
109
|
+
|
|
110
|
+
### AI-Native
|
|
111
|
+
|
|
112
|
+
repr exposes your context via MCP (Model Context Protocol), so AI agents like Claude Code, Cursor, and Clawdbot can know your work history and patterns. Your coding assistant finally understands *you*.
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
# Start MCP server for AI agents
|
|
116
|
+
repr mcp serve
|
|
117
|
+
```
|
|
118
|
+
|
|
92
119
|
### Privacy First (Not an Afterthought)
|
|
93
120
|
|
|
94
121
|
- ✅ **Local-first by default** — Your repos, diffs, and stories stay on your machine in `~/.repr/`
|
|
@@ -98,6 +125,16 @@ Turn commits into professional narratives for interviews, performance reviews, a
|
|
|
98
125
|
- ✅ **OS keychain** — API keys never touch config files, stored in system keychain
|
|
99
126
|
- ✅ **Zero telemetry** — No tracking, no analytics, no silent uploads
|
|
100
127
|
|
|
128
|
+
### Story Engine (New in v0.2.16)
|
|
129
|
+
|
|
130
|
+
`repr` now synthesizes **Stories** from your commits — coherent narratives that capture WHY and HOW you built something, not just WHAT changed.
|
|
131
|
+
|
|
132
|
+
- **Generate**: Create stories from your commits with `repr generate`
|
|
133
|
+
- **Dashboard**: Explore your work in a premium dark-mode UI with `repr dashboard` (or `rp dashboard`)
|
|
134
|
+
- **MCP Integration**: AI agents can answer questions about your implementation details
|
|
135
|
+
|
|
136
|
+
[Read the Story Engine Documentation →](docs/STORY_ENGINE.md)
|
|
137
|
+
|
|
101
138
|
### Time Savings
|
|
102
139
|
|
|
103
140
|
| Task | Without repr | With repr | Savings |
|
|
@@ -385,3 +422,4 @@ brew install repr
|
|
|
385
422
|
repr init ~/code
|
|
386
423
|
repr generate --local
|
|
387
424
|
```
|
|
425
|
+
|
|
@@ -1,14 +1,24 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<strong>Official $REPR Links:</strong> <a href="https://bags.fm/5WsMLk8Zb8PWTXoHev7Ry6QDHNC2KSpY5x8R13GGBAGS">Bags.fm</a> · <a href="https://axiom.trade/t/5WsMLk8Zb8PWTXoHev7Ry6QDHNC2KSpY5x8R13GGBAGS">Axiom</a> · <a href="https://jup.ag/swap?sell=So11111111111111111111111111111111111111112&buy=5WsMLk8Zb8PWTXoHev7Ry6QDHNC2KSpY5x8R13GGBAGS">Jupiter</a> · <a href="https://photon-sol.tinyastro.io/en/lp/5WsMLk8Zb8PWTXoHev7Ry6QDHNC2KSpY5x8R13GGBAGS">Photon</a>
|
|
3
|
+
<br>
|
|
4
|
+
<strong>Official CA:</strong> <code>5WsMLk8Zb8PWTXoHev7Ry6QDHNC2KSpY5x8R13GGBAGS</code> (on Solana)
|
|
5
|
+
</p>
|
|
6
|
+
|
|
7
|
+
|
|
1
8
|
# Repr CLI
|
|
2
9
|
|
|
3
|
-
**
|
|
10
|
+
**The developer context layer.**
|
|
4
11
|
|
|
5
|
-
|
|
12
|
+
Your git history is rich with context about what you build, how you think, and how you grow. repr captures that context and makes it available everywhere — to AI agents, to applications, to you.
|
|
13
|
+
|
|
14
|
+
**Use it however you need:** Interview prep, performance reviews, social content, AI agent context — these are all *lenses* into the same underlying data. Local-first, privacy-focused, works offline.
|
|
6
15
|
|
|
7
16
|
[](https://pypi.org/project/repr-cli/)
|
|
8
17
|
[](https://pypi.org/project/repr-cli/)
|
|
9
18
|
[](https://opensource.org/licenses/MIT)
|
|
10
19
|
[](https://github.com/repr-app/cli/actions/workflows/build-release.yml)
|
|
11
20
|
|
|
21
|
+
|
|
12
22
|
## Real Developers, Real Results
|
|
13
23
|
|
|
14
24
|
> *"I used repr to prep for my Meta interview in 30 minutes. Turned 2 years of commits into 8 STAR-format stories. Nailed every behavioral question."*
|
|
@@ -20,17 +30,31 @@ Turn commits into professional narratives for interviews, performance reviews, a
|
|
|
20
30
|
> *"I run repr in a fully air-gapped environment. Zero network calls, 100% local. It's the only tool I trust for this."*
|
|
21
31
|
> **— Alex, Defense Contractor**
|
|
22
32
|
|
|
23
|
-
##
|
|
33
|
+
## Lenses (Ways to Use Your Context)
|
|
24
34
|
|
|
25
|
-
-
|
|
26
|
-
-
|
|
27
|
-
-
|
|
28
|
-
-
|
|
29
|
-
-
|
|
30
|
-
-
|
|
35
|
+
- 🤖 **AI Agent Context** — MCP server lets Claude Code, Cursor, and other agents know your work history
|
|
36
|
+
- 🎯 **Interview Prep** — Generate STAR-format stories in 30 minutes (interview lens)
|
|
37
|
+
- 📊 **Performance Reviews** — Turn 6 months of work into quantified impact (resume lens)
|
|
38
|
+
- 🚀 **Sprint Demos** — Professional changelogs for stakeholders (changelog lens)
|
|
39
|
+
- 📱 **Build in Public** — Social posts from your actual work (content lens)
|
|
40
|
+
- 🔒 **Proof of Work** — Verified credentials from real commits (proof lens)
|
|
41
|
+
- 💼 **Engineering Managers** — Team summaries and sprint recaps
|
|
31
42
|
|
|
32
43
|
## Why Repr
|
|
33
44
|
|
|
45
|
+
### Context That Compounds
|
|
46
|
+
|
|
47
|
+
The longer you use repr, the richer your context becomes. By the time you need a resume, interview prep, or content — you have months of structured history ready to use. No other tool builds this persistent layer.
|
|
48
|
+
|
|
49
|
+
### AI-Native
|
|
50
|
+
|
|
51
|
+
repr exposes your context via MCP (Model Context Protocol), so AI agents like Claude Code, Cursor, and Clawdbot can know your work history and patterns. Your coding assistant finally understands *you*.
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
# Start MCP server for AI agents
|
|
55
|
+
repr mcp serve
|
|
56
|
+
```
|
|
57
|
+
|
|
34
58
|
### Privacy First (Not an Afterthought)
|
|
35
59
|
|
|
36
60
|
- ✅ **Local-first by default** — Your repos, diffs, and stories stay on your machine in `~/.repr/`
|
|
@@ -40,6 +64,16 @@ Turn commits into professional narratives for interviews, performance reviews, a
|
|
|
40
64
|
- ✅ **OS keychain** — API keys never touch config files, stored in system keychain
|
|
41
65
|
- ✅ **Zero telemetry** — No tracking, no analytics, no silent uploads
|
|
42
66
|
|
|
67
|
+
### Story Engine (New in v0.2.16)
|
|
68
|
+
|
|
69
|
+
`repr` now synthesizes **Stories** from your commits — coherent narratives that capture WHY and HOW you built something, not just WHAT changed.
|
|
70
|
+
|
|
71
|
+
- **Generate**: Create stories from your commits with `repr generate`
|
|
72
|
+
- **Dashboard**: Explore your work in a premium dark-mode UI with `repr dashboard` (or `rp dashboard`)
|
|
73
|
+
- **MCP Integration**: AI agents can answer questions about your implementation details
|
|
74
|
+
|
|
75
|
+
[Read the Story Engine Documentation →](docs/STORY_ENGINE.md)
|
|
76
|
+
|
|
43
77
|
### Time Savings
|
|
44
78
|
|
|
45
79
|
| Task | Without repr | With repr | Savings |
|
|
@@ -327,3 +361,4 @@ brew install repr
|
|
|
327
361
|
repr init ~/code
|
|
328
362
|
repr generate --local
|
|
329
363
|
```
|
|
364
|
+
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "repr-cli"
|
|
7
|
-
version = "0.2.
|
|
7
|
+
version = "0.2.18"
|
|
8
8
|
description = "A beautiful, privacy-first CLI that analyzes your code repositories and generates a compelling developer profile"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = {file = "LICENSE"}
|
|
@@ -33,6 +33,9 @@ dependencies = [
|
|
|
33
33
|
"openai>=1.0.0",
|
|
34
34
|
"keyring>=24.0.0",
|
|
35
35
|
"pydantic>=2.0.0",
|
|
36
|
+
"fastmcp>=2.0.0,<3",
|
|
37
|
+
"jinja2>=3.1.0",
|
|
38
|
+
"simple-term-menu>=1.6.0",
|
|
36
39
|
]
|
|
37
40
|
|
|
38
41
|
[project.optional-dependencies]
|
|
@@ -45,6 +48,7 @@ dev = [
|
|
|
45
48
|
|
|
46
49
|
[project.scripts]
|
|
47
50
|
repr = "repr.cli:app"
|
|
51
|
+
rp = "repr.cli:app"
|
|
48
52
|
|
|
49
53
|
[project.urls]
|
|
50
54
|
Homepage = "https://repr.dev"
|
|
@@ -55,6 +59,9 @@ Repository = "https://github.com/repr-app/cli"
|
|
|
55
59
|
where = ["."]
|
|
56
60
|
include = ["repr*"]
|
|
57
61
|
|
|
62
|
+
[tool.setuptools.package-data]
|
|
63
|
+
"repr.dashboard" = ["dist/**/*"]
|
|
64
|
+
|
|
58
65
|
[tool.black]
|
|
59
66
|
line-length = 100
|
|
60
67
|
target-version = ["py310"]
|