Overview

Contributing

Ground rules#

  • Before large PRs, open an issue first — the project has strong conventions (deterministic gates, fail-closed guards, Korean-first docs) and we want to align direction before you invest time.
  • Match the existing style of the file you touch (comment density, naming, 한국어 주석 유지).
  • Every changed line should be traceable to the issue/PR intent (surgical diffs).

Checks that must pass#

cargo test --bin cysd            # daemon unit tests
cargo check -p cys-app           # desktop app
bash ui/build.sh                 # UI bundle
bash scripts/secret-scan.sh --all  # secret/PII gate (fail-closed)
sh scripts/version-check.sh      # version SOT consistency (release PRs only)

Licensing#

By contributing you agree your contributions are licensed under the MIT License. Third-party code must be MIT/Apache-2.0-compatible and attributed in NOTICE.md (and cysjavis-pack/skills/THIRD_PARTY.md for pack skills).

Building from source#

git clone https://github.com/idoforgod/cys-terminal
cargo build --release
./target/release/cysd &                       # daemon (duplicate boot auto-refused)
 
cd ui && sh build.sh                           # frontend bundle (bun)
cargo build -p cys-app                         # dev run: ./target/debug/cys-app
bun x @tauri-apps/cli build                    # distribution bundle

Note: rebuild the app after editing ui/ (the frontend is embedded in the binary). The PTY is daemon-owned — sessions persist across UI restart and app reinstall (re-attach).

Third-party attributions: Notice.


Back to Overview

Updated

Was this page helpful?