up-cli 0.2.0__py3-none-any.whl → 0.5.0__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.
Files changed (46) hide show
  1. up/__init__.py +1 -1
  2. up/ai_cli.py +229 -0
  3. up/cli.py +54 -9
  4. up/commands/agent.py +521 -0
  5. up/commands/bisect.py +343 -0
  6. up/commands/branch.py +350 -0
  7. up/commands/init.py +195 -6
  8. up/commands/learn.py +1392 -32
  9. up/commands/memory.py +545 -0
  10. up/commands/provenance.py +267 -0
  11. up/commands/review.py +239 -0
  12. up/commands/start.py +752 -42
  13. up/commands/status.py +173 -18
  14. up/commands/sync.py +317 -0
  15. up/commands/vibe.py +304 -0
  16. up/context.py +64 -10
  17. up/core/__init__.py +69 -0
  18. up/core/checkpoint.py +479 -0
  19. up/core/provenance.py +364 -0
  20. up/core/state.py +678 -0
  21. up/events.py +512 -0
  22. up/git/__init__.py +37 -0
  23. up/git/utils.py +270 -0
  24. up/git/worktree.py +331 -0
  25. up/learn/__init__.py +155 -0
  26. up/learn/analyzer.py +227 -0
  27. up/learn/plan.py +374 -0
  28. up/learn/research.py +511 -0
  29. up/learn/utils.py +117 -0
  30. up/memory.py +1096 -0
  31. up/parallel.py +551 -0
  32. up/templates/config/__init__.py +1 -1
  33. up/templates/docs/SKILL.md +28 -0
  34. up/templates/docs/__init__.py +341 -0
  35. up/templates/docs/standards/HEADERS.md +24 -0
  36. up/templates/docs/standards/STRUCTURE.md +18 -0
  37. up/templates/docs/standards/TEMPLATES.md +19 -0
  38. up/templates/loop/__init__.py +92 -32
  39. up/ui/__init__.py +14 -0
  40. up/ui/loop_display.py +650 -0
  41. up/ui/theme.py +137 -0
  42. {up_cli-0.2.0.dist-info → up_cli-0.5.0.dist-info}/METADATA +160 -15
  43. up_cli-0.5.0.dist-info/RECORD +55 -0
  44. up_cli-0.2.0.dist-info/RECORD +0 -23
  45. {up_cli-0.2.0.dist-info → up_cli-0.5.0.dist-info}/WHEEL +0 -0
  46. {up_cli-0.2.0.dist-info → up_cli-0.5.0.dist-info}/entry_points.txt +0 -0
up/ui/theme.py ADDED
@@ -0,0 +1,137 @@
1
+ """Cybersecurity/AI Theme for UP-CLI.
2
+
3
+ A dark, neon-accented theme inspired by cyberpunk aesthetics
4
+ and AI terminal interfaces.
5
+ """
6
+
7
+ from dataclasses import dataclass
8
+ from rich.style import Style
9
+ from rich.theme import Theme
10
+
11
+
12
+ @dataclass
13
+ class CyberTheme:
14
+ """Cybersecurity/AI color palette."""
15
+
16
+ # Primary colors
17
+ PRIMARY = "#00FFFF" # Cyan - main accent
18
+ SECONDARY = "#00FF41" # Matrix green
19
+ ACCENT = "#FF00FF" # Neon magenta
20
+
21
+ # Status colors
22
+ SUCCESS = "#00FF41" # Bright green
23
+ WARNING = "#FFB000" # Amber
24
+ ERROR = "#FF0040" # Neon red
25
+ INFO = "#00BFFF" # Deep sky blue
26
+
27
+ # UI colors
28
+ BORDER = "#00FFFF" # Cyan borders
29
+ BORDER_DIM = "#006666" # Dimmed cyan
30
+ TEXT = "#FFFFFF" # Bright white
31
+ TEXT_DIM = "#666666" # Gray
32
+ TEXT_MUTED = "#404040" # Dark gray
33
+
34
+ # Background accents (for contrast)
35
+ BG_HIGHLIGHT = "#001a1a" # Very dark cyan tint
36
+
37
+ # Progress bar colors
38
+ PROGRESS_COMPLETE = "#00FF41"
39
+ PROGRESS_REMAINING = "#333333"
40
+ PROGRESS_PULSE = "#00FFFF"
41
+
42
+ # Status indicators
43
+ STATUS_RUNNING = "#00FF41"
44
+ STATUS_PAUSED = "#00BFFF"
45
+ STATUS_FAILED = "#FF0040"
46
+ STATUS_COMPLETE = "#00FF41"
47
+ STATUS_VERIFYING = "#FFB000"
48
+
49
+ # Task status
50
+ TASK_COMPLETE = "#00FF41"
51
+ TASK_IN_PROGRESS = "#00FFFF"
52
+ TASK_PENDING = "#666666"
53
+ TASK_FAILED = "#FF0040"
54
+ TASK_SKIPPED = "#FFB000"
55
+
56
+
57
+ # Rich theme for console styling
58
+ THEME = Theme({
59
+ # Status styles
60
+ "status.running": Style(color=CyberTheme.STATUS_RUNNING, bold=True),
61
+ "status.paused": Style(color=CyberTheme.STATUS_PAUSED, bold=True),
62
+ "status.failed": Style(color=CyberTheme.STATUS_FAILED, bold=True),
63
+ "status.complete": Style(color=CyberTheme.STATUS_COMPLETE, bold=True),
64
+ "status.verifying": Style(color=CyberTheme.STATUS_VERIFYING, bold=True),
65
+
66
+ # UI elements
67
+ "title": Style(color=CyberTheme.PRIMARY, bold=True),
68
+ "subtitle": Style(color=CyberTheme.SECONDARY),
69
+ "border": Style(color=CyberTheme.BORDER),
70
+ "border.dim": Style(color=CyberTheme.BORDER_DIM),
71
+
72
+ # Text styles
73
+ "text": Style(color=CyberTheme.TEXT),
74
+ "text.dim": Style(color=CyberTheme.TEXT_DIM),
75
+ "text.muted": Style(color=CyberTheme.TEXT_MUTED),
76
+
77
+ # Task styles
78
+ "task.complete": Style(color=CyberTheme.TASK_COMPLETE),
79
+ "task.progress": Style(color=CyberTheme.TASK_IN_PROGRESS, bold=True),
80
+ "task.pending": Style(color=CyberTheme.TASK_PENDING),
81
+ "task.failed": Style(color=CyberTheme.TASK_FAILED),
82
+ "task.skipped": Style(color=CyberTheme.TASK_SKIPPED),
83
+
84
+ # Progress
85
+ "progress.complete": Style(color=CyberTheme.PROGRESS_COMPLETE),
86
+ "progress.remaining": Style(color=CyberTheme.PROGRESS_REMAINING),
87
+
88
+ # Accents
89
+ "accent": Style(color=CyberTheme.ACCENT),
90
+ "primary": Style(color=CyberTheme.PRIMARY),
91
+ "secondary": Style(color=CyberTheme.SECONDARY),
92
+
93
+ # Standard Rich overrides
94
+ "bar.complete": Style(color=CyberTheme.PROGRESS_COMPLETE),
95
+ "bar.finished": Style(color=CyberTheme.PROGRESS_COMPLETE),
96
+ "bar.pulse": Style(color=CyberTheme.PROGRESS_PULSE),
97
+ "progress.percentage": Style(color=CyberTheme.PRIMARY, bold=True),
98
+ "progress.description": Style(color=CyberTheme.TEXT),
99
+ "progress.elapsed": Style(color=CyberTheme.TEXT_DIM),
100
+ "progress.remaining": Style(color=CyberTheme.TEXT_DIM),
101
+ })
102
+
103
+
104
+ # Unicode symbols for status indicators
105
+ class Symbols:
106
+ """Terminal symbols for status display."""
107
+
108
+ # Status bullets
109
+ COMPLETE = "✓"
110
+ IN_PROGRESS = "→"
111
+ PENDING = "○"
112
+ FAILED = "✗"
113
+ SKIPPED = "⊘"
114
+ ROLLBACK = "↩"
115
+
116
+ # Animated spinner frames
117
+ SPINNER = ["⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏"]
118
+
119
+ # Progress bar characters
120
+ BAR_FULL = "█"
121
+ BAR_EMPTY = "░"
122
+ BAR_PARTIAL = ["▏", "▎", "▍", "▌", "▋", "▊", "▉"]
123
+
124
+ # Decorative
125
+ ARROW_RIGHT = "▸"
126
+ ARROW_DOWN = "▾"
127
+ DOT = "●"
128
+ CIRCUIT = "◈"
129
+ PULSE = "◉"
130
+
131
+ # Box drawing
132
+ CORNER_TL = "╭"
133
+ CORNER_TR = "╮"
134
+ CORNER_BL = "╰"
135
+ CORNER_BR = "╯"
136
+ HORIZONTAL = "─"
137
+ VERTICAL = "│"
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: up-cli
3
- Version: 0.2.0
4
- Summary: AI-powered project scaffolding with docs, learn, and product-loop systems
3
+ Version: 0.5.0
4
+ Summary: Verifiable, observable AI-assisted development for building stable, high-performance software
5
5
  Project-URL: Homepage, https://github.com/yourusername/up-cli
6
6
  Project-URL: Documentation, https://github.com/yourusername/up-cli#readme
7
7
  Project-URL: Repository, https://github.com/yourusername/up-cli
@@ -18,6 +18,7 @@ Classifier: Programming Language :: Python :: 3.11
18
18
  Classifier: Programming Language :: Python :: 3.12
19
19
  Classifier: Topic :: Software Development :: Code Generators
20
20
  Requires-Python: >=3.10
21
+ Requires-Dist: chromadb>=0.4.0
21
22
  Requires-Dist: click>=8.0
22
23
  Requires-Dist: pyyaml>=6.0
23
24
  Requires-Dist: rich>=13.0
@@ -54,6 +55,12 @@ up new my-project
54
55
  cd existing-project
55
56
  up init
56
57
 
58
+ # Start AI-assisted development with safety rails
59
+ up save # Checkpoint before AI work
60
+ up start # Run AI product loop
61
+ up diff # Review changes
62
+ up review # AI adversarial review
63
+
57
64
  # Check system health
58
65
  up status
59
66
 
@@ -67,17 +74,39 @@ up dashboard
67
74
  |---------|-------------|
68
75
  | `up new <name>` | Create a new project with full scaffolding |
69
76
  | `up new <name> --template <type>` | Create project from specific template |
70
- | `up init` | Initialize up systems in current directory |
77
+ | `up init` | Initialize up systems (auto-installs git hooks, builds memory) |
71
78
  | `up init --ai claude` | Initialize for Claude Code only |
72
79
  | `up init --ai cursor` | Initialize for Cursor AI only |
73
80
  | `up init --systems docs,learn` | Initialize specific systems only |
74
81
  | `up start` | Start the product loop |
75
82
  | `up start --resume` | Resume from last checkpoint |
76
83
  | `up start --dry-run` | Preview mode without changes |
84
+ | `up start --parallel` | Parallel multi-agent execution |
85
+ | `up save` | Create checkpoint before AI work |
86
+ | `up reset` | Restore to checkpoint |
87
+ | `up diff` | Review AI changes |
88
+ | `up review` | AI adversarial code review |
89
+ | `up agent spawn <name>` | Create agent worktree |
90
+ | `up agent status` | List all agents |
91
+ | `up agent merge <name>` | Squash and merge |
92
+ | `up bisect` | Find bug-introducing commit |
93
+ | `up provenance list` | View AI operation history |
94
+ | `up branch status` | Show branch hierarchy |
77
95
  | `up status` | Show health of all systems |
78
96
  | `up dashboard` | Live interactive health dashboard |
79
- | `up learn auto` | Auto-analyze project for improvements |
97
+ | `up sync` | Sync all systems (memory, docs) |
98
+ | `up hooks` | Install/manage git hooks for auto-sync |
99
+ | `up learn` | Auto-improve project with AI (requires vision map) |
100
+ | `up learn "topic"` | Learn about specific topic with AI research |
101
+ | `up learn "file.md"` | Analyze file with AI (auto-fallback to basic) |
102
+ | `up learn "path"` | Compare and learn from another project |
103
+ | `up learn analyze` | Analyze all research files with AI + progress bar |
80
104
  | `up learn plan` | Generate improvement PRD |
105
+ | `up learn --no-ai` | Disable AI (faster, basic extraction only) |
106
+ | `up memory search <query>` | Semantic search in memory |
107
+ | `up memory sync` | Index git commits and files |
108
+ | `up memory branch` | Show branch-specific knowledge |
109
+ | `up memory record` | Record learnings/decisions/errors |
81
110
  | `up summarize` | Summarize AI conversation history |
82
111
 
83
112
  ## Project Templates
@@ -152,8 +181,29 @@ up status --json
152
181
 
153
182
  ### Using the Learn System
154
183
 
184
+ All learn commands use Claude/Cursor AI by default with automatic fallback.
185
+
155
186
  ```bash
156
- # Auto-analyze your project and generate insights
187
+ # Self-improvement analysis (requires configured vision map)
188
+ up learn
189
+
190
+ # Learn about a specific topic (AI-powered research)
191
+ up learn "caching strategies"
192
+ up learn "authentication"
193
+ up learn "testing best practices"
194
+
195
+ # Learn from another project's design
196
+ up learn "../other-project"
197
+ up learn "~/projects/reference-app"
198
+
199
+ # Learn from a file (AI-powered analysis)
200
+ up learn "docs/architecture.md"
201
+ up learn "guide.txt"
202
+
203
+ # Analyze all research files with AI + progress bar
204
+ up learn analyze
205
+
206
+ # Auto-analyze without vision map requirement
157
207
  up learn auto
158
208
 
159
209
  # Check learning system status
@@ -161,8 +211,18 @@ up learn status
161
211
 
162
212
  # Generate a PRD from analysis
163
213
  up learn plan
214
+
215
+ # Disable AI for faster basic extraction
216
+ up learn --no-ai "docs/guide.md"
164
217
  ```
165
218
 
219
+ The learn system uses AI by default:
220
+ - **Self-improvement** (`up learn`): Analyzes current project with AI insights. Requires a configured `docs/roadmap/vision/PRODUCT_VISION.md`.
221
+ - **Topic learning** (`up learn "topic"`): AI-powered research for specific topics based on your project's tech stack.
222
+ - **File learning** (`up learn "file.md"`): AI analysis of files with automatic fallback to basic extraction.
223
+ - **Batch analysis** (`up learn analyze`): Process all research files with AI and tqdm progress bar.
224
+ - **Basic mode** (`--no-ai`): Skip AI for faster basic regex extraction.
225
+
166
226
  ### Using the Product Loop
167
227
 
168
228
  ```bash
@@ -224,9 +284,36 @@ Research and improvement pipeline:
224
284
  RESEARCH → ANALYZE → COMPARE → PLAN → IMPLEMENT
225
285
  ```
226
286
 
227
- - `/learn auto` - Auto-analyze project
228
- - `/learn research [topic]` - Research topic
229
- - `/learn plan` - Generate improvement PRD
287
+ Three learning modes:
288
+
289
+ | Mode | Command | Description |
290
+ |------|---------|-------------|
291
+ | Self-improvement | `up learn` | Analyze and improve current project (requires vision map) |
292
+ | Topic learning | `up learn "topic"` | Create research file for specific topic |
293
+ | External learning | `up learn "path"` | Learn from project directory or file |
294
+
295
+ Supported file types for learning:
296
+ - **Documentation**: `.md`, `.markdown`, `.txt`, `.rst`
297
+ - **Python**: `.py` (extracts patterns, classes, functions)
298
+ - **JavaScript/TypeScript**: `.js`, `.ts`, `.tsx`, `.jsx`
299
+ - **Config**: `.json`, `.yaml`, `.yml`, `.toml`
300
+
301
+ Additional commands:
302
+ - `up learn auto` - Analyze without vision map requirement
303
+ - `up learn analyze` - Extract patterns from research files
304
+ - `up learn plan` - Generate improvement PRD
305
+ - `up learn status` - Show learning system status
306
+
307
+ Storage:
308
+ ```
309
+ .claude/skills/learning-system/
310
+ ├── project_profile.json # Current project analysis
311
+ ├── research/ # Topic research files
312
+ ├── external_learnings/ # Learnings from other projects
313
+ ├── file_learnings/ # Learnings from individual files
314
+ ├── insights/ # Extracted patterns
315
+ └── prd.json # Generated improvement plan
316
+ ```
230
317
 
231
318
  ### 3. Product Loop (SESRC)
232
319
 
@@ -255,7 +342,40 @@ Tracks AI context window usage:
255
342
  - Suggests handoff at 90%
256
343
  - Persists across sessions
257
344
 
258
- ### 5. MCP Server Support
345
+ ### 5. Long-Term Memory System
346
+
347
+ Persistent knowledge that survives across sessions:
348
+
349
+ ```bash
350
+ # Search for relevant knowledge
351
+ up memory search "authentication"
352
+
353
+ # Sync git commits and files to memory
354
+ up memory sync
355
+
356
+ # Record learnings and decisions
357
+ up memory record --learning "Use dataclasses for configs"
358
+ up memory record --decision "Chose PostgreSQL for ACID compliance"
359
+
360
+ # View branch-specific knowledge
361
+ up memory branch
362
+ up memory branch feature-x --compare main
363
+ ```
364
+
365
+ Features:
366
+ - **Semantic search** using ChromaDB (local embeddings, no API required)
367
+ - **Branch/commit-aware** - knowledge tagged with git context
368
+ - **Auto-indexing** - git hooks sync commits automatically
369
+ - **Cross-session persistence** - remembers learnings, decisions, errors
370
+
371
+ Storage:
372
+ ```
373
+ .up/
374
+ └── memory/
375
+ └── chroma/ # ChromaDB vector database
376
+ ```
377
+
378
+ ### 6. MCP Server Support
259
379
 
260
380
  Model Context Protocol integration:
261
381
 
@@ -268,6 +388,22 @@ Model Context Protocol integration:
268
388
 
269
389
  ## AI Integration
270
390
 
391
+ ### Automatic Memory Sync
392
+
393
+ When you run `up init`, git hooks are automatically installed:
394
+
395
+ ```bash
396
+ # Git hooks auto-installed by up init
397
+ .git/hooks/
398
+ ├── post-commit # Auto-indexes commits to memory
399
+ └── post-checkout # Updates context on branch switch
400
+ ```
401
+
402
+ This means your knowledge is captured automatically:
403
+ - Every `git commit` is indexed to memory
404
+ - Branch switches update context
405
+ - No manual sync required for commits
406
+
271
407
  ### Generated Files
272
408
 
273
409
  | File | Purpose |
@@ -276,6 +412,7 @@ Model Context Protocol integration:
276
412
  | `.cursorrules` | Cursor AI rules |
277
413
  | `.cursor/rules/*.md` | File-specific rules |
278
414
  | `.claude/context_budget.json` | Context tracking |
415
+ | `.up/memory/` | Long-term memory storage |
279
416
 
280
417
  ### Cursor Rules
281
418
 
@@ -348,14 +485,19 @@ up-cli/
348
485
  ├── src/up/
349
486
  │ ├── cli.py # Main CLI
350
487
  │ ├── context.py # Context budget management
488
+ │ ├── memory.py # Long-term memory (ChromaDB)
489
+ │ ├── events.py # Event-driven integration
351
490
  │ ├── summarizer.py # Conversation analysis
352
491
  │ ├── commands/ # CLI commands
353
- │ │ ├── init.py
354
- │ │ ├── new.py
355
- │ │ ├── status.py
356
- │ │ ├── dashboard.py
357
- │ │ ├── learn.py
358
- │ │ └── summarize.py
492
+ │ │ ├── init.py # Initialize project
493
+ │ │ ├── new.py # Create new project
494
+ │ │ ├── status.py # System health
495
+ │ │ ├── dashboard.py # Live monitoring
496
+ │ │ ├── learn.py # Learning system
497
+ │ │ ├── memory.py # Memory commands
498
+ │ │ ├── sync.py # Sync & hooks
499
+ │ │ ├── start.py # Product loop
500
+ │ │ └── summarize.py # Conversation summary
359
501
  │ └── templates/ # Scaffolding templates
360
502
  │ ├── config/ # CLAUDE.md, .cursor/rules
361
503
  │ ├── docs/ # Documentation system
@@ -366,6 +508,9 @@ up-cli/
366
508
  ├── scripts/ # Utility scripts
367
509
  │ ├── export_claude_history.py
368
510
  │ └── export_cursor_history.py
511
+ ├── docs/ # Documentation
512
+ │ ├── architecture/ # System architecture
513
+ │ └── guides/ # Usage guides
369
514
  └── skills/ # Reference skills
370
515
  ```
371
516
 
@@ -0,0 +1,55 @@
1
+ up/__init__.py,sha256=ztAXxPeAW-HvU53VT9OnV8VS6zlKIfAa0IuTPWys5I4,70
2
+ up/ai_cli.py,sha256=sBUZC5QEOu5R4C_VmmmsEJ0J3G3XNYv4zhd2uhjDONg,7032
3
+ up/cli.py,sha256=SRJzOKXunm8BDIPN3-GAmGMgag0S5lU_0kee6KdPdd4,3156
4
+ up/context.py,sha256=Fu6ZDuOFNxef24sRojE5idy0hSyTAZnRwBoZHITDkUg,14010
5
+ up/events.py,sha256=-MgGW6L8mPOQmNhoB2Ry0bKaXbjTmzpGMZGtKJRDnaA,15006
6
+ up/memory.py,sha256=nBU8xwu5S13_U2IpO7tHmW5_0JQXY4jaJ3MnxLwZZSY,39525
7
+ up/parallel.py,sha256=q_NRcVM8R6N8ueCvc0SqM-ZmbML3whVPD4HMJBf8WL4,16899
8
+ up/summarizer.py,sha256=JyKYIB2CkuFuNHFuqiw6v6oEsD7enLIl9O8xA_32qQI,13952
9
+ up/commands/__init__.py,sha256=95wKJUh3jcO5L0kj6UiA5Hanrs1mTnHv_L70PfmMNJ0,23
10
+ up/commands/agent.py,sha256=6SXIVh62JWOKbbJ1HOIbYNPH3IBIOmtERMbRyqDnw8Y,17171
11
+ up/commands/bisect.py,sha256=a19zVUp-DJzYeWiZnSCScPtvzfJqMut23_g4HJY5tVQ,10938
12
+ up/commands/branch.py,sha256=rg04ENaHjfC1q-vmMPPrEZVph6QAOvQfVJUu1B2pew8,11298
13
+ up/commands/dashboard.py,sha256=7J7J3JFq95NecbOtSXQfm3zUytpacFVQrF0oMfdrlfg,7426
14
+ up/commands/init.py,sha256=eRlHS3J8rawjxOvxucC1fZxnkLzwFP1YQ41dkFi6bzU,7264
15
+ up/commands/learn.py,sha256=NhkSzDFsoDHn52bgQ4nTKQ9YLILKD5OBp8sZZDWgIPY,62079
16
+ up/commands/memory.py,sha256=9uA7dNhwTxB8u8zo7K9XH1eCWErj9wcsK-Roo71pr6s,19363
17
+ up/commands/new.py,sha256=PNyrYtWkJDEWkKN1Axa57YW_pJYL6zjHCuhqbjq-FIc,4733
18
+ up/commands/provenance.py,sha256=KzQHkxR5EmuXc75Tl-kKJZzwL5d_BxbR8IJyNeGKFoQ,8458
19
+ up/commands/review.py,sha256=M5yA1Zv_GTyRvfGPg9dMEmHLFbX6Gt92TbWayOkEgSA,7504
20
+ up/commands/start.py,sha256=judZE2visg6xjrvU41Z5hVU_yY3RgOabcJdJMD-RKb4,40023
21
+ up/commands/status.py,sha256=9iqrp4WKatbG7ubHQGQD27hTUfKLoLS4NAf2rkJiOWM,12940
22
+ up/commands/summarize.py,sha256=GqAm_Yj9-8UaHMHjAzyi6yRT5f2D8updi7BHP3OA7bA,3619
23
+ up/commands/sync.py,sha256=Rq4YM785N7mfYGDxoibEvU2PncKGrxwTuf_81bx1BMw,9336
24
+ up/commands/vibe.py,sha256=_0a7sOtmUF0Gmz0EFvnPI7ZJvloEvOoqPBdtFH-P3ns,10642
25
+ up/core/__init__.py,sha256=yKJTQO8Ed3UTHKfGVcSIXzoWifBcldbeFFjAJEhZLq4,1406
26
+ up/core/checkpoint.py,sha256=Ozq-olWMHJ51a_6bHyzOK1wafAyH-PgVvI4Jb2BkQss,15702
27
+ up/core/provenance.py,sha256=CHjY1VwF3oG_Z_25b6NCvPDsPM3h3OPyWvQQlLPOtTs,12119
28
+ up/core/state.py,sha256=TMegt206LGnK6fJs-G8mFDuY6pYAQRdRKUKPmDvCtxE,24547
29
+ up/git/__init__.py,sha256=kWHoyhVxEFAAj_0H0ZgB6K8B8LLpPFup1G8kDYnnnz4,723
30
+ up/git/utils.py,sha256=RkJ2WdcUhEIp_2IpZSwD0eLzSBphhHNYGORFH0H6uyk,7369
31
+ up/git/worktree.py,sha256=fseQ304u2tsPt5pyrekR3lEho1ON-NRObMVWkfXBH5Q,9359
32
+ up/learn/__init__.py,sha256=QDUWU1k4b3a0zrbPbA_x2_wQhCXMW9nBJpYIUTxtgw0,5360
33
+ up/learn/analyzer.py,sha256=spCIbvtyp-phj9u4O6vwBraVVd7Fuf7ATzP-70BvzA8,7364
34
+ up/learn/plan.py,sha256=ix-iszBHcUDriFzT8U_n8CXO__bVIYRxvdT4O0tTZok,12334
35
+ up/learn/research.py,sha256=4h3UCZvyOipZ1O6ySj_bB-Lxckue7kPbfGWmn0u2Vw0,18706
36
+ up/learn/utils.py,sha256=qPhkvPaDo-lUc5zFd-2THxvboHlr5xKqRykvtJiEcco,3688
37
+ up/templates/__init__.py,sha256=S_GEtcw4WCtlkK8iFtNJJpAxX8OhSaE6jJyacWIfgso,3282
38
+ up/templates/config/__init__.py,sha256=8YvxAx2OsXd8t8TIQjq2xY5DcKGA0gUo-ybOn5uCzN8,11945
39
+ up/templates/docs/SKILL.md,sha256=VEbtwxRsZrbrwe2HfxfWsURNa6X9M_useYTjbEuB6hs,705
40
+ up/templates/docs/__init__.py,sha256=yXjPFRgMvQvw-oHmU8fvCgfmkRB4rbYDG6gI-Tuaqv4,8267
41
+ up/templates/docs/standards/HEADERS.md,sha256=tNSudIfz1cAKlIp-UW80Byh-M4g8XBVJcsFVFC0GIs0,431
42
+ up/templates/docs/standards/STRUCTURE.md,sha256=-7yuVgXWa0EQhxY7FgFIPBHVrhtf8agAQL7WQrdpvGo,308
43
+ up/templates/docs/standards/TEMPLATES.md,sha256=CJ1-R2vsthFuSSptDneJLEModfMceLr54suLS2qHHJA,213
44
+ up/templates/docs_skill/__init__.py,sha256=0XNjIj5yuwlhqUmIZjjcfQo67J-m_op1RKAVjIn6bho,1201
45
+ up/templates/learn/__init__.py,sha256=NUDmkyfN3HN0ZILNbIpCcfpmG4ztw6RXmN405Ps5DTE,17313
46
+ up/templates/loop/__init__.py,sha256=7mZ3YyEPHvYodkpLNoumHk3Jkl9n_9tSEvRXF_Zb3D0,17927
47
+ up/templates/mcp/__init__.py,sha256=hN4_w1v50tFpf8-WZe2_tVGgNjOW5Ucilfue6qQiIv8,12686
48
+ up/templates/projects/__init__.py,sha256=kNmEP6uRnj_f-RkSUwIXwjuwO_ep5Pm10MbHda0cqCU,17717
49
+ up/ui/__init__.py,sha256=FumPtU-P-JYf_SgbyUvoxEewT9XzxlEp32yThTVqqXU,284
50
+ up/ui/loop_display.py,sha256=tg0txEUjSMh6XMnONmHjDbHyZa1OH-NoADfZJomu3g8,23049
51
+ up/ui/theme.py,sha256=ZdsKfRbARHp6CsDTr8GjA5zv4LKolg9hIaobj3QBrMc,4223
52
+ up_cli-0.5.0.dist-info/METADATA,sha256=9MMVcGkNS6Ki6o2oexovRxzrWLAfOvdKmEhGp6kIvu8,16165
53
+ up_cli-0.5.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
54
+ up_cli-0.5.0.dist-info/entry_points.txt,sha256=3xiuYEewTAtul4F7s7mBOBD8s4kUlkdcqNrrMGfLEHA,35
55
+ up_cli-0.5.0.dist-info/RECORD,,
@@ -1,23 +0,0 @@
1
- up/__init__.py,sha256=7suBsJ6_nxjrmi-aUlqOniZkgIWUttUoNQ_zT8vza9Q,70
2
- up/cli.py,sha256=vYwrxZaG3NX0LNuVNKe9eLmbQPPIvZPA9qZLC864kH0,1616
3
- up/context.py,sha256=Z_C5C7H_brC7IyQpRcEwlYToKcm9VKhzKyWIbE91yM8,11662
4
- up/summarizer.py,sha256=JyKYIB2CkuFuNHFuqiw6v6oEsD7enLIl9O8xA_32qQI,13952
5
- up/commands/__init__.py,sha256=95wKJUh3jcO5L0kj6UiA5Hanrs1mTnHv_L70PfmMNJ0,23
6
- up/commands/dashboard.py,sha256=7J7J3JFq95NecbOtSXQfm3zUytpacFVQrF0oMfdrlfg,7426
7
- up/commands/init.py,sha256=uBLYSict6O2nmywFIfgBbb_Isw8LkB3y5R09XAnrvfQ,1756
8
- up/commands/learn.py,sha256=iL-jlIfynVQ9a0VUl1qMQx5jXip8QyRcbXBQFK7ZR4k,12210
9
- up/commands/new.py,sha256=PNyrYtWkJDEWkKN1Axa57YW_pJYL6zjHCuhqbjq-FIc,4733
10
- up/commands/start.py,sha256=e61s28A-_rgmU_5nwKBQ3fuGbrieyL7S2152EZfun8A,13302
11
- up/commands/status.py,sha256=2lzCYMTd9dCPAxetMYNQd8RnJ83V4mmuovBt1JjTDy0,6721
12
- up/commands/summarize.py,sha256=GqAm_Yj9-8UaHMHjAzyi6yRT5f2D8updi7BHP3OA7bA,3619
13
- up/templates/__init__.py,sha256=S_GEtcw4WCtlkK8iFtNJJpAxX8OhSaE6jJyacWIfgso,3282
14
- up/templates/config/__init__.py,sha256=snm6ObGyQtAOEG3-X_v6iamoGiBV7uUVzBu6Sipo6nw,11937
15
- up/templates/docs_skill/__init__.py,sha256=0XNjIj5yuwlhqUmIZjjcfQo67J-m_op1RKAVjIn6bho,1201
16
- up/templates/learn/__init__.py,sha256=NUDmkyfN3HN0ZILNbIpCcfpmG4ztw6RXmN405Ps5DTE,17313
17
- up/templates/loop/__init__.py,sha256=PsemvvBaGdvJya8cqB6GEDuJomFIlJLD6Clu9bdVlyI,16216
18
- up/templates/mcp/__init__.py,sha256=hN4_w1v50tFpf8-WZe2_tVGgNjOW5Ucilfue6qQiIv8,12686
19
- up/templates/projects/__init__.py,sha256=kNmEP6uRnj_f-RkSUwIXwjuwO_ep5Pm10MbHda0cqCU,17717
20
- up_cli-0.2.0.dist-info/METADATA,sha256=sJf1vPSD5y5JVxB__J-CTpo2eNSFpya0UWvwsss_ZTo,10366
21
- up_cli-0.2.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
22
- up_cli-0.2.0.dist-info/entry_points.txt,sha256=3xiuYEewTAtul4F7s7mBOBD8s4kUlkdcqNrrMGfLEHA,35
23
- up_cli-0.2.0.dist-info/RECORD,,
File without changes