mindsystem-cc 3.2.3 → 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/agents/ms-code-simplifier.md +215 -0
- package/agents/ms-consolidator.md +377 -0
- package/agents/ms-executor.md +32 -261
- package/{commands/ms/simplify-flutter.md → agents/ms-flutter-simplifier.md} +41 -49
- package/agents/ms-researcher.md +2 -2
- package/commands/ms/complete-milestone.md +24 -3
- package/commands/ms/do-work.md +17 -3
- package/commands/ms/execute-phase.md +29 -14
- package/commands/ms/help.md +1 -1
- package/commands/ms/new-milestone.md +42 -30
- package/commands/ms/progress.md +1 -1
- package/commands/ms/research-project.md +8 -0
- package/commands/ms/review-design.md +1 -1
- package/mindsystem/references/git-integration.md +2 -2
- package/mindsystem/references/goal-backward.md +2 -2
- package/mindsystem/references/principles.md +1 -1
- package/mindsystem/templates/adhoc-summary.md +3 -0
- package/mindsystem/templates/codebase/architecture.md +2 -2
- package/mindsystem/templates/codebase/structure.md +1 -1
- package/mindsystem/templates/config.json +2 -1
- package/mindsystem/templates/decisions.md +145 -0
- package/mindsystem/workflows/complete-milestone.md +66 -15
- package/mindsystem/workflows/create-milestone.md +60 -20
- package/mindsystem/workflows/do-work.md +81 -4
- package/mindsystem/workflows/execute-phase.md +66 -0
- package/mindsystem/workflows/map-codebase.md +9 -1
- package/mindsystem/workflows/verify-work.md +1 -1
- package/package.json +1 -1
- package/scripts/generate-adhoc-patch.sh +79 -0
- package/scripts/ms-lookup/uv.lock +17 -17
- package/commands/ms/discuss-milestone.md +0 -48
- package/commands/ms/linear.md +0 -195
- package/mindsystem/templates/milestone-context.md +0 -93
- package/scripts/ms-linear/ms_linear/__init__.py +0 -3
- package/scripts/ms-linear/ms_linear/__main__.py +0 -6
- package/scripts/ms-linear/ms_linear/__pycache__/__init__.cpython-314.pyc +0 -0
- package/scripts/ms-linear/ms_linear/__pycache__/__main__.cpython-314.pyc +0 -0
- package/scripts/ms-linear/ms_linear/__pycache__/cli.cpython-314.pyc +0 -0
- package/scripts/ms-linear/ms_linear/__pycache__/client.cpython-314.pyc +0 -0
- package/scripts/ms-linear/ms_linear/__pycache__/config.cpython-314.pyc +0 -0
- package/scripts/ms-linear/ms_linear/__pycache__/errors.cpython-314.pyc +0 -0
- package/scripts/ms-linear/ms_linear/__pycache__/output.cpython-314.pyc +0 -0
- package/scripts/ms-linear/ms_linear/cli.py +0 -604
- package/scripts/ms-linear/ms_linear/client.py +0 -503
- package/scripts/ms-linear/ms_linear/config.py +0 -104
- package/scripts/ms-linear/ms_linear/errors.py +0 -29
- package/scripts/ms-linear/ms_linear/output.py +0 -45
- package/scripts/ms-linear/pyproject.toml +0 -16
- package/scripts/ms-linear/uv.lock +0 -196
- package/scripts/ms-linear-wrapper.sh +0 -22
|
@@ -1,196 +0,0 @@
|
|
|
1
|
-
version = 1
|
|
2
|
-
revision = 3
|
|
3
|
-
requires-python = ">=3.10"
|
|
4
|
-
|
|
5
|
-
[[package]]
|
|
6
|
-
name = "anyio"
|
|
7
|
-
version = "4.12.1"
|
|
8
|
-
source = { registry = "https://pypi.org/simple" }
|
|
9
|
-
dependencies = [
|
|
10
|
-
{ name = "exceptiongroup", marker = "python_full_version < '3.11'" },
|
|
11
|
-
{ name = "idna" },
|
|
12
|
-
{ name = "typing-extensions", marker = "python_full_version < '3.13'" },
|
|
13
|
-
]
|
|
14
|
-
sdist = { url = "https://files.pythonhosted.org/packages/96/f0/5eb65b2bb0d09ac6776f2eb54adee6abe8228ea05b20a5ad0e4945de8aac/anyio-4.12.1.tar.gz", hash = "sha256:41cfcc3a4c85d3f05c932da7c26d0201ac36f72abd4435ba90d0464a3ffed703", size = 228685, upload-time = "2026-01-06T11:45:21.246Z" }
|
|
15
|
-
wheels = [
|
|
16
|
-
{ url = "https://files.pythonhosted.org/packages/38/0e/27be9fdef66e72d64c0cdc3cc2823101b80585f8119b5c112c2e8f5f7dab/anyio-4.12.1-py3-none-any.whl", hash = "sha256:d405828884fc140aa80a3c667b8beed277f1dfedec42ba031bd6ac3db606ab6c", size = 113592, upload-time = "2026-01-06T11:45:19.497Z" },
|
|
17
|
-
]
|
|
18
|
-
|
|
19
|
-
[[package]]
|
|
20
|
-
name = "certifi"
|
|
21
|
-
version = "2026.1.4"
|
|
22
|
-
source = { registry = "https://pypi.org/simple" }
|
|
23
|
-
sdist = { url = "https://files.pythonhosted.org/packages/e0/2d/a891ca51311197f6ad14a7ef42e2399f36cf2f9bd44752b3dc4eab60fdc5/certifi-2026.1.4.tar.gz", hash = "sha256:ac726dd470482006e014ad384921ed6438c457018f4b3d204aea4281258b2120", size = 154268, upload-time = "2026-01-04T02:42:41.825Z" }
|
|
24
|
-
wheels = [
|
|
25
|
-
{ url = "https://files.pythonhosted.org/packages/e6/ad/3cc14f097111b4de0040c83a525973216457bbeeb63739ef1ed275c1c021/certifi-2026.1.4-py3-none-any.whl", hash = "sha256:9943707519e4add1115f44c2bc244f782c0249876bf51b6599fee1ffbedd685c", size = 152900, upload-time = "2026-01-04T02:42:40.15Z" },
|
|
26
|
-
]
|
|
27
|
-
|
|
28
|
-
[[package]]
|
|
29
|
-
name = "click"
|
|
30
|
-
version = "8.3.1"
|
|
31
|
-
source = { registry = "https://pypi.org/simple" }
|
|
32
|
-
dependencies = [
|
|
33
|
-
{ name = "colorama", marker = "sys_platform == 'win32'" },
|
|
34
|
-
]
|
|
35
|
-
sdist = { url = "https://files.pythonhosted.org/packages/3d/fa/656b739db8587d7b5dfa22e22ed02566950fbfbcdc20311993483657a5c0/click-8.3.1.tar.gz", hash = "sha256:12ff4785d337a1bb490bb7e9c2b1ee5da3112e94a8622f26a6c77f5d2fc6842a", size = 295065, upload-time = "2025-11-15T20:45:42.706Z" }
|
|
36
|
-
wheels = [
|
|
37
|
-
{ url = "https://files.pythonhosted.org/packages/98/78/01c019cdb5d6498122777c1a43056ebb3ebfeef2076d9d026bfe15583b2b/click-8.3.1-py3-none-any.whl", hash = "sha256:981153a64e25f12d547d3426c367a4857371575ee7ad18df2a6183ab0545b2a6", size = 108274, upload-time = "2025-11-15T20:45:41.139Z" },
|
|
38
|
-
]
|
|
39
|
-
|
|
40
|
-
[[package]]
|
|
41
|
-
name = "colorama"
|
|
42
|
-
version = "0.4.6"
|
|
43
|
-
source = { registry = "https://pypi.org/simple" }
|
|
44
|
-
sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload-time = "2022-10-25T02:36:22.414Z" }
|
|
45
|
-
wheels = [
|
|
46
|
-
{ url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" },
|
|
47
|
-
]
|
|
48
|
-
|
|
49
|
-
[[package]]
|
|
50
|
-
name = "exceptiongroup"
|
|
51
|
-
version = "1.3.1"
|
|
52
|
-
source = { registry = "https://pypi.org/simple" }
|
|
53
|
-
dependencies = [
|
|
54
|
-
{ name = "typing-extensions", marker = "python_full_version < '3.13'" },
|
|
55
|
-
]
|
|
56
|
-
sdist = { url = "https://files.pythonhosted.org/packages/50/79/66800aadf48771f6b62f7eb014e352e5d06856655206165d775e675a02c9/exceptiongroup-1.3.1.tar.gz", hash = "sha256:8b412432c6055b0b7d14c310000ae93352ed6754f70fa8f7c34141f91c4e3219", size = 30371, upload-time = "2025-11-21T23:01:54.787Z" }
|
|
57
|
-
wheels = [
|
|
58
|
-
{ url = "https://files.pythonhosted.org/packages/8a/0e/97c33bf5009bdbac74fd2beace167cab3f978feb69cc36f1ef79360d6c4e/exceptiongroup-1.3.1-py3-none-any.whl", hash = "sha256:a7a39a3bd276781e98394987d3a5701d0c4edffb633bb7a5144577f82c773598", size = 16740, upload-time = "2025-11-21T23:01:53.443Z" },
|
|
59
|
-
]
|
|
60
|
-
|
|
61
|
-
[[package]]
|
|
62
|
-
name = "h11"
|
|
63
|
-
version = "0.16.0"
|
|
64
|
-
source = { registry = "https://pypi.org/simple" }
|
|
65
|
-
sdist = { url = "https://files.pythonhosted.org/packages/01/ee/02a2c011bdab74c6fb3c75474d40b3052059d95df7e73351460c8588d963/h11-0.16.0.tar.gz", hash = "sha256:4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1", size = 101250, upload-time = "2025-04-24T03:35:25.427Z" }
|
|
66
|
-
wheels = [
|
|
67
|
-
{ url = "https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl", hash = "sha256:63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86", size = 37515, upload-time = "2025-04-24T03:35:24.344Z" },
|
|
68
|
-
]
|
|
69
|
-
|
|
70
|
-
[[package]]
|
|
71
|
-
name = "httpcore"
|
|
72
|
-
version = "1.0.9"
|
|
73
|
-
source = { registry = "https://pypi.org/simple" }
|
|
74
|
-
dependencies = [
|
|
75
|
-
{ name = "certifi" },
|
|
76
|
-
{ name = "h11" },
|
|
77
|
-
]
|
|
78
|
-
sdist = { url = "https://files.pythonhosted.org/packages/06/94/82699a10bca87a5556c9c59b5963f2d039dbd239f25bc2a63907a05a14cb/httpcore-1.0.9.tar.gz", hash = "sha256:6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8", size = 85484, upload-time = "2025-04-24T22:06:22.219Z" }
|
|
79
|
-
wheels = [
|
|
80
|
-
{ url = "https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl", hash = "sha256:2d400746a40668fc9dec9810239072b40b4484b640a8c38fd654a024c7a1bf55", size = 78784, upload-time = "2025-04-24T22:06:20.566Z" },
|
|
81
|
-
]
|
|
82
|
-
|
|
83
|
-
[[package]]
|
|
84
|
-
name = "httpx"
|
|
85
|
-
version = "0.28.1"
|
|
86
|
-
source = { registry = "https://pypi.org/simple" }
|
|
87
|
-
dependencies = [
|
|
88
|
-
{ name = "anyio" },
|
|
89
|
-
{ name = "certifi" },
|
|
90
|
-
{ name = "httpcore" },
|
|
91
|
-
{ name = "idna" },
|
|
92
|
-
]
|
|
93
|
-
sdist = { url = "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc", size = 141406, upload-time = "2024-12-06T15:37:23.222Z" }
|
|
94
|
-
wheels = [
|
|
95
|
-
{ url = "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad", size = 73517, upload-time = "2024-12-06T15:37:21.509Z" },
|
|
96
|
-
]
|
|
97
|
-
|
|
98
|
-
[[package]]
|
|
99
|
-
name = "idna"
|
|
100
|
-
version = "3.11"
|
|
101
|
-
source = { registry = "https://pypi.org/simple" }
|
|
102
|
-
sdist = { url = "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz", hash = "sha256:795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902", size = 194582, upload-time = "2025-10-12T14:55:20.501Z" }
|
|
103
|
-
wheels = [
|
|
104
|
-
{ url = "https://files.pythonhosted.org/packages/0e/61/66938bbb5fc52dbdf84594873d5b51fb1f7c7794e9c0f5bd885f30bc507b/idna-3.11-py3-none-any.whl", hash = "sha256:771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea", size = 71008, upload-time = "2025-10-12T14:55:18.883Z" },
|
|
105
|
-
]
|
|
106
|
-
|
|
107
|
-
[[package]]
|
|
108
|
-
name = "markdown-it-py"
|
|
109
|
-
version = "4.0.0"
|
|
110
|
-
source = { registry = "https://pypi.org/simple" }
|
|
111
|
-
dependencies = [
|
|
112
|
-
{ name = "mdurl" },
|
|
113
|
-
]
|
|
114
|
-
sdist = { url = "https://files.pythonhosted.org/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz", hash = "sha256:cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3", size = 73070, upload-time = "2025-08-11T12:57:52.854Z" }
|
|
115
|
-
wheels = [
|
|
116
|
-
{ url = "https://files.pythonhosted.org/packages/94/54/e7d793b573f298e1c9013b8c4dade17d481164aa517d1d7148619c2cedbf/markdown_it_py-4.0.0-py3-none-any.whl", hash = "sha256:87327c59b172c5011896038353a81343b6754500a08cd7a4973bb48c6d578147", size = 87321, upload-time = "2025-08-11T12:57:51.923Z" },
|
|
117
|
-
]
|
|
118
|
-
|
|
119
|
-
[[package]]
|
|
120
|
-
name = "mdurl"
|
|
121
|
-
version = "0.1.2"
|
|
122
|
-
source = { registry = "https://pypi.org/simple" }
|
|
123
|
-
sdist = { url = "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba", size = 8729, upload-time = "2022-08-14T12:40:10.846Z" }
|
|
124
|
-
wheels = [
|
|
125
|
-
{ url = "https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8", size = 9979, upload-time = "2022-08-14T12:40:09.779Z" },
|
|
126
|
-
]
|
|
127
|
-
|
|
128
|
-
[[package]]
|
|
129
|
-
name = "ms-linear"
|
|
130
|
-
version = "1.0.0"
|
|
131
|
-
source = { editable = "." }
|
|
132
|
-
dependencies = [
|
|
133
|
-
{ name = "httpx" },
|
|
134
|
-
{ name = "typer" },
|
|
135
|
-
]
|
|
136
|
-
|
|
137
|
-
[package.metadata]
|
|
138
|
-
requires-dist = [
|
|
139
|
-
{ name = "httpx", specifier = ">=0.25.0" },
|
|
140
|
-
{ name = "typer", specifier = ">=0.9.0" },
|
|
141
|
-
]
|
|
142
|
-
|
|
143
|
-
[[package]]
|
|
144
|
-
name = "pygments"
|
|
145
|
-
version = "2.19.2"
|
|
146
|
-
source = { registry = "https://pypi.org/simple" }
|
|
147
|
-
sdist = { url = "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz", hash = "sha256:636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887", size = 4968631, upload-time = "2025-06-21T13:39:12.283Z" }
|
|
148
|
-
wheels = [
|
|
149
|
-
{ url = "https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl", hash = "sha256:86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b", size = 1225217, upload-time = "2025-06-21T13:39:07.939Z" },
|
|
150
|
-
]
|
|
151
|
-
|
|
152
|
-
[[package]]
|
|
153
|
-
name = "rich"
|
|
154
|
-
version = "14.3.1"
|
|
155
|
-
source = { registry = "https://pypi.org/simple" }
|
|
156
|
-
dependencies = [
|
|
157
|
-
{ name = "markdown-it-py" },
|
|
158
|
-
{ name = "pygments" },
|
|
159
|
-
]
|
|
160
|
-
sdist = { url = "https://files.pythonhosted.org/packages/a1/84/4831f881aa6ff3c976f6d6809b58cdfa350593ffc0dc3c58f5f6586780fb/rich-14.3.1.tar.gz", hash = "sha256:b8c5f568a3a749f9290ec6bddedf835cec33696bfc1e48bcfecb276c7386e4b8", size = 230125, upload-time = "2026-01-24T21:40:44.847Z" }
|
|
161
|
-
wheels = [
|
|
162
|
-
{ url = "https://files.pythonhosted.org/packages/87/2a/a1810c8627b9ec8c57ec5ec325d306701ae7be50235e8fd81266e002a3cc/rich-14.3.1-py3-none-any.whl", hash = "sha256:da750b1aebbff0b372557426fb3f35ba56de8ef954b3190315eb64076d6fb54e", size = 309952, upload-time = "2026-01-24T21:40:42.969Z" },
|
|
163
|
-
]
|
|
164
|
-
|
|
165
|
-
[[package]]
|
|
166
|
-
name = "shellingham"
|
|
167
|
-
version = "1.5.4"
|
|
168
|
-
source = { registry = "https://pypi.org/simple" }
|
|
169
|
-
sdist = { url = "https://files.pythonhosted.org/packages/58/15/8b3609fd3830ef7b27b655beb4b4e9c62313a4e8da8c676e142cc210d58e/shellingham-1.5.4.tar.gz", hash = "sha256:8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de", size = 10310, upload-time = "2023-10-24T04:13:40.426Z" }
|
|
170
|
-
wheels = [
|
|
171
|
-
{ url = "https://files.pythonhosted.org/packages/e0/f9/0595336914c5619e5f28a1fb793285925a8cd4b432c9da0a987836c7f822/shellingham-1.5.4-py2.py3-none-any.whl", hash = "sha256:7ecfff8f2fd72616f7481040475a65b2bf8af90a56c89140852d1120324e8686", size = 9755, upload-time = "2023-10-24T04:13:38.866Z" },
|
|
172
|
-
]
|
|
173
|
-
|
|
174
|
-
[[package]]
|
|
175
|
-
name = "typer"
|
|
176
|
-
version = "0.21.1"
|
|
177
|
-
source = { registry = "https://pypi.org/simple" }
|
|
178
|
-
dependencies = [
|
|
179
|
-
{ name = "click" },
|
|
180
|
-
{ name = "rich" },
|
|
181
|
-
{ name = "shellingham" },
|
|
182
|
-
{ name = "typing-extensions" },
|
|
183
|
-
]
|
|
184
|
-
sdist = { url = "https://files.pythonhosted.org/packages/36/bf/8825b5929afd84d0dabd606c67cd57b8388cb3ec385f7ef19c5cc2202069/typer-0.21.1.tar.gz", hash = "sha256:ea835607cd752343b6b2b7ce676893e5a0324082268b48f27aa058bdb7d2145d", size = 110371, upload-time = "2026-01-06T11:21:10.989Z" }
|
|
185
|
-
wheels = [
|
|
186
|
-
{ url = "https://files.pythonhosted.org/packages/a0/1d/d9257dd49ff2ca23ea5f132edf1281a0c4f9de8a762b9ae399b670a59235/typer-0.21.1-py3-none-any.whl", hash = "sha256:7985e89081c636b88d172c2ee0cfe33c253160994d47bdfdc302defd7d1f1d01", size = 47381, upload-time = "2026-01-06T11:21:09.824Z" },
|
|
187
|
-
]
|
|
188
|
-
|
|
189
|
-
[[package]]
|
|
190
|
-
name = "typing-extensions"
|
|
191
|
-
version = "4.15.0"
|
|
192
|
-
source = { registry = "https://pypi.org/simple" }
|
|
193
|
-
sdist = { url = "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz", hash = "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466", size = 109391, upload-time = "2025-08-25T13:49:26.313Z" }
|
|
194
|
-
wheels = [
|
|
195
|
-
{ url = "https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548", size = 44614, upload-time = "2025-08-25T13:49:24.86Z" },
|
|
196
|
-
]
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
# Wrapper script for ms-linear CLI
|
|
3
|
-
# Handles uv/pip installation transparently
|
|
4
|
-
|
|
5
|
-
# Source uv environment if available
|
|
6
|
-
if [ -f "$HOME/.local/bin/env" ]; then
|
|
7
|
-
source "$HOME/.local/bin/env"
|
|
8
|
-
fi
|
|
9
|
-
|
|
10
|
-
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
11
|
-
ORIGINAL_CWD="$(pwd)"
|
|
12
|
-
cd "$SCRIPT_DIR/ms-linear"
|
|
13
|
-
|
|
14
|
-
if command -v uv &> /dev/null; then
|
|
15
|
-
# Prefer uv if available (faster)
|
|
16
|
-
uv sync --quiet 2>/dev/null
|
|
17
|
-
MS_LINEAR_CWD="$ORIGINAL_CWD" uv run python -m ms_linear "$@"
|
|
18
|
-
else
|
|
19
|
-
# Fall back to pip
|
|
20
|
-
pip install -q -e . 2>/dev/null
|
|
21
|
-
MS_LINEAR_CWD="$ORIGINAL_CWD" python3 -m ms_linear "$@"
|
|
22
|
-
fi
|