Tools to rebuild Scratch's remix tree feature!
🌐 Try the web version instantly: https://remixtree.alass.dev
#BringBackRemixTrees
Like it? Star the repo to help others find it and make me feel good 🥺
CLI Version: Project 948573479
remixtree 948573479 --output tree.txt --verbose
Web Version: Try it instantly at remixtree.alass.dev!
Scratch removed the remix tree feature without any warning... So, here we go again, as a webapp and a CLI!
This tool fetches a project's remixes and builds a tree showing how all the remixes connect, using the official scratch API.
- Web version built with
FastAPI, CLI built withrich - Async, can create large trees decently fast
- Export to JSON or CSV, not just plain text (finally!)
- Batch mode: throw a bunch of project IDs at it and it builds em all
--statsshows loves/views/faves on every project (web shows em too now)- Optional verbose mode to go crazy (CLI-only)
- Save the full remix tree to a file if ya want to
- Supports max depth if you wanna show empathy for the Scratch Servers (CLI-only)
- Works on Linux, macOS, and Windows (Python 3.9+) (hopefully, if not, tell me)
pip install --user pipx
pipx install remixtreepip install remixtree
(This is only for the CLI, the WebApp is pretty self-explanatory)
remixtree 1223809053 --depth 3 --output tree_output.txt
remixtree 1223809053 --stats # show loves/views/faves inline
remixtree 1223809053 -o tree.json # format guessed from the extension
remixtree 1223809053 -o tree.csv # ...same deal, spreadsheet time
remixtree 111 222 333 -o tree.txt # batch! saves tree_111.txt, tree_222.txt, ...
-h, --help:
get a list of flags like this one
-d, --depth:
specify how deep the tree should go, default is unlimited
-t, --timeout:
request timeout in seconds, default is 300
-v, --verbose:
just try it, you'll see for yourself
-o, --output:
probably the most important flag, specify where the tree should be saved
-f, --format:
txt / json / csv. skip it and i'll guess from the -o file extension (else txt)
-s, --stats:
show loves/views/faves next to each project
-c, --color:
enable color coding by depth (disabled by default), will use rich color formatting
└── root(1196834984)
├── » planet b «(1198230426)
│ └── » planet b « remix(1212924547)
├── Apex Construction (BB7 Entry)(1198230627)
├── pinnacle constructions(1198232264)
├── R1(1198238918)
│ └── R1 remix(1223273999)
├── ⬠ equilux branding (1198261493)
├── BB7 - Keystone Works(1198288240)
├── AEDIFI(1198372015)
├── Mace - BB7 R1(1198407780)
...
- ASCII tree visualization
- Async fetching
- Depth limiting
- Verbose mode
- File output
- Color coding
- Interactive tree navigation (yes, but not the original tree yet)
- Export to JSON/CSV
- Web interface
- Batch processing
- Search/filter on the web (big trees get unwieldy fast)

