{"id":43040235,"url":"https://github.com/athrvk/vayu","last_synced_at":"2026-01-31T09:08:22.690Z","repository":{"id":334708220,"uuid":"1126552851","full_name":"athrvk/vayu","owner":"athrvk","description":"High-Performance API Testing Platform","archived":false,"fork":false,"pushed_at":"2026-01-26T13:13:49.000Z","size":4851,"stargazers_count":4,"open_issues_count":1,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-01-27T01:16:43.648Z","etag":null,"topics":["api-client","api-testing","cpp","electron","load-testing","performance","postman-alternative","testing-tools"],"latest_commit_sha":null,"homepage":"https://github.com/athrvk/vayu","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/athrvk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-02T06:18:04.000Z","updated_at":"2026-01-26T16:03:20.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/athrvk/vayu","commit_stats":null,"previous_names":["athrvk/vayu"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/athrvk/vayu","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/athrvk%2Fvayu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/athrvk%2Fvayu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/athrvk%2Fvayu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/athrvk%2Fvayu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/athrvk","download_url":"https://codeload.github.com/athrvk/vayu/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/athrvk%2Fvayu/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28936100,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-31T08:53:31.997Z","status":"ssl_error","status_checked_at":"2026-01-31T08:51:38.521Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api-client","api-testing","cpp","electron","load-testing","performance","postman-alternative","testing-tools"],"created_at":"2026-01-31T09:08:22.281Z","updated_at":"2026-01-31T09:08:22.672Z","avatar_url":"https://github.com/athrvk.png","language":"TypeScript","readme":"# Vayu\n\n**High-Performance API Testing Platform**\n\n[![Latest Release](https://img.shields.io/badge/release-v0.1.1-green.svg)](https://github.com/athrvk/vayu/releases/latest)\n[![License](https://img.shields.io/badge/license-AGPL--3.0%20%26%20Apache--2.0-blue.svg)](LICENSE)\n[![Platform](https://img.shields.io/badge/platform-Windows%20%7C%20macOS%20%7C%20Linux-lightgrey.svg)](https://github.com/athrvk/vayu/releases)\n\n[![GitHub stars](https://img.shields.io/github/stars/athrvk/vayu?style=social\u0026label=Star)](https://github.com/athrvk/vayu)\n[![GitHub forks](https://img.shields.io/github/forks/athrvk/vayu?style=social\u0026label=Fork)](https://github.com/athrvk/vayu/fork)\n[![GitHub issues](https://img.shields.io/github/issues/athrvk/vayu)](https://github.com/athrvk/vayu/issues)\n[![GitHub pull requests](https://img.shields.io/github/issues-pr/athrvk/vayu?label=pull%20requests)](https://github.com/athrvk/vayu/pulls)\n\n![C++](https://img.shields.io/badge/C++-20-blue.svg?logo=cplusplus)\n![TypeScript](https://img.shields.io/badge/TypeScript-5.9-blue.svg?logo=typescript)\n![React](https://img.shields.io/badge/React-19-61DAFB.svg?logo=react)\n![Electron](https://img.shields.io/badge/Electron-28-47848F.svg?logo=electron)\n\n## Overview\n\nVayu combines the ease of use of API design tools like Postman with the raw performance of high-throughput load testing tools. Build and debug requests visually, then run the same tests at scale—all in one tool.\n\nVayu uses a **sidecar architecture** that separates the user interface from the execution engine:\n\n- **The Manager** (Electron + React): Provides a modern UI for building requests, managing collections, and viewing results\n- **The Engine** (C++): A high-performance daemon capable of executing thousands of requests per second\n\nThe Manager communicates with the Engine via a local HTTP API on port 9876, allowing each component to be optimized for its specific purpose.\n\n## Features\n\n- **High Performance** - C++ engine optimized for maximum throughput\n- **Request Management** - Organize requests into collections with folder hierarchy\n- **Load Testing** - Run load tests with real-time metrics streaming\n- **Environment Variables** - Manage variables across collections and environments\n- **Test Scripting** - QuickJS-based scripting engine compatible with Postman's `pm.test()` syntax\n- **Privacy First** - 100% local execution, no cloud sync required\n- **Cross Platform** - macOS, Windows, and Linux support\n\n## 📦 Download\n\n**Version 0.1.1** is now available! Download the installer for your platform:\n\n- **Windows**: [Vayu-0.1.1-x64.exe](https://github.com/athrvk/vayu/releases/download/v0.1.1/Vayu-0.1.1-x64.exe)\n- **macOS**: [Vayu-0.1.1-universal.dmg](https://github.com/athrvk/vayu/releases/download/v0.1.1/Vayu-0.1.1-universal.dmg)\n- **Linux**: [Vayu-0.1.1-x86_64.AppImage](https://github.com/athrvk/vayu/releases/download/v0.1.1/Vayu-0.1.1-x86_64.AppImage)\n\n[View all releases →](https://github.com/athrvk/vayu/releases)\n\n## Quick Start\n\n### Prerequisites\n\n- **C++ Engine**: CMake 3.25+, C++20 compiler, vcpkg\n- **Electron App**: Node.js ≥ 20 LTS, pnpm ≥ 10\n\n### Building from Source\n\nClone the repository:\n\n```bash\ngit clone https://github.com/athrvk/vayu.git\ncd vayu\n```\n\nBuild and run (all platforms):\n\n```bash\n# Build everything (development mode)\npython build.py --dev\n\n# Then start the app\ncd app \u0026\u0026 pnpm run electron:dev\n```\n\n**Quick commands:**\n```bash\npython build.py --dev         # Development build\npython build.py               # Production build\npython build.py -e            # Engine only\npython build.py -a            # App only\npython build.py -t            # Build with tests\npython build.py --help        # See all options\n```\n\nFor detailed setup and troubleshooting, see the [Building Documentation](docs/building.md).\n\n## Architecture\n\nVayu uses a sidecar pattern where the Electron UI (Manager) communicates with a separate C++ daemon (Engine) via HTTP:\n\n```\n┌────────────────────┐        ┌────────────────────┐\n│   THE MANAGER      │  HTTP  │    THE ENGINE      │\n│  (Electron/React)  │◄──────►│      (C++)         │\n│                    │ :9876  │                    │\n│  • Request Builder │        │  • EventLoop       │\n│  • Collections     │        │  • QuickJS Runtime │\n│  • Load Dashboard  │        │  • Multi-Worker    │\n└────────────────────┘        └────────────────────┘\n```\n\nSee [Architecture Documentation](docs/architecture.md) for detailed information.\n\n## Tech Stack\n\n- **Engine**: C++20 with lock-free data structures\n- **Networking**: libcurl for HTTP client operations\n- **Scripting**: QuickJS for test script execution\n- **UI**: Electron + React + TypeScript\n- **State Management**: Zustand (UI state) + TanStack Query (server state)\n- **Build System**: CMake + vcpkg for C++, pnpm + Vite for Electron app\n\n## Documentation\n\n| Document | Description |\n|----------|-------------|\n| [Architecture](docs/architecture.md) | System architecture and design decisions |\n| [Engine API Reference](docs/engine/api-reference.md) | HTTP API for controlling the engine |\n| [Building](docs/building.md) | Build instructions for all platforms |\n| [Engine Building](docs/engine/building.md) | Building just the C++ engine |\n| [Contributing](docs/contributing.md) | Guidelines for contributing |\n\n## Contributing\n\nContributions are welcome! Please read the [Contributing Guide](docs/contributing.md) for details on:\n\n- Development setup\n- Code style guidelines\n- Testing requirements\n- Commit message conventions\n- Pull request process\n\n## Versioning \u0026 Releases\n\nThe canonical version for releases is stored in the top-level `VERSION` file. The CI workflow uses a pushed Git tag to publish artifacts.\n\n**Key points:**\n\n- The workflow triggers on tag pushes that follow the `v*` pattern (for example `v0.1.1`).\n- Electron produces installer filenames that already contain the version (for example `Vayu Setup 0.1.1.exe` and `Vayu-0.1.1-x86_64.AppImage`), and the workflow uploads those files to the Release as-is.\n\n**How to create a release (recommended):**\n\n1. Bump the version using the build script:\n\n```bash\npython build.py --bump-version patch    # 0.1.1 -\u003e 0.1.2\n# or\npython build.py --bump-version 0.1.2    # set specific version\n\n# Preview changes first\npython build.py --bump-version patch --dry-run\n```\n\n2. Commit the changes:\n\n```bash\ngit add VERSION engine/include/vayu/version.hpp engine/CMakeLists.txt engine/vcpkg.json app/package.json\ngit commit -m \"chore(release): 0.1.2\"\n```\n\n3. Create and push a tag that matches the `VERSION` file, prefixed with `v`:\n\n```bash\ngit tag v$(cat VERSION)\ngit push origin --tags\n```\n\n4. The workflow will run on the pushed tag, execute tests and builds, and upload installers to the Release associated with that tag.\n\n**Notes:**\n\n- The `VERSION` file is the single source of truth; maintain it before pushing tags.\n\n## ⚖️ License\n\nVayu is a dual-licensed project:\n\n* **Vayu Engine (`/engine`)**: Licensed under **GNU AGPL v3**.\n* **Vayu UI (`/app`)**: Licensed under **Apache 2.0**.\n\n**Usage Note:** You are free to use Vayu for any purpose. If you modify the **Engine** and provide it as a network service, you must open-source your changes. The **UI** is more permissive and allows for easier development.\n\n---\n\n**Built for developers who care about performance**\n\n[Documentation](docs/) · [Report Bug](https://github.com/athrvk/vayu/issues) · [Request Feature](https://github.com/athrvk/vayu/issues)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fathrvk%2Fvayu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fathrvk%2Fvayu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fathrvk%2Fvayu/lists"}