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 bundleNote: 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