# Use and adapt sater

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`](https://github.com/qentrah/sater/blob/main/docs/UPSTREAM.md). Brand color roles are recorded in [`docs/DESIGN_TOKENS.md`](https://github.com/qentrah/sater/blob/main/docs/DESIGN_TOKENS.md).

## Commands in the root manifest

The captured [package.json](https://github.com/qentrah/sater/blob/HEAD/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

1. Reproduce the smallest example from the [quick-start guide](/docs/up-to-code-sater/quick-start-guide).
2. Compare required configuration and dependency versions with the README.
3. 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

- [GitHub repository](https://github.com/qentrah/sater)
- [Original README](https://github.com/qentrah/sater/blob/main/README.md)
- [Issues and existing reports](https://github.com/qentrah/sater/issues)

The catalog identifies the license as **MIT**. Read the repository license before redistributing source or assets.