VectraOS is developed in the open on GitHub. Clone it, boot it, read it, and send what you find.
vx is the one front door. SwiftPM builds vx and the host tests; CMake and
Ninja build the loader, kernel and user images, one tree per architecture, and vx drives
both. Each step's log lands in build/vx/.
You need Swift 6.4.0 through swiftly (pinned by .swift-version, with its
bundled clang, lld and llvm-objcopy), CMake, Ninja, bash, and QEMU with edk2. Nothing else.
$ git clone https://github.com/JamesKane/VectraOS $ cd VectraOS $ swift build --product vx $ .build/debug/vx ci # everything $ .build/debug/vx test --changed # what a change risks $ .build/debug/vx test arm64 # one arch in QEMU $ .build/debug/vx boot arm64 # Ctrl-A x quits $ .build/debug/vx bench # budgets, KVM $ .build/debug/vx loc # size budgets
Embedded Swift built with strict memory safety, every unsafe use marked. C23 only for ABI headers, the compiler runtime and entry code, and each C file says why in its header comment.
Everything that runs on VectraOS is first-party. Heavy compilers may run on the host, only to produce
our own artifact formats. Code lifted from our earlier projects is recorded in IMPORTS.tsv
against its source commit.
A change to the design, an exception to a principle, or a new mechanism comes with a dated entry in
docs/decisions/.
A new budget lands with its check and a milestone. A budget is never loosened in the change that would otherwise fail it.
A suite in user/test/swift/ with named checks, run inside the booted system on every
architecture.
No compatibility shims or portability layers. Adding a mechanism means naming the one it replaces, or explaining why none exists.
You keep the copyright on what you write. There is no contributor license agreement and no copyright assignment.
The license permits them. Its third clause means a fork can't use the VectraOS name to endorse itself.
Start with the README, the principles, and the known issues and open questions in docs/roadmap.md.
VectraOS is run by a BDFL, a benevolent dictator for life: James Kane. Every decision passes through the BDFL after weighing its pros and cons. Substantive changes get argued in an issue, a pull request or the decision log before the code lands, and a decision says why it was made.
If VectraOS ever reaches a user base the size of desktop Linux’s, a steady 2–3% of desktops, we’ll consider moving governance to a committee.
The code of conduct isn't one. It's four rules:
The AI policy is one sentence: AI assistance is permitted, and you’re responsible for reviewing what you submit and making sure it’s correct.