Skip to content

β€οΈβ€πŸ©Ή The Monorepo: House of all projects and the main shared library

License

Notifications You must be signed in to change notification settings

BrokenSource/BrokenSource

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1,036 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Broken Source Software


Note

This repository is the main development environment for all my professional and personal projects, including libraries, applications, infrastructure and some private components.

Warning: Expect a developer-centric experience within a complex monorepo structure πŸ™‚

Always evolving code, a wisdom rabbit hole to know the ins and outs of the system as a whole. I could only hope to ever have it all properly documented, as the focus is always on the code itself.

  • This readme is intentionally vague in a sense, as there's just too much going on. Instead of talking about everything and nothing at the same time, go exploring the self-documented codebase!
  • Feel free to get in touch to learn how it works or python monorepos advice.

πŸ“¦ Structure

Roughly speaking, the important parts are:

♻️ Common

πŸ—Ώ Monorepo

🐍 Python

  • πŸ“/.venv: Global venv from uv
  • πŸ“/broken: Main shared library
  • πŸ“/dist: Common build directory

πŸ¦€ Rust

πŸ’‘ Tips

  • Export PYTHONPYCACHEPREFIX=/tmp/__pycache__ in /etc/environment to avoid *.pyc clutter
  • Always run uv sync --all-packages or uv sync --package (name) for select projects
  • Use docker compose run --rm --build (service) from docker-compose.yml
  • Add root="/tmp/containerd" in /etc/containerd/config.toml if you got the RAM to save SSD in Docker