Kvile Logo

Kvile

A fast, lightweight HTTP client focused on .http file support.
Built with Tauri, React, and Rust.

License Platform Built with Tauri

Kvile (Norwegian for "rest") is an open-source HTTP debugging application designed for working with .http files. It treats .http files as first-class citizens, making it ideal for developers who prefer plain-text, git-friendly API collections.

--- ## Features - **Native `.http` file support** - JetBrains, VS Code REST Client, and Kulala formats with auto-detection - **Dual editor mode** - Switch between source editing (Monaco) and GUI form editor - **Environment variables** - Multiple environments with variable substitution - **Pre/post-request scripts** - JavaScript scripting with assertions and variable extraction - **Request history** - SQLite-backed history with search - **OAuth/OIDC support** - Built-in authentication flows - **cURL import** - Convert cURL commands to `.http` format - **Response comparison** - Diff view for comparing responses - **File watching** - Auto-reload when files change externally - **Keyboard-driven** - Command palette and shortcuts for power users - **Lightweight** - ~10 MB bundle, ~40 MB memory, sub-second startup - **Offline-first** - No account required, no telemetry ## Installation ### Prerequisites - [Node.js](https://nodejs.org/) 18+ - [Rust](https://rustup.rs/) (latest stable) - Platform-specific dependencies (see below) #### Linux (Debian/Ubuntu) ```bash sudo apt install libwebkit2gtk-4.1-dev build-essential curl wget file \ libssl-dev libayatana-appindicator3-dev librsvg2-dev ``` #### Linux (Arch) ```bash sudo pacman -S webkit2gtk-4.1 base-devel curl wget file openssl \ libappindicator-gtk3 librsvg ``` #### macOS ```bash xcode-select --install ``` #### Windows - Install [Visual Studio Build Tools](https://visualstudio.microsoft.com/visual-cpp-build-tools/) - Install [WebView2](https://developer.microsoft.com/en-us/microsoft-edge/webview2/) ### Build from Source ```bash # Clone the repository git clone https://github.com/tskulbru/kvile.git cd kvile # Install dependencies npm install # Run in development mode npm run tauri dev # Build for production npm run tauri build ``` #### Wayland Users If you experience display issues on Linux with Wayland: ```bash WEBKIT_DISABLE_COMPOSITING_MODE=1 npm run tauri dev # or GDK_BACKEND=x11 npm run tauri dev ``` ## HTTP File Formats Kvile supports multiple `.http` file specifications with automatic format detection. ### JetBrains HTTP Client ```http ### Get all users GET https://api.example.com/users Authorization: Bearer {{auth_token}} ### Create user POST https://api.example.com/users Content-Type: application/json { "name": "John Doe", "email": "john@example.com" } > {% client.global.set("user_id", response.body.id); %} ``` ### VS Code REST Client ```http @baseUrl = https://api.example.com @authToken = your-token-here ### GET {{baseUrl}}/users Authorization: Bearer {{authToken}} ``` ### Kulala Extensions ```http # @name CreateUser # @prompt username Enter username POST https://api.example.com/users Content-Type: application/json {"username": "{{username}}"} ``` ### Dynamic Variables | Variable | Description | |----------|-------------| | `{{$uuid}}` | Generate UUID v4 | | `{{$timestamp}}` | Current Unix timestamp | | `{{$randomInt}}` | Random integer | | `{{$datetime}}` | Current ISO datetime | ## Documentation - [Architecture Overview](docs/ARCHITECTURE.md) - System design and structure - [Development Guide](docs/DEVELOPMENT.md) - Setup, testing, and contributing - [Project Vision](docs/VISION.md) - Goals and roadmap ## Contributing Contributions are welcome! Please see our [Development Guide](docs/DEVELOPMENT.md) for setup instructions. 1. Fork the repository 2. Create your feature branch (`git checkout -b feature/amazing-feature`) 3. Commit your changes (`git commit -m 'Add amazing feature'`) 4. Push to the branch (`git push origin feature/amazing-feature`) 5. Open a Pull Request ### Guidelines - Follow existing code style - Write tests for new functionality - Update documentation as needed - Keep commits atomic and well-described ## License MIT License - see [LICENSE](LICENSE) for details. ## Acknowledgments - [Tauri](https://tauri.app/) - Desktop framework - [JetBrains HTTP Client](https://www.jetbrains.com/help/idea/http-client-in-product-code-editor.html) - HTTP file specification - [VS Code REST Client](https://github.com/Huachao/vscode-restclient) - HTTP file format - [Kulala](https://github.com/mistweaverco/kulala.nvim) - Additional HTTP file extensions ---

Kvile
Made with care for developers who value simplicity