seedcode-cli 6.1.5__tar.gz

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.
Files changed (115) hide show
  1. seedcode_cli-6.1.5/.gitignore +64 -0
  2. seedcode_cli-6.1.5/LICENSE +21 -0
  3. seedcode_cli-6.1.5/PKG-INFO +368 -0
  4. seedcode_cli-6.1.5/README.md +321 -0
  5. seedcode_cli-6.1.5/pyproject.toml +91 -0
  6. seedcode_cli-6.1.5/scripts/windows/README.md +134 -0
  7. seedcode_cli-6.1.5/seedcode/__init__.py +14 -0
  8. seedcode_cli-6.1.5/seedcode/__main__.py +12 -0
  9. seedcode_cli-6.1.5/seedcode/app.py +508 -0
  10. seedcode_cli-6.1.5/seedcode/apps/__init__.py +32 -0
  11. seedcode_cli-6.1.5/seedcode/apps/discovery.py +241 -0
  12. seedcode_cli-6.1.5/seedcode/apps/installer.py +164 -0
  13. seedcode_cli-6.1.5/seedcode/apps/launcher.py +156 -0
  14. seedcode_cli-6.1.5/seedcode/apps/verifier.py +119 -0
  15. seedcode_cli-6.1.5/seedcode/assets/logo.txt +15 -0
  16. seedcode_cli-6.1.5/seedcode/cli.py +95 -0
  17. seedcode_cli-6.1.5/seedcode/commands/__init__.py +81 -0
  18. seedcode_cli-6.1.5/seedcode/commands/about.py +34 -0
  19. seedcode_cli-6.1.5/seedcode/commands/agent.py +94 -0
  20. seedcode_cli-6.1.5/seedcode/commands/assist.py +201 -0
  21. seedcode_cli-6.1.5/seedcode/commands/clear.py +20 -0
  22. seedcode_cli-6.1.5/seedcode/commands/desktop.py +104 -0
  23. seedcode_cli-6.1.5/seedcode/commands/doctor.py +152 -0
  24. seedcode_cli-6.1.5/seedcode/commands/help.py +61 -0
  25. seedcode_cli-6.1.5/seedcode/commands/history.py +365 -0
  26. seedcode_cli-6.1.5/seedcode/commands/palette.py +100 -0
  27. seedcode_cli-6.1.5/seedcode/commands/provider.py +451 -0
  28. seedcode_cli-6.1.5/seedcode/commands/theme.py +76 -0
  29. seedcode_cli-6.1.5/seedcode/computer/__init__.py +98 -0
  30. seedcode_cli-6.1.5/seedcode/computer/browser.py +276 -0
  31. seedcode_cli-6.1.5/seedcode/computer/browser_cdp.py +567 -0
  32. seedcode_cli-6.1.5/seedcode/computer/browser_engine.py +546 -0
  33. seedcode_cli-6.1.5/seedcode/computer/browser_extract.py +301 -0
  34. seedcode_cli-6.1.5/seedcode/computer/browser_popups.py +329 -0
  35. seedcode_cli-6.1.5/seedcode/computer/browser_selenium.py +209 -0
  36. seedcode_cli-6.1.5/seedcode/computer/browser_skills.py +245 -0
  37. seedcode_cli-6.1.5/seedcode/computer/catalog.py +200 -0
  38. seedcode_cli-6.1.5/seedcode/computer/controller.py +324 -0
  39. seedcode_cli-6.1.5/seedcode/computer/dispatcher.py +272 -0
  40. seedcode_cli-6.1.5/seedcode/computer/dpi.py +185 -0
  41. seedcode_cli-6.1.5/seedcode/computer/engine.py +105 -0
  42. seedcode_cli-6.1.5/seedcode/computer/keyboard.py +101 -0
  43. seedcode_cli-6.1.5/seedcode/computer/logbook.py +104 -0
  44. seedcode_cli-6.1.5/seedcode/computer/mouse.py +48 -0
  45. seedcode_cli-6.1.5/seedcode/computer/ocr.py +213 -0
  46. seedcode_cli-6.1.5/seedcode/computer/operator_skills.py +577 -0
  47. seedcode_cli-6.1.5/seedcode/computer/permissions.py +203 -0
  48. seedcode_cli-6.1.5/seedcode/computer/recovery.py +115 -0
  49. seedcode_cli-6.1.5/seedcode/computer/registry.py +107 -0
  50. seedcode_cli-6.1.5/seedcode/computer/resolver.py +434 -0
  51. seedcode_cli-6.1.5/seedcode/computer/screen.py +130 -0
  52. seedcode_cli-6.1.5/seedcode/computer/screen_state.py +412 -0
  53. seedcode_cli-6.1.5/seedcode/computer/selfguard.py +197 -0
  54. seedcode_cli-6.1.5/seedcode/computer/semantic.py +100 -0
  55. seedcode_cli-6.1.5/seedcode/computer/skills.py +139 -0
  56. seedcode_cli-6.1.5/seedcode/computer/state.py +199 -0
  57. seedcode_cli-6.1.5/seedcode/computer/verifier.py +177 -0
  58. seedcode_cli-6.1.5/seedcode/computer/vision.py +327 -0
  59. seedcode_cli-6.1.5/seedcode/computer/windows.py +217 -0
  60. seedcode_cli-6.1.5/seedcode/config/__init__.py +8 -0
  61. seedcode_cli-6.1.5/seedcode/config/defaults.py +22 -0
  62. seedcode_cli-6.1.5/seedcode/config/manager.py +62 -0
  63. seedcode_cli-6.1.5/seedcode/core/__init__.py +31 -0
  64. seedcode_cli-6.1.5/seedcode/core/agent.py +534 -0
  65. seedcode_cli-6.1.5/seedcode/core/chat.py +128 -0
  66. seedcode_cli-6.1.5/seedcode/core/client.py +9 -0
  67. seedcode_cli-6.1.5/seedcode/core/errors.py +199 -0
  68. seedcode_cli-6.1.5/seedcode/core/identity.py +66 -0
  69. seedcode_cli-6.1.5/seedcode/core/identity_store.py +119 -0
  70. seedcode_cli-6.1.5/seedcode/core/lifecycle.py +240 -0
  71. seedcode_cli-6.1.5/seedcode/core/limits.py +35 -0
  72. seedcode_cli-6.1.5/seedcode/core/models.py +347 -0
  73. seedcode_cli-6.1.5/seedcode/core/project.py +96 -0
  74. seedcode_cli-6.1.5/seedcode/core/providers/__init__.py +58 -0
  75. seedcode_cli-6.1.5/seedcode/core/providers/aerolink.py +324 -0
  76. seedcode_cli-6.1.5/seedcode/core/providers/base.py +230 -0
  77. seedcode_cli-6.1.5/seedcode/core/providers/freemodel.py +931 -0
  78. seedcode_cli-6.1.5/seedcode/core/providers/ollama.py +262 -0
  79. seedcode_cli-6.1.5/seedcode/core/providers/openrouter.py +393 -0
  80. seedcode_cli-6.1.5/seedcode/core/streaming.py +21 -0
  81. seedcode_cli-6.1.5/seedcode/memory/__init__.py +8 -0
  82. seedcode_cli-6.1.5/seedcode/memory/manager.py +47 -0
  83. seedcode_cli-6.1.5/seedcode/memory/storage.py +38 -0
  84. seedcode_cli-6.1.5/seedcode/memory/store.py +257 -0
  85. seedcode_cli-6.1.5/seedcode/tools/__init__.py +35 -0
  86. seedcode_cli-6.1.5/seedcode/tools/base.py +179 -0
  87. seedcode_cli-6.1.5/seedcode/tools/desktop.py +371 -0
  88. seedcode_cli-6.1.5/seedcode/tools/filesystem.py +309 -0
  89. seedcode_cli-6.1.5/seedcode/tools/git.py +72 -0
  90. seedcode_cli-6.1.5/seedcode/tools/patch.py +170 -0
  91. seedcode_cli-6.1.5/seedcode/tools/permissions.py +288 -0
  92. seedcode_cli-6.1.5/seedcode/tools/search.py +137 -0
  93. seedcode_cli-6.1.5/seedcode/tools/terminal.py +200 -0
  94. seedcode_cli-6.1.5/seedcode/tools/textio.py +59 -0
  95. seedcode_cli-6.1.5/seedcode/ui/__init__.py +164 -0
  96. seedcode_cli-6.1.5/seedcode/ui/badges.py +64 -0
  97. seedcode_cli-6.1.5/seedcode/ui/banner.py +78 -0
  98. seedcode_cli-6.1.5/seedcode/ui/dashboard.py +197 -0
  99. seedcode_cli-6.1.5/seedcode/ui/dialog.py +62 -0
  100. seedcode_cli-6.1.5/seedcode/ui/fuzzy.py +128 -0
  101. seedcode_cli-6.1.5/seedcode/ui/layout.py +54 -0
  102. seedcode_cli-6.1.5/seedcode/ui/menu.py +61 -0
  103. seedcode_cli-6.1.5/seedcode/ui/palette.py +40 -0
  104. seedcode_cli-6.1.5/seedcode/ui/progress.py +41 -0
  105. seedcode_cli-6.1.5/seedcode/ui/prompts.py +16 -0
  106. seedcode_cli-6.1.5/seedcode/ui/renderer.py +36 -0
  107. seedcode_cli-6.1.5/seedcode/ui/searchbox.py +70 -0
  108. seedcode_cli-6.1.5/seedcode/ui/selector.py +514 -0
  109. seedcode_cli-6.1.5/seedcode/ui/statusbar.py +38 -0
  110. seedcode_cli-6.1.5/seedcode/ui/textbox.py +61 -0
  111. seedcode_cli-6.1.5/seedcode/ui/theme.py +204 -0
  112. seedcode_cli-6.1.5/seedcode/ui/tree.py +91 -0
  113. seedcode_cli-6.1.5/seedcode/utils/__init__.py +22 -0
  114. seedcode_cli-6.1.5/seedcode/utils/helpers.py +97 -0
  115. seedcode_cli-6.1.5/seedcode/utils/logger.py +65 -0
@@ -0,0 +1,64 @@
1
+ # Python
2
+ __pycache__/
3
+ *.py[cod]
4
+ *.pyd
5
+ *.egg-info/
6
+ build/
7
+ dist/
8
+ .eggs/
9
+ .venv/
10
+ venv/
11
+ env/
12
+ test-env/
13
+ .pytest_cache/
14
+ .mypy_cache/
15
+ .ruff_cache/
16
+ .pytype/
17
+ .cache/
18
+ .coverage
19
+ coverage/
20
+ htmlcov/
21
+ *.spec
22
+
23
+ # Build / release outputs. Installers are published as GitHub Release
24
+ # attachments, never committed to source control.
25
+ /Info_for_ai_agents/
26
+ /Installer/
27
+ /build/
28
+ /dist/
29
+ /Release/
30
+ /release/
31
+ /archive/
32
+ /installed app/
33
+ *.exe
34
+ seedcode-cli-setup.exe
35
+
36
+ # Volatile outputs of scripts/windows/build_assets.py (regenerated every
37
+ # build). The stable brand assets (seedcode.ico, wizard*.bmp) STAY committed:
38
+ # tests and manual ISCC compiles depend on them existing in the repo.
39
+ /assets/windows/version_info.txt
40
+ /assets/windows/preview.png
41
+
42
+ # Seed Code local state (never commit user secrets or history).
43
+ # Anchored to the repo root so the seedcode/config package is NOT ignored.
44
+ .seedcode/
45
+ /config/
46
+ /history/
47
+ /data/
48
+ *.log
49
+
50
+ # OS / editor / agent state
51
+ .DS_Store
52
+ Thumbs.db
53
+ Desktop.ini
54
+ .idea/
55
+ .vscode/
56
+ .claude/
57
+
58
+ # Scratch / temporary artifacts
59
+ *.tmp
60
+ *.bak
61
+ *.orig
62
+ *.rej
63
+ *.crdownload
64
+ opencode.txt
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Al shahriar sowan
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,368 @@
1
+ Metadata-Version: 2.5
2
+ Name: seedcode-cli
3
+ Version: 6.1.5
4
+ Summary: Seed Code — a premium terminal-based AI coding assistant. Plant ideas. Grow code.
5
+ Project-URL: Homepage, https://github.com/Alshahriar-07/seedcode-cli
6
+ Project-URL: Repository, https://github.com/Alshahriar-07/seedcode-cli
7
+ Project-URL: Documentation, https://github.com/Alshahriar-07/seedcode-cli#readme
8
+ Project-URL: Issues, https://github.com/Alshahriar-07/seedcode-cli/issues
9
+ Project-URL: Changelog, https://github.com/Alshahriar-07/seedcode-cli/releases
10
+ Author-email: Al Shahriar Sowan <github@eagox.studio>
11
+ License-Expression: MIT
12
+ License-File: LICENSE
13
+ Keywords: agent,ai,chat,cli,coding-assistant,ollama,seedcode,terminal
14
+ Classifier: Development Status :: 5 - Production/Stable
15
+ Classifier: Environment :: Console
16
+ Classifier: Intended Audience :: Developers
17
+ Classifier: Operating System :: OS Independent
18
+ Classifier: Programming Language :: Python :: 3.12
19
+ Classifier: Programming Language :: Python :: 3.13
20
+ Classifier: Topic :: Software Development
21
+ Classifier: Topic :: Terminals
22
+ Requires-Python: >=3.12
23
+ Requires-Dist: httpx>=0.27.0
24
+ Requires-Dist: openai>=1.40.0
25
+ Requires-Dist: prompt-toolkit>=3.0.43
26
+ Requires-Dist: pydantic>=2.6.0
27
+ Requires-Dist: rich>=13.7.0
28
+ Provides-Extra: browser
29
+ Requires-Dist: selenium>=4.18.0; extra == 'browser'
30
+ Requires-Dist: webdriver-manager>=4.0.1; extra == 'browser'
31
+ Provides-Extra: desktop
32
+ Requires-Dist: mss>=9.0.1; extra == 'desktop'
33
+ Requires-Dist: opencv-python>=4.9.0; extra == 'desktop'
34
+ Requires-Dist: pillow>=10.0.0; extra == 'desktop'
35
+ Requires-Dist: psutil>=5.9.0; extra == 'desktop'
36
+ Requires-Dist: pyautogui>=0.9.54; extra == 'desktop'
37
+ Requires-Dist: pygetwindow>=0.0.9; extra == 'desktop'
38
+ Requires-Dist: pytesseract>=0.3.10; extra == 'desktop'
39
+ Requires-Dist: uiautomation>=2.0.18; (sys_platform == 'win32') and extra == 'desktop'
40
+ Provides-Extra: dev
41
+ Requires-Dist: pytest-mock>=3.12.0; extra == 'dev'
42
+ Requires-Dist: pytest>=8.0.0; extra == 'dev'
43
+ Provides-Extra: vision
44
+ Requires-Dist: opencv-python>=4.9.0; extra == 'vision'
45
+ Requires-Dist: pytesseract>=0.3.10; extra == 'vision'
46
+ Description-Content-Type: text/markdown
47
+
48
+ # SeedCode CLI
49
+
50
+ > **Plant ideas. Grow code.**
51
+
52
+ SeedCode is a terminal-first AI coding assistant and desktop operator. It
53
+ combines streaming chat, project-aware coding tools, screen intelligence,
54
+ semantic UI actions, browser intelligence, and permission-gated computer
55
+ control in one focused workflow.
56
+
57
+ Use the model and provider that fit the task. Keep the work local when you
58
+ want to. Give the operator only the permissions it needs.
59
+
60
+ ## Why SeedCode
61
+
62
+ - **One workflow for code and computer tasks** — move from a code question to
63
+ a project edit, window inspection, browser extraction, or desktop action
64
+ without changing tools.
65
+ - **Provider-independent identity** — change providers or models without
66
+ losing SeedCode's local identity, settings, or memory.
67
+ - **Permission-aware by design** — read, workspace, and full-access modes
68
+ make control boundaries visible before an action runs.
69
+ - **Windows-ready packaging** — the self-contained installer includes the
70
+ application runtime and preserves the SeedCode brand.
71
+ - **Recoverable operations** — lifecycle checks, self-guard protection,
72
+ bounded retries, verification, and structured error handling keep failures
73
+ explicit instead of silently repeating actions.
74
+
75
+ ## Install
76
+
77
+ ### Windows installer
78
+
79
+ Download the latest `seedcode-cli-setup.exe` from the
80
+ [Releases page](https://github.com/Alshahriar-07/seedcode-cli/releases).
81
+ The installer:
82
+
83
+ - installs a self-contained `seedcode.exe`;
84
+ - adds SeedCode to the system `PATH`;
85
+ - creates Start Menu shortcuts;
86
+ - optionally creates a desktop shortcut; and
87
+ - does not require Python on the target machine.
88
+
89
+ ### PyPI
90
+
91
+ Requires **Python 3.12 or newer**:
92
+
93
+ ```bash
94
+ python -m pip install seedcode-cli
95
+ seedcode
96
+ ```
97
+
98
+ ### WinGet
99
+
100
+ When the package is available in the Microsoft community repository:
101
+
102
+ ```powershell
103
+ winget install SeedCode.CLI
104
+ ```
105
+
106
+ The repository's manifests are in
107
+ [`winget/manifests/s/SeedCode/CLI/`](winget/manifests/s/SeedCode/CLI/).
108
+
109
+ ## Quick start
110
+
111
+ Start the interactive application:
112
+
113
+ ```bash
114
+ seedcode
115
+ ```
116
+
117
+ The first-run flow helps you choose a provider, validate an API key, fetch
118
+ available models, and select a model. To check an installation without
119
+ starting the UI:
120
+
121
+ ```bash
122
+ seedcode --version
123
+ seedcode --help
124
+ ```
125
+
126
+ SeedCode supports:
127
+
128
+ | Provider | Best for |
129
+ | --- | --- |
130
+ | [OpenRouter](https://openrouter.ai) | A broad catalogue of free and paid models |
131
+ | FreeModel Claude | Claude-family models through FreeModel |
132
+ | FreeModel Codex | GPT/Codex models through FreeModel |
133
+ | [AeroLink](https://aerolink.lat) | Anthropic-compatible gateway access |
134
+ | [Ollama](https://ollama.com) | Local, key-free models |
135
+
136
+ API keys can be entered through the guided setup or supplied through
137
+ environment variables:
138
+
139
+ ```bash
140
+ export OPENROUTER_API_KEY="sk-or-..."
141
+ export FREEMODEL_API_KEY="fe_oa_..."
142
+ export AEROLINK_API_KEY="..."
143
+ ```
144
+
145
+ On Windows PowerShell, use `$env:OPENROUTER_API_KEY = "..."`.
146
+
147
+ ## Operator capabilities
148
+
149
+ Assist Mode unifies AI reasoning with controlled computer actions. The
150
+ operator stack includes:
151
+
152
+ ### Screen Intelligence Engine
153
+
154
+ - captures and inspects the current screen;
155
+ - resolves windows and controls through a detection ladder;
156
+ - combines accessibility metadata, geometry, OCR, and image refinement; and
157
+ - verifies the target before an action is committed.
158
+
159
+ ### Semantic UI actions
160
+
161
+ Actions target the meaning of an element rather than a brittle coordinate.
162
+ The resolver can work with accessible names, roles, text, window context, and
163
+ visual evidence before dispatching keyboard or mouse input.
164
+
165
+ ### Desktop application control
166
+
167
+ SeedCode can discover installed applications, inspect open windows, launch
168
+ known applications, and verify process/window state. Application installation
169
+ is permission-gated and uses the trusted `winget` path.
170
+
171
+ ### Web Intelligence
172
+
173
+ The browser engine supports browser discovery, DevTools/CDP connectivity,
174
+ page extraction, pop-up handling, and browser-oriented operator skills. Web
175
+ extraction requires the existing DevTools/CDP browser connection; it does not
176
+ silently create an uncontrolled browser session.
177
+
178
+ ### Memory and identity
179
+
180
+ - conversation history is saved locally;
181
+ - persistent memory can retain useful operator context;
182
+ - memory is stored per local SeedCode profile;
183
+ - identity remains stable when the active model or provider changes; and
184
+ - provider credentials remain isolated from one another.
185
+
186
+ ## Assist Mode and permissions
187
+
188
+ Inside SeedCode, enable the operator with:
189
+
190
+ ```text
191
+ /assist on
192
+ ```
193
+
194
+ `/agent` and `/desktop` remain compatibility aliases. Inspect the current
195
+ boundary with:
196
+
197
+ ```text
198
+ /permission
199
+ /computer
200
+ /tools
201
+ ```
202
+
203
+ Permission modes:
204
+
205
+ | Mode | Behavior |
206
+ | --- | --- |
207
+ | `read_only` | Inspect files, screens, windows, and state without mutations |
208
+ | `workspace` | Allow approved changes inside the active workspace |
209
+ | `full_access` | Allow broader computer and filesystem actions after confirmation |
210
+
211
+ Use the narrowest mode that can complete the task. Mutating actions are
212
+ subject to permission checks, lifecycle state, verification, and retry
213
+ limits.
214
+
215
+ ## Command reference
216
+
217
+ | Command | Purpose |
218
+ | --- | --- |
219
+ | `/help` | Search available commands |
220
+ | `/provider` | Switch the active AI provider |
221
+ | `/apikey` | Add, replace, remove, or validate a provider key |
222
+ | `/model` | Browse and select the provider's model catalogue |
223
+ | `/config` | Show current configuration |
224
+ | `/settings` | Open settings or change a named setting |
225
+ | `/assist` | Enable or disable Assist Mode |
226
+ | `/permission` | View or set the Assist permission mode |
227
+ | `/computer` | Show Computer Engine status and permissions |
228
+ | `/screenshot` | Capture a screenshot |
229
+ | `/windows` | List open windows |
230
+ | `/tools` | List tools available in Assist Mode |
231
+ | `/index` | Show a compact project tree |
232
+ | `/files` | Search project files |
233
+ | `/history` | Browse saved sessions |
234
+ | `/doctor` | Diagnose configuration, network, and provider health |
235
+ | `/theme` | Change the terminal theme |
236
+ | `/shortcuts` | Show keyboard shortcuts |
237
+ | `/reset` | Forget the current conversation context |
238
+ | `/clear` | Clear the screen |
239
+ | `/version` | Show the SeedCode version |
240
+ | `/exit` | Leave the current chat |
241
+
242
+ Useful keyboard shortcuts include `Ctrl+K` for the command palette,
243
+ `Ctrl+P` for project file search, `Ctrl+R` for history, `Ctrl+,` for
244
+ settings, and `Ctrl+/` for the shortcut reference.
245
+
246
+ ## Configuration and local data
247
+
248
+ SeedCode stores local state under:
249
+
250
+ ```text
251
+ ~/.seedcode/
252
+ ├── config.json provider and application settings
253
+ ├── history/ saved conversation sessions
254
+ ├── memory/ persistent local memory
255
+ └── logs/ rotating diagnostic logs
256
+ ```
257
+
258
+ Configuration and credentials are kept locally. Provider entries are isolated,
259
+ and environment variables take precedence over stored API keys. Logs are
260
+ designed for diagnostics and do not record API keys or message content.
261
+
262
+ The `doctor` command can check configuration, connectivity, provider health,
263
+ and available computer capabilities:
264
+
265
+ ```text
266
+ /doctor
267
+ ```
268
+
269
+ ## Platform support
270
+
271
+ - **Windows:** full desktop operator support, including UI automation, OCR,
272
+ application discovery, installer workflow, and browser integration.
273
+ - **Linux/macOS:** terminal chat, provider integrations, project tools, and
274
+ local configuration.
275
+ - **Browser extraction:** requires the user's existing DevTools/CDP browser
276
+ connection.
277
+
278
+ The desktop extra installs the computer-control dependencies:
279
+
280
+ ```bash
281
+ python -m pip install "seedcode-cli[desktop]"
282
+ ```
283
+
284
+ Optional WebDriver support is available for workflows that genuinely need an
285
+ isolated browser profile:
286
+
287
+ ```bash
288
+ python -m pip install "seedcode-cli[browser]"
289
+ ```
290
+
291
+ ## Development
292
+
293
+ Clone the repository and install an editable development environment:
294
+
295
+ ```bash
296
+ git clone https://github.com/Alshahriar-07/seedcode-cli.git
297
+ cd seedcode-cli
298
+ python -m pip install -e ".[dev]"
299
+ ```
300
+
301
+ The public entry points are:
302
+
303
+ ```bash
304
+ seedcode
305
+ python -m seedcode
306
+ seedcode --help
307
+ ```
308
+
309
+ ### Windows release build
310
+
311
+ The existing Windows pipeline generates branding assets, packages a
312
+ self-contained executable with PyInstaller, and compiles the Inno Setup
313
+ installer:
314
+
315
+ ```bat
316
+ scripts\windows\build.bat
317
+ ```
318
+
319
+ The build requires Python 3.12+, the project dependencies, PyInstaller, and
320
+ Inno Setup 6 (`ISCC.exe`). Build details and installer behavior are documented
321
+ in [`scripts/windows/README.md`](scripts/windows/README.md).
322
+
323
+ ### Python distributions
324
+
325
+ ```bash
326
+ python -m pip install build twine
327
+ python -m build
328
+ python -m twine check dist/*
329
+ ```
330
+
331
+ ## Release workflow
332
+
333
+ The version has one source of truth:
334
+ [`seedcode/__init__.py`](seedcode/__init__.py). Release automation uses the
335
+ same version for package metadata, the CLI, installer metadata, GitHub
336
+ releases, and WinGet manifests.
337
+
338
+ The release workflow:
339
+
340
+ 1. builds and validates Python distributions;
341
+ 2. builds the branded Windows installer;
342
+ 3. computes the installer checksum;
343
+ 4. generates WinGet manifests; and
344
+ 5. publishes the release assets.
345
+
346
+ ## Security model
347
+
348
+ SeedCode favors explicit capability boundaries:
349
+
350
+ - credentials stay local and provider-scoped;
351
+ - computer actions pass through permission checks;
352
+ - application installation uses `winget`;
353
+ - action targets are resolved and verified before dispatch;
354
+ - lifecycle/self-guard checks prevent unsafe operation states; and
355
+ - retry limits prevent uncontrolled repetition.
356
+
357
+ No automation system is risk-free. Review permissions before enabling Assist
358
+ Mode, especially when working in an unfamiliar project or with sensitive
359
+ applications.
360
+
361
+ ## Credits
362
+
363
+ - **Created by:** Al Shahriar Sowan
364
+ - **Publisher:** Eagox Studio
365
+
366
+ ## License
367
+
368
+ MIT — see [`LICENSE`](LICENSE).