@@ -23,6 +23,7 @@ Build Python apps with a predictable workflow, a configurable pre-compile pipeli
2323- ** Structured CLI** : explicit ` gui ` , ` engine ` , ` workspace ` , ` doctor ` , and ` scaffold ` commands, with JSON output on key headless paths.
2424- ** Standalone tools** : dedicated BCASL and Engines managers, plus CLI entry points and dry-run support.
2525- ** Extensible SDKs** : create new engines and BCASL plugins with the provided SDKs.
26+ - ** Theme-aware dynamic colors and SVG icons** : 100% dynamic UI integration using QPalette and themed SVGs.
2627- ** Customizable** : theming and translations out of the box.
2728
2829---
@@ -49,6 +50,8 @@ python pycompiler_ark.py
4950python -m pycompiler_ark
5051```
5152
53+ * Note: The application features a centered and auto-scaled splash screen for a professional startup experience.*
54+
5255---
5356
5457## How it works
@@ -75,106 +78,56 @@ Compilation (PyInstaller / Nuitka / cx_Freeze)
7578
7679---
7780
78- ## CLI shortcuts
79-
80- ``` bash
81- python pycompiler_ark.py --help
82- python pycompiler_ark.py --version
83- python pycompiler_ark.py --info
84- python pycompiler_ark.py --cli
85- python pycompiler_ark.py gui main --ide
86- python pycompiler_ark.py gui main --classic --no-splash
87- python pycompiler_ark.py gui bcasl /path/to/workspace
88- python pycompiler_ark.py gui engines /path/to/workspace
89- python pycompiler_ark.py engine list --json
90- python pycompiler_ark.py engine doctor nuitka src/main.py --json
91- python pycompiler_ark.py workspace inspect . --json
92- python pycompiler_ark.py doctor --json
93- python pycompiler_ark.py init /path/to/workspace --json
94- python pycompiler_ark.py init /path/to/workspace --with-venv --json
95- python pycompiler_ark.py config-auto /path/to/workspace --json
96- python pycompiler_ark.py cfg-auto /path/to/workspace --json
97- python pycompiler_ark.py ws init /path/to/workspace --json
98- python pycompiler_ark.py check /path/to/workspace --json
99- python pycompiler_ark.py scaffold engine demo_engine --json
100- python pycompiler_ark.py unload --json
101- ```
102-
103- ### CLI groups
104-
105- - ` gui ` : launch graphical entrypoints explicitly
106- - ` engine ` : inspect engines, run compatibility checks, dry-run or compile
107- - ` bcasl ` : BCASL GUI or delegated headless actions
108- - ` workspace ` : inspect the current workspace and resolved entrypoint
109- - ` init ` : initialize a workspace directory and base configs (` ark.yml ` , ` bcasl.yml ` , ` .ark/pref.json ` )
110- - ` --with-venv ` : also create/reuse a local workspace venv and set it in ` .ark/pref.json `
111- - ` config-auto ` : auto-detect entrypoint and update workspace config
112- - ` cfg-auto ` : short alias for ` config-auto `
113- - ` ws ` : short group alias for workspace bootstrap (` ws init ` , ` ws config-auto ` )
114- - ` check ` : strict CI/CD preflight shortcut
115- - ` doctor ` : global diagnostics snapshot
116- - ` scaffold ` : generate starter templates for engines and plugins
117-
118- ### Headless note
119-
120- The CLI router no longer bootstraps the main Qt application for headless paths such as:
81+ ## CLI Usage
12182
122- - ` --help `
123- - ` --version `
124- - ` --info `
125- - ` --cli `
126- - ` unload `
127- - ` workspace ... `
83+ The ARK CLI provides a structured set of commands for workspace management, building, and developer tasks.
12884
129- Structured command groups such as ` engine ` , ` bcasl ` , ` doctor ` , and ` scaffold `
130- also avoid launching the main GUI entrypoint.
85+ ### Core Commands
13186
132- This keeps scripting and CI workflows friendly on machines where no GUI window
133- should be opened.
134-
135- ### CI-friendly exit codes
136-
137- - ` 0 ` : success
138- - ` 3 ` : precheck failure (` check --strict ` )
139- - ` 4 ` : invalid or missing workspace
140- - ` 5 ` : engine not found
87+ ``` bash
88+ # Workspace Initialization
89+ python pycompiler_ark.py init --entry src/main.py [--icon icon.ico] [--with-venv]
14190
142- These are the stable codes to key on in CI for the structured headless commands.
91+ # Building
92+ python pycompiler_ark.py build # Build using ark.yml engine
93+ python pycompiler_ark.py build --engine nuitka # Override engine
94+ python pycompiler_ark.py build --lock latest.lock # Rebuild from lock file
14395
144- ### Dedicated CLI quick commands
96+ # Execution
97+ python pycompiler_ark.py run bcasl # Execute BCASL pipeline
98+ python pycompiler_ark.py run bcasl --timeout 30 # With custom timeout
14599
146- ``` text
147- ark-cli> main
148- ark-cli> main --ide-gui
149- ark-cli> bcasl run ~/my_workspace --timeout 30
150- ark-cli> engine dry-run pyinstaller src/main.py
151- ark-cli> engine list
152- ark-cli> unload
100+ # GUI
101+ python pycompiler_ark.py gui # Launch modern IDE-like GUI
102+ python pycompiler_ark.py gui --legacy # Launch classic GUI
153103```
154104
155- ### GUI entrypoints
105+ ### Developer Commands
156106
157107``` bash
158- python pycompiler_ark.py gui main --ide
159- python pycompiler_ark.py gui bcasl
160- python pycompiler_ark.py gui engines
161- ```
108+ # Discovery
109+ python pycompiler_ark.py list engines # List available engines
110+ python pycompiler_ark.py list plugins # List available BCASL plugins
111+
112+ # Configuration (User Paths)
113+ python pycompiler_ark.py set user-engine-dir /path # Set custom engine directory
114+ python pycompiler_ark.py get user-engine-dir # Retrieve path
162115
163- ### Standalone modules
116+ # Scaffolding
117+ python pycompiler_ark.py scaffold engine demo # Create a new engine template
118+ python pycompiler_ark.py scaffold plugin-bcasl demo # Create a new BCASL plugin template
119+ ```
164120
121+ ### JSON Output
122+ For CI/CD and scripting, key commands support the ` --json ` flag to return machine-readable results:
165123``` bash
166- python -m OnlyMod.BcaslOnlyMod --gui
167- python -m OnlyMod.BcaslOnlyMod --list-plugins
168- python -m OnlyMod.BcaslOnlyMod --run --workspace /path/to/workspace
169- python -m OnlyMod.EngineOnlyMod
170- python -m OnlyMod.EngineOnlyMod --list-engines
171- python -m OnlyMod.EngineOnlyMod --check-compat nuitka
172- python -m OnlyMod.EngineOnlyMod --engine nuitka -f script.py --dry-run
124+ python pycompiler_ark.py build --json
125+ python pycompiler_ark.py init --entry main.py --json
173126```
174127
175128---
176129
177- ## Documentation
130+ ## How it works
178131
179132- [ Changelog] ( CHANGELOG.md )
180133- [ Release process] ( docs/release_process.md )
0 commit comments