Skip to content

kest-labs/kest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

546 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🦅 Kest

The AI-Native API Testing Platform for Vibe Coding

curl is stateless. Postman is heavy. Kest remembers everything.

Kest is the unified platform for modern API development, built for those who live in the terminal with AI copilots (Cursor, Windsurf, Cline, Copilot). It combines a high-performance CLI with a collaborative web dashboard.


🏗 Unified Monorepo Structure

Kest is organized as a flat, high-visibility monorepo to ensure perfect synchronization between the tool, the brain, and the interface.

  • cli/: The core Kest CLI. High-speed, markdown-native, and AI-powered.
  • api/: The Platform Backend. Handles team collaboration, data persistence, and AI diagnosis logic.
  • web/: The Web Console. A sleek Next.js dashboard for visualizing test flows and team activity.

🚀 Quick Start

1. Install the CLI

The fastest way to get started with the Kest toolset:

curl -fsSL https://kest.dev/install.sh | sh

Built via GoReleaser. Supported on macOS, Linux, and Windows.

2. Basic Usage

kest init                                                    # Initialize project
kest get /api/users -a "status==200"                         # Test an endpoint
kest post /api/login -d '{"user":"admin"}' -c "token=data.token"  # Capture token
kest run auth.flow.md                                        # Run a Markdown flow

3. Connect CLI To The Web Console

Use this flow when you want to push local CLI history back into a Kest project as API Specs.

  1. Open the target project in the Web Console.
  2. Go to the project detail page.
  3. In the CLI Sync card, click Generate CLI Token.
  4. Copy the one-time token or the generated setup command.

Then configure the CLI once inside your local Kest project:

kest sync config \
  --platform-url "https://api.kest.dev/v1" \
  --platform-token "kest_pat_..." \
  --project-id "12"

This writes the following fields into .kest/config.yaml:

platform_url: https://api.kest.dev/v1
platform_token: kest_pat_...
platform_project_id: "12"

Check the saved configuration:

kest config list

Preview what will be uploaded:

kest sync push --dry-run

Then run the real upload:

kest sync push

Notes:

  • platform_token is a Kest project token, not an OpenAI sk-... key.
  • The token is scoped to a single project and is checked against the URL project ID on upload.
  • The CLI upload endpoint is POST /v1/projects/:id/cli/spec-sync.

🧠 Built for Vibe Coding

Traditional API tools were designed for manual entry. Kest was designed for the AI era:

  • Markdown-Native (.flow.md): Write tests that both humans and AI can read natively.
  • Zero-Copy Chaining: Automatically capture variables from one request and use them in the next.
  • AI Diagnosis (kest why): When a test fails, let the AI diagnose the root cause using your local request history.
  • Snapshot Testing: Catch regressions instantly without writing boilerplate assertions.

🤝 Contributing & Development

Since this is a Monorepo, you can develop all components simultaneously using Go Workspaces.

git clone https://github.com/kest-labs/kest.git
cd kest

# The workspace is already configured via go.work
# Build the CLI
cd cli && go build -o kest .

📜 License

Apache 2.0 License. See LICENSE for details.


Keep Every Step Tested. 🦅

About

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors