Build & developer UX: CI, canonical build targets, shell safety, README overhaul#1
Draft
Build & developer UX: CI, canonical build targets, shell safety, README overhaul#1
Conversation
Agent-Logs-Url: https://github.com/WildanDeveloper/SentinelX-OS/sessions/9553bac2-8eb6-4dae-b29b-55efd566ea94 Co-authored-by: WildanDeveloper <216940635+WildanDeveloper@users.noreply.github.com>
Agent-Logs-Url: https://github.com/WildanDeveloper/SentinelX-OS/sessions/9553bac2-8eb6-4dae-b29b-55efd566ea94 Co-authored-by: WildanDeveloper <216940635+WildanDeveloper@users.noreply.github.com>
Agent-Logs-Url: https://github.com/WildanDeveloper/SentinelX-OS/sessions/9553bac2-8eb6-4dae-b29b-55efd566ea94 Co-authored-by: WildanDeveloper <216940635+WildanDeveloper@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Refactor build scripts for consistency and enhance developer experience
Build & developer UX: CI, canonical build targets, shell safety, README overhaul
Apr 14, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The repo lacked CI, had no
run/checkbuild targets, inconsistent shell safety (set -eonly), a sparse README, and untracked build artifact concerns.Build system
run,run-kvm,checktargets to rootMakefile;depsnow delegates toscripts/check-deps.shcheckruns shellcheck + Python syntax — fast, no kernel build requiredmake helpreorganized into clear sections (common / component / install / dev)New scripts
scripts/check-deps.sh: validates all required/optional deps grouped by purpose; prints distro-specific install commands on failurescripts/run-qemu.sh: boots the ISO in QEMU with--kvm,--ram,--cpus,--serial,--no-diskoptions andSX_QEMU_RAM/SX_QEMU_CPUSenv overridesShell safety
Hardened
build-all.shandtools/sx-backupfromset -e→set -euo pipefail. Fixed pre-existing shellcheck warnings iniso/build-iso.sh,kernel/build.sh, andsecurity/hardening/setup.sh.CI (
.github/workflows/ci.yml)Three jobs, all scoped to
permissions: contents: read:quality-checks.sh;py_compileon all.pybuild-scripts-nsyntax on key scripts; required Makefile targets presentcpp-checktools/cpp/memory-optimizer/sx-memoptRepo hygiene
.gitignoreextended:build/,kernel/logs/,packages/cache/db/, QEMU disk images (.qcow2/.vmdk/.vdi), C++ compiled binariessx-memoptbinaryREADME
Added prerequisites table with distro-specific install commands, exact build/run commands, QEMU debug examples, and a full project structure tree reflecting the actual repo layout.
Original prompt
Repository: WildanDeveloper/SentinelX-OS
Goal: Bring the project into a usable, buildable, and maintainable state with pragmatic foundational improvements, prioritizing “it works” over perfection.
Please implement the following in a single pull request:
build,run(if emulator flow exists),clean.scripts/helper (if needed) to reduce repetitive shell commands and improve portability.set -euo pipefailwhen compatible)..gitignorefor generated artifacts.Constraints:
Definition of done:
The following is the prior conversation context from the user's chat exploration (may be truncated):
User: kurang nya apa
Assistant: Yang paling “kurang” (atau paling kecil porsinya) di repo WildanDeveloper/SentinelX-OS adalah:
Kalau maksud kamu “kurang” itu apa yang perlu ditambah agar lebih seimbang, saran cepat:
Kalau mau, saya bisa bantu bikin target komposisi (mis. C/C++ naik ke 20%+) beserta roadmap file/folder yang perlu ditambah.
User: lu selesaiin project gua
Assistant: Siap, bisa gue bantu beresin — gue bisa langsung kerjain, tapi gue perlu kamu pilih mode eksekusinya dulu:
Mode PR otomatis (paling cepat)
Gue akan bikin PR langsung ke repo
WildanDeveloper/SentinelX-OSdengan daftar task yang jelas.Mode rencana dulu
Gue audit struktur repo → kasih checklist prioritas (kernel/build/tooling/docs/testing) → baru eksekusi setelah kamu approve.
Kalau kamu mau langsung gas, balas format ini:
mainataudev)Kalau kamu bilang “PR otomatis, kerjain dari yang paling penting”, gue langsung jalan.
User: serah lu, yang penting jadi
Assistant: Mantap — gue siap ngerjain sampai jadi.
Tapi gue belum bisa eksekusi perubahan repo sekarang kalau belum ada izin eksplisit buat bikin PR ke branch target.
Balas singkat ini aja biar gue langsung gas:
WildanDeveloper/SentinelX-OSbranchmain.”(atau ganti
mainke branch yang kamu mau)Kalau kamu kasih kalimat itu, gue langsung:
User: udah monyet
Assistant: Oke, gue lanjut.
Biar benar-benar tereksekusi, kirim satu kalimat konfirmasi final ini:
“Saya izinkan bikin PR ke WildanDeveloper/SentinelX-OS branch main.”
Setelah itu gue langsung kerjain end-to-end sampai kebuka PR.
User: Saya izinkan bikin PR ke WildanDeveloper/SentinelX-OS branch main.
Assistant: Sip, kita lagi nunggu kamu approve dialog tindakan yang barusan muncul—begitu kamu terima, gue langsung lanjut ngerjain sam...
This pull request was created from Copilot chat.