Skip to content

biocodeit/restbolt

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

91 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

โšก RestBolt

Fast, local-first REST API client for developers

RestBolt is a modern, lightning-fast API testing tool built for developers who are tired of slow, bloated alternatives. With powerful features like visual chain building, smart variable extraction, and a beautiful dark-mode interface, RestBolt makes API testing a joy.


๐ŸŒŸ Why RestBolt?

The Problem: Existing API clients (Postman, Insomnia) are slow, bloated, and force you into cloud-first workflows. They take seconds to launch, consume hundreds of megabytes of RAM, and constantly push you to sign in.

The Solution: RestBolt is built from the ground up to be:

  • โšก Lightning Fast - Launches instantly, runs smoothly
  • ๐Ÿ  Local-First - Everything stored locally by default, works 100% offline
  • ๐ŸŽจ Beautiful - Modern, clean interface with seamless dark mode
  • โŒจ๏ธ Keyboard-First - Professional keyboard shortcuts for power users
  • ๐Ÿ”— Chain Builder - Visual workflow editor for multi-step API testing (our killer feature!)

โœจ Key Features

Core API Testing

  • โœ… All HTTP Methods - GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS
  • โœ… Request Builder - Headers, query params, request body with Monaco editor
  • โœ… Response Viewer - Formatted JSON/XML/HTML with syntax highlighting
  • โœ… Collections - Organize requests into folders
  • โœ… Request History - Never lose a request
  • โœ… Environment Variables - Multiple environments with variable substitution

Advanced Features

  • ๐Ÿ”— Chain Builder - Create multi-step request workflows with visual editor
  • ๐Ÿ“Š Variable Extraction - Extract values from responses using JSONPath
  • ๐Ÿ”„ Variable Interpolation - Use extracted variables in subsequent requests
  • โš ๏ธ Conflict Detection - Prevents accidental variable overwrites
  • ๐Ÿ” Response Diffing - Compare responses side-by-side
  • ๐ŸŒ WebSocket Support - Test real-time connections
  • ๐Ÿ“ Code Generation - Export to cURL, JavaScript, Python, Axios
  • ๐Ÿ”Ž Global Search - Find any request instantly
  • ๐Ÿ’พ Export/Import - Backup and share your collections

Professional UX

  • ๐ŸŽจ Dark/Light Mode - Seamless theme switching
  • ๐Ÿ“ Resizable Panels - Customize your workspace
  • โŒจ๏ธ Keyboard Shortcuts - Cmd+B, Cmd+Enter, and more
  • ๐Ÿ’พ Auto-Save - Never lose your work
  • ๐ŸŽฏ Smart Defaults - Sensible defaults that just work
  • โœจ Visual Feedback - Clear loading states and status indicators

๐ŸŽฅ Demo

Coming soon - demo video and screenshots

Key Workflows to Showcase:

  1. Simple GET request โ†’ formatted response
  2. Chain Builder: Create user โ†’ Create post โ†’ Fetch post (showing variable flow)
  3. Variable extraction from response
  4. Code generation export
  5. Response comparison

๐Ÿš€ Getting Started

Prerequisites

  • Node.js 18+ installed
  • npm or yarn package manager

Installation

# Clone the repository
git clone https://github.com/Dancode-188/restbolt.git
cd restbolt

# Install dependencies
npm install

# Start development server
npm run dev

Open http://localhost:3000 in your browser.

Quick Start Guide

  1. Send Your First Request

    • Enter a URL (try https://jsonplaceholder.typicode.com/posts/1)
    • Click "Send" or press Cmd/Ctrl + Enter
    • View formatted response
  2. Create a Collection

    • Click "Collections" tab in sidebar
    • Click "New Collection"
    • Save requests for later
  3. Try the Chain Builder (The Cool Part!)

    • Click "Chains" tab in sidebar
    • Click "New Chain"
    • Add multiple steps
    • Extract variables from responses (e.g., userId = $.id)
    • Use variables in next steps (e.g., /users/{{userId}}/posts)
    • Execute and watch variables flow through the chain!

๐Ÿ”— Chain Builder - Our Killer Feature

The Chain Builder is what makes RestBolt special. It lets you create visual, multi-step API workflows where data flows automatically between requests.

Example Use Case: User Onboarding Flow

Step 1: Create User
  POST /api/users
  Extract: userId = $.id

Step 2: Create Profile  
  POST /api/profiles
  Body: { "userId": {{userId}}, "bio": "..." }
  Extract: profileId = $.id

Step 3: Upload Avatar
  POST /api/avatars
  Body: { "profileId": {{profileId}}, "image": "..." }

Step 4: Verify Setup
  GET /api/users/{{userId}}/complete

Features:

  • Visual step-by-step editor
  • JSONPath-based variable extraction
  • Variable interpolation in URLs, headers, and body
  • Conflict detection (warns if overwriting variables)
  • Execution history tracking
  • Continue-on-error handling
  • Delay between steps
  • Export/import chains

๐Ÿ› ๏ธ Tech Stack

  • Framework: Next.js 15 (App Router)
  • Language: TypeScript
  • State Management: Zustand
  • UI: Tailwind CSS
  • Code Editor: Monaco Editor (VS Code editor)
  • HTTP Client: Axios
  • Local Storage: Dexie.js (IndexedDB wrapper)
  • Resizable Panels: react-resizable-panels
  • Keyboard Shortcuts: react-hotkeys-hook

โŒจ๏ธ Keyboard Shortcuts

Shortcut Action
Cmd/Ctrl + Enter Send request
Cmd/Ctrl + B Toggle sidebar
Cmd/Ctrl + K Focus URL bar
Cmd/Ctrl + Shift + ? Show all shortcuts
Cmd/Ctrl + , Open settings
Esc Close modals

๐Ÿ“ Project Structure

restbolt/
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ app/              # Next.js app router pages
โ”‚   โ”œโ”€โ”€ components/       # React components
โ”‚   โ”‚   โ”œโ”€โ”€ ChainBuilder.tsx
โ”‚   โ”‚   โ”œโ”€โ”€ ChainManager.tsx
โ”‚   โ”‚   โ”œโ”€โ”€ RequestBuilder.tsx
โ”‚   โ”‚   โ”œโ”€โ”€ ResponseViewer.tsx
โ”‚   โ”‚   โ””โ”€โ”€ ...
โ”‚   โ”œโ”€โ”€ lib/              # Services and utilities
โ”‚   โ”‚   โ”œโ”€โ”€ chain-service.ts
โ”‚   โ”‚   โ”œโ”€โ”€ http-client.ts
โ”‚   โ”‚   โ”œโ”€โ”€ db.ts
โ”‚   โ”‚   โ””โ”€โ”€ ...
โ”‚   โ””โ”€โ”€ types/            # TypeScript type definitions
โ”œโ”€โ”€ public/               # Static assets
โ””โ”€โ”€ package.json

๐ŸŽฏ Roadmap

See GitHub Issues for planned features:

  • GraphQL support with dedicated query builder
  • Mock server for API simulation
  • Automated testing framework
  • Request scripting (pre/post-request scripts)
  • Team collaboration features
  • Cloud sync (optional)
  • Desktop app (Tauri packaging)
  • Plugin system

๐Ÿค Contributing

Contributions are welcome! Here's how you can help:

  1. Report Bugs - Open an issue with details
  2. Suggest Features - Open an issue with your idea
  3. Submit PRs - Fork, create a feature branch, and submit a PR
  4. Improve Docs - Help us make the documentation better
  5. Spread the Word - Share RestBolt with other developers

Development Setup

# Fork and clone the repo
git clone https://github.com/Dancode-188/restbolt.git
cd restbolt

# Install dependencies
npm install

# Start development server
npm run dev

# Run linting
npm run lint

# Build for production
npm run build

๐Ÿ“ License

MIT License - see LICENSE file for details.


๐Ÿ’ฌ Support & Community


๐Ÿ™ Acknowledgments

Built with โค๏ธ by developers who were tired of slow, bloated API clients.

Special thanks to:

  • Next.js team for the amazing framework
  • Monaco Editor for the beautiful code editor
  • The open-source community for incredible libraries

โญ Star Us!

If you find RestBolt useful, please consider giving it a star on GitHub! It helps others discover the project.


RestBolt - Fast, local-first API testing for developers who care about speed and simplicity.

About

Fast, local-first API client for developers

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 99.8%
  • Other 0.2%
โšก