Getting Started
Install sinq, write one scenario, run it.
Installation
Pre-compiled binaries for each platform are on the Releases page (Windows .zip, Debian .deb, Fedora .rpm), along with Docker images and Nix flakes.
Or via a package manager:
Setting up shell auto-completion
(Note: If you installed sinq via native Linux packages (.deb, .rpm, .apk), the AUR, or the Homebrew Formula (brew install Veitangie/tap/sinq), completions are installed automatically and you can skip this step. For all other methods like the Homebrew Cask (sinq-bin), scoop, the install script, or go install, you'll need to set them up manually).
sinq supports auto-completion for Bash, Zsh, Fish, and PowerShell.
To load completions dynamically in your current session:
- Bash/Zsh:
source <(sinq --completion) - Fish:
sinq --completion | source - PowerShell:
sinq --completion | Invoke-Expression
To install completions permanently, save the output to your shell's completions directory:
- Bash:
sinq --completion > ~/.local/share/bash-completion/completions/sinq - Zsh:
sinq --completion > ~/.zfunc/_sinq(and addfpath+=~/.zfuncbeforecompinitin.zshrc) - Fish:
sinq --completion > ~/.config/fish/completions/sinq.fish - PowerShell: Add
sinq --completion | Invoke-Expressionto your PowerShell profile.
IDE Integration
To get syntax highlighting and better editor support, check out the community extensions:
- VSCode / Code OSS: Install the sinq-helper extension.
- Other Editors: Use the Tree-sitter Grammar for Neovim or any tree-sitter compatible editor.
Your First Test
sinq builds scenarios from your directory layout. Here is a one-request health check.
-
Make a directory for it:
-
Create
01_healthcheck.sinq:
Running sinq
Point sinq at the directory:
sinq finds one scenario (health), sends its single request, and prints a pass line for it. The process exits 0. If the assertion fails, the line is red and the exit code is 1.
Next
- CLI Reference: flags, scenario filters, environment variables.
- Scenarios & Config: chaining requests, passing values between them,
.scenariofiles. - Lua API: assertions, JSON, request lifecycle control.