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
Copy file name to clipboardExpand all lines: README.md
+21-6Lines changed: 21 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,15 +4,17 @@ SHAPE is an app to play Go with AI feedback, specifically designed to point out
4
4
5
5
This is an experimental project, and is unlikely to ever become very polished.
6
6
7
-
## Installation
7
+
## Quick Start
8
8
9
-
* Run install.sh to download the models.
10
-
* Run `poetry shell` and then `poetry install` to install the app in a local Python environment.
11
-
* Alternatively, run `pip install .` to install the app in your current Python environment.
9
+
Run the application directly using `uvx`:
12
10
13
-
## Usage
11
+
```bash
12
+
uvx goshape
13
+
```
14
14
15
-
* Run `shape` to start the app, or use `python shape/main.py`
15
+
The first time you run this, `uv` will automatically download the package, create a virtual environment, and install all dependencies.
16
+
17
+
When the application starts for the first time, it will check for the required KataGo models in `~/.katrain/`. If they are not found, a dialog will appear to guide you through downloading them.
16
18
17
19
## Manual
18
20
@@ -35,3 +37,16 @@ Note that a move being probable does not mean it is a good move.
35
37
You can select multiple heatmaps to get a blended view, where size/number is the average probability, and the color is the average rank (current, target, AI).
36
38
37
39
40
+
## TODO list from Gemini
41
+
42
+
Based on a code review, here are some suggested areas for improvement:
43
+
44
+
### High Impact
45
+
-**User-Friendly Errors (`main.py`):** Show GUI dialogs for errors instead of crashing the application.
46
+
47
+
### Medium Impact
48
+
-**Refactor `GameNode` (`game_logic.py`):** Extract board state and rule logic into a separate `Board` class to simplify `GameNode` and improve modularity.
0 commit comments