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.
- up/__init__.py +1 -1
- up/ai_cli.py +229 -0
- up/cli.py +54 -9
- up/commands/agent.py +521 -0
- up/commands/bisect.py +343 -0
- up/commands/branch.py +350 -0
- up/commands/init.py +195 -6
- up/commands/learn.py +1392 -32
- up/commands/memory.py +545 -0
- up/commands/provenance.py +267 -0
- up/commands/review.py +239 -0
- up/commands/start.py +752 -42
- up/commands/status.py +173 -18
- up/commands/sync.py +317 -0
- up/commands/vibe.py +304 -0
- up/context.py +64 -10
- up/core/__init__.py +69 -0
- up/core/checkpoint.py +479 -0
- up/core/provenance.py +364 -0
- up/core/state.py +678 -0
- up/events.py +512 -0
- up/git/__init__.py +37 -0
- up/git/utils.py +270 -0
- up/git/worktree.py +331 -0
- up/learn/__init__.py +155 -0
- up/learn/analyzer.py +227 -0
- up/learn/plan.py +374 -0
- up/learn/research.py +511 -0
- up/learn/utils.py +117 -0
- up/memory.py +1096 -0
- up/parallel.py +551 -0
- up/templates/config/__init__.py +1 -1
- up/templates/docs/SKILL.md +28 -0
- up/templates/docs/__init__.py +341 -0
- up/templates/docs/standards/HEADERS.md +24 -0
- up/templates/docs/standards/STRUCTURE.md +18 -0
- up/templates/docs/standards/TEMPLATES.md +19 -0
- up/templates/loop/__init__.py +92 -32
- up/ui/__init__.py +14 -0
- up/ui/loop_display.py +650 -0
- up/ui/theme.py +137 -0
- {up_cli-0.2.0.dist-info → up_cli-0.5.0.dist-info}/METADATA +160 -15
- up_cli-0.5.0.dist-info/RECORD +55 -0
- up_cli-0.2.0.dist-info/RECORD +0 -23
- {up_cli-0.2.0.dist-info → up_cli-0.5.0.dist-info}/WHEEL +0 -0
- {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.
|
|
4
|
-
Summary: AI-
|
|
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
|
|
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
|
|
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
|
-
#
|
|
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
|
-
|
|
228
|
-
|
|
229
|
-
|
|
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.
|
|
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
|
-
│ │
|
|
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,,
|
up_cli-0.2.0.dist-info/RECORD
DELETED
|
@@ -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
|
|
File without changes
|