up-cli 0.1.1__tar.gz → 0.2.0__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.
- {up_cli-0.1.1 → up_cli-0.2.0}/.claude/settings.local.json +4 -1
- {up_cli-0.1.1 → up_cli-0.2.0}/.gitignore +4 -0
- up_cli-0.2.0/PKG-INFO +374 -0
- up_cli-0.2.0/Readme.md +343 -0
- {up_cli-0.1.1 → up_cli-0.2.0}/pyproject.toml +17 -4
- up_cli-0.2.0/src/up/cli.py +54 -0
- up_cli-0.2.0/src/up/commands/dashboard.py +248 -0
- up_cli-0.2.0/src/up/commands/learn.py +381 -0
- up_cli-0.2.0/src/up/commands/new.py +170 -0
- up_cli-0.2.0/src/up/commands/start.py +414 -0
- up_cli-0.2.0/src/up/commands/status.py +205 -0
- up_cli-0.2.0/src/up/commands/summarize.py +122 -0
- up_cli-0.2.0/src/up/context.py +367 -0
- up_cli-0.2.0/src/up/summarizer.py +407 -0
- up_cli-0.2.0/src/up/templates/__init__.py +122 -0
- up_cli-0.2.0/src/up/templates/config/__init__.py +568 -0
- up_cli-0.2.0/src/up/templates/learn/__init__.py +646 -0
- up_cli-0.2.0/src/up/templates/loop/__init__.py +550 -0
- up_cli-0.2.0/src/up/templates/mcp/__init__.py +474 -0
- up_cli-0.2.0/src/up/templates/projects/__init__.py +786 -0
- up_cli-0.1.1/PKG-INFO +0 -186
- up_cli-0.1.1/README.md +0 -158
- up_cli-0.1.1/Readme.md +0 -158
- up_cli-0.1.1/scripts/publish.sh +0 -58
- up_cli-0.1.1/src/up/cli.py +0 -28
- up_cli-0.1.1/src/up/commands/new.py +0 -72
- up_cli-0.1.1/src/up/templates/__init__.py +0 -54
- up_cli-0.1.1/src/up/templates/config/__init__.py +0 -86
- up_cli-0.1.1/src/up/templates/learn/__init__.py +0 -93
- up_cli-0.1.1/src/up/templates/loop/__init__.py +0 -91
- {up_cli-0.1.1 → up_cli-0.2.0}/scripts/export_claude_history.py +0 -0
- {up_cli-0.1.1 → up_cli-0.2.0}/scripts/export_cursor_history.py +0 -0
- {up_cli-0.1.1 → up_cli-0.2.0}/skills/docs-system/SKILL.md +0 -0
- {up_cli-0.1.1 → up_cli-0.2.0}/skills/docs-system/standards/HEADERS.md +0 -0
- {up_cli-0.1.1 → up_cli-0.2.0}/skills/docs-system/templates/CONTEXT.md +0 -0
- {up_cli-0.1.1 → up_cli-0.2.0}/skills/docs-system/templates/STRUCTURE.md +0 -0
- {up_cli-0.1.1 → up_cli-0.2.0}/skills/docs-system/templates/architecture_README.md +0 -0
- {up_cli-0.1.1 → up_cli-0.2.0}/skills/docs-system/templates/changelog_README.md +0 -0
- {up_cli-0.1.1 → up_cli-0.2.0}/skills/docs-system/templates/decisions_README.md +0 -0
- {up_cli-0.1.1 → up_cli-0.2.0}/skills/docs-system/templates/development_README.md +0 -0
- {up_cli-0.1.1 → up_cli-0.2.0}/skills/docs-system/templates/features_README.md +0 -0
- {up_cli-0.1.1 → up_cli-0.2.0}/skills/docs-system/templates/guides_README.md +0 -0
- {up_cli-0.1.1 → up_cli-0.2.0}/skills/docs-system/templates/handoff_README.md +0 -0
- {up_cli-0.1.1 → up_cli-0.2.0}/skills/docs-system/templates/learnings_README.md +0 -0
- {up_cli-0.1.1 → up_cli-0.2.0}/skills/docs-system/templates/operations_README.md +0 -0
- {up_cli-0.1.1 → up_cli-0.2.0}/skills/docs-system/templates/releases_README.md +0 -0
- {up_cli-0.1.1 → up_cli-0.2.0}/skills/docs-system/templates/research_README.md +0 -0
- {up_cli-0.1.1 → up_cli-0.2.0}/skills/docs-system/templates/reviews_README.md +0 -0
- {up_cli-0.1.1 → up_cli-0.2.0}/skills/docs-system/templates/roadmap_README.md +0 -0
- {up_cli-0.1.1 → up_cli-0.2.0}/skills/docs-system/templates/tests_README.md +0 -0
- {up_cli-0.1.1 → up_cli-0.2.0}/skills/docs-system/templates/todo_README.md +0 -0
- {up_cli-0.1.1 → up_cli-0.2.0}/skills/learning-system/README.md +0 -0
- {up_cli-0.1.1 → up_cli-0.2.0}/skills/learning-system/SKILL.md +0 -0
- {up_cli-0.1.1 → up_cli-0.2.0}/skills/learning-system/analysis_engine.py +0 -0
- {up_cli-0.1.1 → up_cli-0.2.0}/skills/learning-system/insights/gap-analysis.md +0 -0
- {up_cli-0.1.1 → up_cli-0.2.0}/skills/learning-system/insights/patterns.md +0 -0
- {up_cli-0.1.1 → up_cli-0.2.0}/skills/learning-system/learn.sh +0 -0
- {up_cli-0.1.1 → up_cli-0.2.0}/skills/learning-system/planning_engine.py +0 -0
- {up_cli-0.1.1 → up_cli-0.2.0}/skills/learning-system/prd.json +0 -0
- {up_cli-0.1.1 → up_cli-0.2.0}/skills/learning-system/project_analyzer.py +0 -0
- {up_cli-0.1.1 → up_cli-0.2.0}/skills/learning-system/research/2026-01-28-function-design-patterns.md +0 -0
- {up_cli-0.1.1 → up_cli-0.2.0}/skills/learning-system/research/2026-01-28-taint-analysis.md +0 -0
- {up_cli-0.1.1 → up_cli-0.2.0}/skills/learning-system/research/2026-01-28-web-hunt-dast.md +0 -0
- {up_cli-0.1.1 → up_cli-0.2.0}/skills/learning-system/research_agent.py +0 -0
- {up_cli-0.1.1 → up_cli-0.2.0}/skills/learning-system/sources.json +0 -0
- {up_cli-0.1.1 → up_cli-0.2.0}/skills/product-loop/LOOP_INSTRUCTIONS.md +0 -0
- {up_cli-0.1.1 → up_cli-0.2.0}/skills/product-loop/RALPH_HYBRID_README.md +0 -0
- {up_cli-0.1.1 → up_cli-0.2.0}/skills/product-loop/README.md +0 -0
- {up_cli-0.1.1 → up_cli-0.2.0}/skills/product-loop/SKILL.md +0 -0
- {up_cli-0.1.1 → up_cli-0.2.0}/skills/product-loop/SKILL_OLD.md +0 -0
- {up_cli-0.1.1 → up_cli-0.2.0}/skills/product-loop/autonomous_agent.py +0 -0
- {up_cli-0.1.1 → up_cli-0.2.0}/skills/product-loop/ralph_circuit_breaker.py +0 -0
- {up_cli-0.1.1 → up_cli-0.2.0}/skills/product-loop/ralph_hybrid.sh +0 -0
- {up_cli-0.1.1 → up_cli-0.2.0}/skills/product-loop/ralph_rate_limiter.py +0 -0
- {up_cli-0.1.1 → up_cli-0.2.0}/skills/product-loop/ralph_response_analyzer.py +0 -0
- {up_cli-0.1.1 → up_cli-0.2.0}/skills/product-loop/ralph_state.py +0 -0
- {up_cli-0.1.1 → up_cli-0.2.0}/skills/product-loop/run-loop-advanced.sh +0 -0
- {up_cli-0.1.1 → up_cli-0.2.0}/skills/product-loop/run-loop.sh +0 -0
- {up_cli-0.1.1 → up_cli-0.2.0}/skills/product-loop/start-autonomous.sh +0 -0
- {up_cli-0.1.1 → up_cli-0.2.0}/src/up/__init__.py +0 -0
- {up_cli-0.1.1 → up_cli-0.2.0}/src/up/commands/__init__.py +0 -0
- {up_cli-0.1.1 → up_cli-0.2.0}/src/up/commands/init.py +0 -0
- {up_cli-0.1.1 → up_cli-0.2.0}/src/up/templates/docs_skill/__init__.py +0 -0
- {up_cli-0.1.1 → up_cli-0.2.0}/tests/__init__.py +0 -0
- {up_cli-0.1.1 → up_cli-0.2.0}/tests/test_cursor_history.py +0 -0
up_cli-0.2.0/PKG-INFO
ADDED
|
@@ -0,0 +1,374 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: up-cli
|
|
3
|
+
Version: 0.2.0
|
|
4
|
+
Summary: AI-powered project scaffolding with docs, learn, and product-loop systems
|
|
5
|
+
Project-URL: Homepage, https://github.com/yourusername/up-cli
|
|
6
|
+
Project-URL: Documentation, https://github.com/yourusername/up-cli#readme
|
|
7
|
+
Project-URL: Repository, https://github.com/yourusername/up-cli
|
|
8
|
+
Author-email: Your Name <you@example.com>
|
|
9
|
+
License-Expression: MIT
|
|
10
|
+
Keywords: ai,claude,cli,cursor,mcp,productivity,scaffolding
|
|
11
|
+
Classifier: Development Status :: 4 - Beta
|
|
12
|
+
Classifier: Environment :: Console
|
|
13
|
+
Classifier: Intended Audience :: Developers
|
|
14
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
15
|
+
Classifier: Programming Language :: Python :: 3
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
19
|
+
Classifier: Topic :: Software Development :: Code Generators
|
|
20
|
+
Requires-Python: >=3.10
|
|
21
|
+
Requires-Dist: click>=8.0
|
|
22
|
+
Requires-Dist: pyyaml>=6.0
|
|
23
|
+
Requires-Dist: rich>=13.0
|
|
24
|
+
Requires-Dist: tqdm>=4.65.0
|
|
25
|
+
Provides-Extra: dev
|
|
26
|
+
Requires-Dist: mypy>=1.5.0; extra == 'dev'
|
|
27
|
+
Requires-Dist: pytest-cov>=4.0; extra == 'dev'
|
|
28
|
+
Requires-Dist: pytest>=7.0; extra == 'dev'
|
|
29
|
+
Requires-Dist: ruff>=0.1.0; extra == 'dev'
|
|
30
|
+
Description-Content-Type: text/markdown
|
|
31
|
+
|
|
32
|
+
# up-cli
|
|
33
|
+
|
|
34
|
+
<img width="3498" height="2182" alt="543426914-37655a9f-e661-4ab5-b994-e4e11f97dd95" src="https://github.com/user-attachments/assets/7cbc2614-af8e-41cb-be2f-df2b6cd43b07" />
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
An AI-powered CLI tool for scaffolding projects with built-in documentation, learning systems, and product-loop workflows designed for use with Claude Code and Cursor AI.
|
|
38
|
+
|
|
39
|
+
**Learned from real practice** - Built on insights from 5+ billion tokens of development experience and commercial products. Extracts best practices from chat history, documentation patterns, and proven workflows.
|
|
40
|
+
|
|
41
|
+
## Installation
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
pip install up-cli
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Quick Start
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
# Create new project
|
|
51
|
+
up new my-project
|
|
52
|
+
|
|
53
|
+
# Or initialize in existing project
|
|
54
|
+
cd existing-project
|
|
55
|
+
up init
|
|
56
|
+
|
|
57
|
+
# Check system health
|
|
58
|
+
up status
|
|
59
|
+
|
|
60
|
+
# Live dashboard
|
|
61
|
+
up dashboard
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Commands
|
|
65
|
+
|
|
66
|
+
| Command | Description |
|
|
67
|
+
|---------|-------------|
|
|
68
|
+
| `up new <name>` | Create a new project with full scaffolding |
|
|
69
|
+
| `up new <name> --template <type>` | Create project from specific template |
|
|
70
|
+
| `up init` | Initialize up systems in current directory |
|
|
71
|
+
| `up init --ai claude` | Initialize for Claude Code only |
|
|
72
|
+
| `up init --ai cursor` | Initialize for Cursor AI only |
|
|
73
|
+
| `up init --systems docs,learn` | Initialize specific systems only |
|
|
74
|
+
| `up start` | Start the product loop |
|
|
75
|
+
| `up start --resume` | Resume from last checkpoint |
|
|
76
|
+
| `up start --dry-run` | Preview mode without changes |
|
|
77
|
+
| `up status` | Show health of all systems |
|
|
78
|
+
| `up dashboard` | Live interactive health dashboard |
|
|
79
|
+
| `up learn auto` | Auto-analyze project for improvements |
|
|
80
|
+
| `up learn plan` | Generate improvement PRD |
|
|
81
|
+
| `up summarize` | Summarize AI conversation history |
|
|
82
|
+
|
|
83
|
+
## Project Templates
|
|
84
|
+
|
|
85
|
+
Create projects with pre-configured tech stacks:
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
# FastAPI backend with SQLAlchemy
|
|
89
|
+
up new my-api --template fastapi
|
|
90
|
+
|
|
91
|
+
# Next.js frontend with TypeScript
|
|
92
|
+
up new my-app --template nextjs
|
|
93
|
+
|
|
94
|
+
# Python library with packaging
|
|
95
|
+
up new my-lib --template python-lib
|
|
96
|
+
|
|
97
|
+
# Minimal structure
|
|
98
|
+
up new my-project --template minimal
|
|
99
|
+
|
|
100
|
+
# Full setup with MCP
|
|
101
|
+
up new my-project --template full
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
| Template | Description |
|
|
105
|
+
|----------|-------------|
|
|
106
|
+
| `minimal` | Basic structure with docs |
|
|
107
|
+
| `standard` | Full up systems (default) |
|
|
108
|
+
| `full` | Everything including MCP server |
|
|
109
|
+
| `fastapi` | FastAPI + SQLAlchemy + pytest |
|
|
110
|
+
| `nextjs` | Next.js 14 + TypeScript + Tailwind |
|
|
111
|
+
| `python-lib` | Python library with pyproject.toml |
|
|
112
|
+
|
|
113
|
+
## Usage Examples
|
|
114
|
+
|
|
115
|
+
### Create a new project
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
# Create a new project with all systems
|
|
119
|
+
up new my-saas-app
|
|
120
|
+
|
|
121
|
+
# Create with a specific template
|
|
122
|
+
up new my-api --template fastapi
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### Initialize in existing project
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
cd my-existing-project
|
|
129
|
+
|
|
130
|
+
# Full initialization
|
|
131
|
+
up init
|
|
132
|
+
|
|
133
|
+
# Claude Code focused setup
|
|
134
|
+
up init --ai claude
|
|
135
|
+
|
|
136
|
+
# Only add docs and learn systems
|
|
137
|
+
up init --systems docs,learn
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### Monitor System Health
|
|
141
|
+
|
|
142
|
+
```bash
|
|
143
|
+
# Quick status check
|
|
144
|
+
up status
|
|
145
|
+
|
|
146
|
+
# Live dashboard (updates every 5 seconds)
|
|
147
|
+
up dashboard
|
|
148
|
+
|
|
149
|
+
# JSON output for scripting
|
|
150
|
+
up status --json
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
### Using the Learn System
|
|
154
|
+
|
|
155
|
+
```bash
|
|
156
|
+
# Auto-analyze your project and generate insights
|
|
157
|
+
up learn auto
|
|
158
|
+
|
|
159
|
+
# Check learning system status
|
|
160
|
+
up learn status
|
|
161
|
+
|
|
162
|
+
# Generate a PRD from analysis
|
|
163
|
+
up learn plan
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
### Using the Product Loop
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
# Start the product loop
|
|
170
|
+
up start
|
|
171
|
+
|
|
172
|
+
# Resume from checkpoint
|
|
173
|
+
up start --resume
|
|
174
|
+
|
|
175
|
+
# Preview what would happen
|
|
176
|
+
up start --dry-run
|
|
177
|
+
|
|
178
|
+
# Start with specific task
|
|
179
|
+
up start --task US-003
|
|
180
|
+
|
|
181
|
+
# Use custom PRD file
|
|
182
|
+
up start --prd path/to/prd.json
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
### Summarize Conversations
|
|
186
|
+
|
|
187
|
+
```bash
|
|
188
|
+
# Summarize Cursor chat history
|
|
189
|
+
up summarize
|
|
190
|
+
|
|
191
|
+
# Export as JSON
|
|
192
|
+
up summarize --format json --output summary.json
|
|
193
|
+
|
|
194
|
+
# Filter by project
|
|
195
|
+
up summarize --project myproject
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
## Systems
|
|
199
|
+
|
|
200
|
+
### 1. Docs System
|
|
201
|
+
|
|
202
|
+
Comprehensive documentation structure:
|
|
203
|
+
|
|
204
|
+
```
|
|
205
|
+
docs/
|
|
206
|
+
├── CONTEXT.md # AI reads first
|
|
207
|
+
├── INDEX.md # Quick reference
|
|
208
|
+
├── roadmap/ # Strategic planning
|
|
209
|
+
│ ├── vision/ # Product vision
|
|
210
|
+
│ └── phases/ # Phase roadmaps
|
|
211
|
+
├── architecture/ # System design
|
|
212
|
+
├── features/ # Feature specs
|
|
213
|
+
├── changelog/ # Progress tracking
|
|
214
|
+
├── handoff/ # Session continuity
|
|
215
|
+
├── decisions/ # ADRs
|
|
216
|
+
└── learnings/ # Patterns discovered
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
### 2. Learn System
|
|
220
|
+
|
|
221
|
+
Research and improvement pipeline:
|
|
222
|
+
|
|
223
|
+
```
|
|
224
|
+
RESEARCH → ANALYZE → COMPARE → PLAN → IMPLEMENT
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
- `/learn auto` - Auto-analyze project
|
|
228
|
+
- `/learn research [topic]` - Research topic
|
|
229
|
+
- `/learn plan` - Generate improvement PRD
|
|
230
|
+
|
|
231
|
+
### 3. Product Loop (SESRC)
|
|
232
|
+
|
|
233
|
+
Autonomous development with safety guardrails:
|
|
234
|
+
|
|
235
|
+
| Principle | Implementation |
|
|
236
|
+
|-----------|----------------|
|
|
237
|
+
| **Stable** | Graceful degradation, fallback modes |
|
|
238
|
+
| **Efficient** | Token budgets, incremental testing |
|
|
239
|
+
| **Safe** | Input validation, path whitelisting |
|
|
240
|
+
| **Reliable** | Timeouts, idempotency, rollback |
|
|
241
|
+
| **Cost-effective** | Early termination, ROI threshold |
|
|
242
|
+
|
|
243
|
+
Features:
|
|
244
|
+
- Circuit breaker (max 3 failures)
|
|
245
|
+
- Checkpoint/rollback
|
|
246
|
+
- Health checks
|
|
247
|
+
- Budget limits
|
|
248
|
+
|
|
249
|
+
### 4. Context Budget
|
|
250
|
+
|
|
251
|
+
Tracks AI context window usage:
|
|
252
|
+
|
|
253
|
+
- Estimates token usage per file/message
|
|
254
|
+
- Warns at 80% capacity
|
|
255
|
+
- Suggests handoff at 90%
|
|
256
|
+
- Persists across sessions
|
|
257
|
+
|
|
258
|
+
### 5. MCP Server Support
|
|
259
|
+
|
|
260
|
+
Model Context Protocol integration:
|
|
261
|
+
|
|
262
|
+
```
|
|
263
|
+
.mcp/
|
|
264
|
+
├── config.json # Server configuration
|
|
265
|
+
├── tools/ # Custom tool definitions
|
|
266
|
+
└── README.md # Usage guide
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
## AI Integration
|
|
270
|
+
|
|
271
|
+
### Generated Files
|
|
272
|
+
|
|
273
|
+
| File | Purpose |
|
|
274
|
+
|------|---------|
|
|
275
|
+
| `CLAUDE.md` | Claude Code instructions |
|
|
276
|
+
| `.cursorrules` | Cursor AI rules |
|
|
277
|
+
| `.cursor/rules/*.md` | File-specific rules |
|
|
278
|
+
| `.claude/context_budget.json` | Context tracking |
|
|
279
|
+
|
|
280
|
+
### Cursor Rules
|
|
281
|
+
|
|
282
|
+
Generated rules for different file types:
|
|
283
|
+
- `main.md` - General project rules
|
|
284
|
+
- `python.md` - Python standards
|
|
285
|
+
- `typescript.md` - TypeScript standards
|
|
286
|
+
- `docs.md` - Documentation standards
|
|
287
|
+
- `tests.md` - Testing standards
|
|
288
|
+
|
|
289
|
+
## Design Principles & Practices
|
|
290
|
+
|
|
291
|
+
### AI-First Development
|
|
292
|
+
|
|
293
|
+
**Design for AI collaboration, not just human readability.**
|
|
294
|
+
|
|
295
|
+
- **Context-aware scaffolding** - Project structures optimized for AI agents to navigate and understand quickly
|
|
296
|
+
- **Explicit over implicit** - Clear file naming, directory structures, and documentation that AI can parse without ambiguity
|
|
297
|
+
- **Prompt-friendly patterns** - Code and docs written to be easily referenced in AI conversations
|
|
298
|
+
- **Tool integration** - Native support for Claude Code skills and Cursor AI rules
|
|
299
|
+
|
|
300
|
+
### Documentation-Driven Development
|
|
301
|
+
|
|
302
|
+
**Documentation is the source of truth, not an afterthought.**
|
|
303
|
+
|
|
304
|
+
- **Docs-first workflow** - Write documentation before implementation to clarify intent
|
|
305
|
+
- **Living documentation** - Docs evolve with the codebase through automated learning systems
|
|
306
|
+
- **Knowledge extraction** - `/learn` commands analyze patterns and generate insights from real usage
|
|
307
|
+
- **Structured knowledge** - Vision, roadmaps, and changelogs in predictable locations for AI and human consumption
|
|
308
|
+
|
|
309
|
+
### Product Loop Patterns (SESRC)
|
|
310
|
+
|
|
311
|
+
**Autonomous development with safety guardrails.**
|
|
312
|
+
|
|
313
|
+
- **Circuit breaker protection** - Max 3 consecutive failures before stopping to prevent runaway loops
|
|
314
|
+
- **Checkpoint/rollback** - Save state before risky operations, restore on failure
|
|
315
|
+
- **Health checks** - Validate system state between iterations
|
|
316
|
+
- **Budget limits** - Token and time constraints to prevent unbounded execution
|
|
317
|
+
- **Human-in-the-loop** - Critical decisions require explicit approval
|
|
318
|
+
|
|
319
|
+
### Core Practices
|
|
320
|
+
|
|
321
|
+
| Practice | Description |
|
|
322
|
+
|----------|-------------|
|
|
323
|
+
| **Incremental delivery** | Ship small, working increments over big-bang releases |
|
|
324
|
+
| **Fail fast, recover faster** | Detect issues early, rollback automatically |
|
|
325
|
+
| **Observable by default** | Logging, metrics, and state visible to both AI and humans |
|
|
326
|
+
| **Convention over configuration** | Sensible defaults that work out of the box |
|
|
327
|
+
|
|
328
|
+
## Development
|
|
329
|
+
|
|
330
|
+
```bash
|
|
331
|
+
# Install for development
|
|
332
|
+
pip install -e ".[dev]"
|
|
333
|
+
|
|
334
|
+
# Run tests
|
|
335
|
+
pytest
|
|
336
|
+
|
|
337
|
+
# Lint
|
|
338
|
+
ruff check src/
|
|
339
|
+
|
|
340
|
+
# Type check
|
|
341
|
+
mypy src/
|
|
342
|
+
```
|
|
343
|
+
|
|
344
|
+
## Project Structure
|
|
345
|
+
|
|
346
|
+
```
|
|
347
|
+
up-cli/
|
|
348
|
+
├── src/up/
|
|
349
|
+
│ ├── cli.py # Main CLI
|
|
350
|
+
│ ├── context.py # Context budget management
|
|
351
|
+
│ ├── summarizer.py # Conversation analysis
|
|
352
|
+
│ ├── commands/ # CLI commands
|
|
353
|
+
│ │ ├── init.py
|
|
354
|
+
│ │ ├── new.py
|
|
355
|
+
│ │ ├── status.py
|
|
356
|
+
│ │ ├── dashboard.py
|
|
357
|
+
│ │ ├── learn.py
|
|
358
|
+
│ │ └── summarize.py
|
|
359
|
+
│ └── templates/ # Scaffolding templates
|
|
360
|
+
│ ├── config/ # CLAUDE.md, .cursor/rules
|
|
361
|
+
│ ├── docs/ # Documentation system
|
|
362
|
+
│ ├── learn/ # Learning system
|
|
363
|
+
│ ├── loop/ # Product loop
|
|
364
|
+
│ ├── mcp/ # MCP server
|
|
365
|
+
│ └── projects/ # Project templates
|
|
366
|
+
├── scripts/ # Utility scripts
|
|
367
|
+
│ ├── export_claude_history.py
|
|
368
|
+
│ └── export_cursor_history.py
|
|
369
|
+
└── skills/ # Reference skills
|
|
370
|
+
```
|
|
371
|
+
|
|
372
|
+
## License
|
|
373
|
+
|
|
374
|
+
MIT
|