From 9a971aa2b097d4974308d7715517f054d64358ea Mon Sep 17 00:00:00 2001 From: Masonlet Date: Tue, 9 Jun 2026 00:27:21 -0400 Subject: [PATCH 1/2] chore: update default profile and docs to use starlet-libs --- README.md | 36 ++++++++++++++++----------------- src/starlet_setup/config.py | 16 +++++++-------- src/starlet_setup/repository.py | 16 +++++++-------- tests/test_repository.py | 14 ++++++------- 4 files changed, 41 insertions(+), 41 deletions(-) diff --git a/README.md b/README.md index 34babf6..2cd5641 100644 --- a/README.md +++ b/README.md @@ -252,7 +252,7 @@ This flag tells your test repository to link against local modules instead of fe if(NOT BUILD_LOCAL) # Fetch dependencies from GitHub FetchContent_Declare(starlet_engine - GIT_REPOSITORY https://github.com/masonlet/starlet-engine.git + GIT_REPOSITORY https://github.com/starlet-libs/engine.git GIT_TAG main ) # ... other dependencies @@ -301,29 +301,29 @@ starlet-setup username/repo --mono-repo --cmake-arg=-DCMAKE_CXX_COMPILER=clang++ #### Default Repositories (🚀 Starlet Ecosystem) When using mono-repo mode without `--repos` or `--profile`, the script clones repositories based on your configuration. The default profile includes: -- `masonlet/starlet-math` -- `masonlet/starlet-logger` -- `masonlet/starlet-controls` -- `masonlet/starlet-scene` -- `masonlet/starlet-graphics` -- `masonlet/starlet-serializer` -- `masonlet/starlet-engine` +- `starlet-libs/math` +- `starlet-libs/logger` +- `starlet-libs/controls` +- `starlet-libs/scene` +- `starlet-libs/graphics` +- `starlet-libs/serializer` +- `starlet-libs/engine` - Your specified test repository (e.g., `masonlet/starlet-samples`) #### Mono-Repo Structure Mono-repo mode creates a workspace like this: ``` build-mono/ -├── CMakeLists.txt # Auto-generated root project -├── starlet-math/ -├── starlet-logger/ -├── starlet-controls/ -├── starlet-scene/ -├── starlet-graphics/ -├── starlet-serializer/ -├── starlet-engine/ -├── starlet-samples/ # Your test repo -└── build/ # Single build output +├── CMakeLists.txt # Auto-generated root project +├── math/ +├── logger/ +├── controls/ +├── scene/ +├── graphics/ +├── serializer/ +├── engine/ +├── starlet-samples/ # Your test repo +└── build/ # Single build output ``` This structure allows you to: diff --git a/src/starlet_setup/config.py b/src/starlet_setup/config.py index 6271682..d879ad6 100644 --- a/src/starlet_setup/config.py +++ b/src/starlet_setup/config.py @@ -111,13 +111,13 @@ def create_default_config() -> None: }, "profiles": { "default": [ - "masonlet/starlet-math", - "masonlet/starlet-logger", - "masonlet/starlet-controls", - "masonlet/starlet-scene", - "masonlet/starlet-graphics", - "masonlet/starlet-serializer", - "masonlet/starlet-engine" + "starlet-libs/math", + "starlet-libs/logger", + "starlet-libs/controls", + "starlet-libs/scene", + "starlet-libs/graphics", + "starlet-libs/serializer", + "starlet-libs/engine" ] } } @@ -252,4 +252,4 @@ def list_configs(config: dict[str, Any]) -> None: else: print(" CMake arguments:") for arg in cmake_args: - print(f" {arg}") \ No newline at end of file + print(f" {arg}") diff --git a/src/starlet_setup/repository.py b/src/starlet_setup/repository.py index b8bdd79..119683f 100644 --- a/src/starlet_setup/repository.py +++ b/src/starlet_setup/repository.py @@ -40,13 +40,13 @@ def get_default_repos(config: dict) -> list[str]: return list(default_repos) return [ - "masonlet/starlet-math", - "masonlet/starlet-logger", - "masonlet/starlet-controls", - "masonlet/starlet-scene", - "masonlet/starlet-graphics", - "masonlet/starlet-serializer", - "masonlet/starlet-engine" + "starlet-libs/math", + "starlet-libs/logger", + "starlet-libs/controls", + "starlet-libs/scene", + "starlet-libs/graphics", + "starlet-libs/serializer", + "starlet-libs/engine" ] @@ -79,4 +79,4 @@ def clone_repository( run_command(['git', 'clone', repo_url], cwd=target_dir, verbose=verbose) except SystemExit: print(f" Failed to clone {repo_path}") - raise \ No newline at end of file + raise diff --git a/tests/test_repository.py b/tests/test_repository.py index e7b9a04..eae3de3 100644 --- a/tests/test_repository.py +++ b/tests/test_repository.py @@ -20,14 +20,14 @@ def test_returns_full_url_unchanged(self): def test_converts_shorthand_to_https(self): """Should convert username/repo to HTTPS.""" - result = resolve_repo_url("masonlet/starlet-math") - assert result == "https://github.com/masonlet/starlet-math.git" + result = resolve_repo_url("starlet-libs/math") + assert result == "https://github.com/starlet-libs/math.git" def test_converts_shorthand_to_ssh(self): """Should convert username/repo to SSH when requested.""" - result = resolve_repo_url("masonlet/starlet-math", use_ssh=True) - assert result == "git@github.com:masonlet/starlet-math.git" + result = resolve_repo_url("starlet-libs/math", use_ssh=True) + assert result == "git@github.com:starlet-libs/math.git" class TestGetDefaultRepos: @@ -45,8 +45,8 @@ def test_returns_repos_from_config(self): def test_returns_hardcoded_defaults_when_config_empty(self): """Should fall back to built-in Starlet repos.""" result = get_default_repos({}) - assert "masonlet/starlet-math" in result - assert "masonlet/starlet-engine" in result + assert "starlet-libs/math" in result + assert "starlet-libs/engine" in result assert len(result) == 7 @@ -91,4 +91,4 @@ def test_raises_on_clone_failure(self, tmp_path): with patch('starlet_setup.repository.run_command') as mock_run, \ pytest.raises(SystemExit): mock_run.side_effect = SystemExit(1) - clone_repository("user/repo", tmp_path, use_ssh=False, verbose=False) \ No newline at end of file + clone_repository("user/repo", tmp_path, use_ssh=False, verbose=False) From c88b536e67b9f373591b30445d7956008b56c6b9 Mon Sep 17 00:00:00 2001 From: Masonlet Date: Tue, 9 Jun 2026 00:28:41 -0400 Subject: [PATCH 2/2] chore: update version --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 016ca81..8633417 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "starlet-setup" -version = "1.2.1" +version = "1.2.2" description = "Quick setup for CMake projects" readme = "README.md" requires-python = ">=3.6"