You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -4,28 +4,165 @@ This file provides guidance to agents when working with code in this repository.
4
4
5
5
## General Guidelines
6
6
7
-
1. Modern Python First: Use Python 3.12+ features extensively - built-in generics, pattern matching, and dataclasses.
8
-
2. KISS Principle: Aim for simplicity and clarity. Avoid unnecessary abstractions or metaprogramming.
9
-
3. DRY with Care: Reuse code appropriately but avoid over-engineering. Each command handler has single responsibility.
7
+
1. Simple is better than complex.
8
+
2. KISS (Keep It Simple, Stupid): Aim for simplicity and clarity. Avoid unnecessary abstractions or metaprogramming.
9
+
3. DRY (Don't Repeat Yourself): Reuse code appropriately but avoid over-engineering. Each command handler has single responsibility.
10
+
4. YAGNI (You Aren't Gonna Need It): Always implement things when you actually need them, never when you just foresee that you need them.
11
+
5. Confirm understanding before making changes: If you're unsure about the purpose of a piece of code, ask for clarification rather than making assumptions.
10
12
11
-
## Test after any change
13
+
## Project Overview
12
14
13
-
1. Activate venv before any test execution:
15
+
**My Unicorn** is a Python 3.12+ CLI tool for managing AppImages on Linux. It installs, updates, and verifies AppImage applications from GitHub repositories with hash verification (SHA256/SHA512).
16
+
17
+
**Key Technologies:**
18
+
19
+
- Python 3.12+ with asyncio/aiohttp for async operations
20
+
- Virtual environment (venv) for dependency isolation
21
+
- pytest for testing with async support
22
+
23
+
**Architecture:**
24
+
25
+
- Command pattern: Each CLI command has a dedicated handler in `my_unicorn/commands/`
26
+
- Catalog system: App definitions in `my_unicorn/catalog/` as JSON files
27
+
28
+
## Development Workflow
29
+
30
+
**Running the application:**
31
+
32
+
```bash
33
+
# Direct execution (development mode)
34
+
python run.py --help
35
+
python run.py install appflowy
36
+
python run.py update appflowy
37
+
```
38
+
39
+
**Available commands:**
40
+
41
+
-`install <app>` - Install an AppImage
42
+
-`update <app>` - Update an installed AppImage
43
+
-`remove <app>` - Remove an installed AppImage
44
+
-`list` - List installed AppImages
45
+
-`upgrade` - Upgrade all installed AppImages
46
+
-`backup` - Backup configuration
47
+
-`config` - Manage configuration
48
+
-`cache` - Manage cache
49
+
50
+
## Testing Instructions
51
+
52
+
**Always activate venv before testing:**
14
53
15
54
```bash
16
55
source .venv/bin/activate
17
56
```
18
57
19
-
2.Run pytest with following command to ensure all tests pass:
0 commit comments