q logo

> [!NOTE] > `q` is under heavy development and not ready for production yet. > > Feel free to [get in touch](https://urbach.dev/contact) if you are interested in helping out. ## โšก๏ธ Installation ```shell git clone https://git.urbach.dev/cli/q cd q go build ``` To symlink the compiler as `q`: ```shell ln -s $PWD/q ~/.local/bin/q ``` ## ๐Ÿš€ Usage ```shell q build examples/hello ./examples/hello/hello ``` ## ๐Ÿšฆ Tests ```shell go run gotest.tools/gotestsum@latest ``` ## ๐Ÿ’ป Platforms | | arm64 | x86-64 | | ------- | ------ | ------ | | Linux | โœ”๏ธ | โœ”๏ธ | | Mac | โœ”๏ธ* | โœ”๏ธ | | Windows | โœ”๏ธ* | โœ”๏ธ | Those marked with a star are supported in theory but there are no developer machines to test them. ## โš ๏ธ Security ### PIE All executables are built as Position Independent Executables (PIE) supporting a dynamic base address. ### Memory pages Code and data are separated into different memory pages and loaded with different access permissions. | | Read | Execute | Write | | ------ | ---- | ------- | ----- | | Code | โœ”๏ธ | โœ”๏ธ | โŒ | | Data | โœ”๏ธ | โŒ | โŒ | ## ๐Ÿงพ License Please see the [license documentation](https://urbach.dev/license). ## ๐Ÿง” Copyright ยฉ 2025 Eduard Urbach