Use and adapt sater
Use and adapt sater: An Arabic-first developer environment built on Code - OSS
Use the documented interfaces and source layout for sater. The sections below retain the README’s examples and configuration details.
Development status
Sater is in early development. The current build establishes an independently branded, runnable Code - OSS distribution with the Sater Dark theme, Open VSX, a neutral Sater Agents Window, and a first-run English/Arabic interface choice. Arabic mode mirrors the primary sidebar and activity rail to the right, keeps Chat on the left, and applies Arabic UI typography while deliberately keeping source editors and terminals on an independent LTR code surface. The full Arabic translation catalog and mixed-direction editor engine remain active product work.
Do not use this repository as a stable production editor yet.
Product architecture
Sater keeps product-specific work behind narrow integration points:
- Product identity, protocols, data directories, and extension-gallery configuration live in
product.json. - The Sater visual system is an isolated built-in extension at
extensions/sater-theme. - The small core theme patch selects Sater Dark by default and supplies matching bootstrap colors before extensions load.
- The Sater locale contribution owns the interface-language setting, first-run language choice, RTL shell direction, and code-surface direction boundary.
- Approved brand assets live under
resources/sater; generated platform icons remain in Code - OSS's standard resource paths. - Further Arabic behavior should use the isolated locale boundary first, Monaco changes second, and wider workbench/core changes only where platform abstractions cannot express the required behavior.
Every Sater-owned integration point and its expected merge risk is recorded in docs/UPSTREAM.md. Brand color roles are recorded in docs/DESIGN_TOKENS.md.
Commands in the root manifest
The captured package.json declares the following scripts. Run them from the directory containing that manifest.
| Command | Script |
|---|---|
npm run test | node -e "console.error('Run a test script from the scripts folder, for example: ./scripts/test.sh --run <file>.'); process.exit(1)" |
npm run web | echo 'npm run web' is replaced by './scripts/code-server' or './scripts/code-web' |
Troubleshoot a local change
- Reproduce the smallest example from the quick-start guide.
- Compare required configuration and dependency versions with the README.
- Check the linked issue tracker for the same error. Include the command, runtime version, and relevant error when reporting a problem; omit credentials.
Source and help
The catalog identifies the license as MIT. Read the repository license before redistributing source or assets.
Source captured: 2026-10-11
