/insomnium

Insomnium is a fast local API testing tool that is privacy-focused and 100% local. For testing GraphQL, REST, WebSockets and gRPC. This is a fork of Kong/insomnia

Primary LanguageJavaScriptMIT LicenseMIT

Insomnium API Client

Insomnium is a 100% local and privacy-focused open-source API client for testing GraphQL, REST, WebSockets, Server-sent events and gRPC in development/production.

  • ✅ works 100% offline, the way a local testing tool should behave
  • ✅ no cloud services, no tracking/communication to external servers behind the scene
  • 🦙 (coming up) optional integration to local LLMs like CodeLlama for front-end code generation in React, Vue, htmx, etc, based on the API response JSON

license GitHub Discussions join our discord

Insomnium API Client

Backstory

Insomnium is a fork of Kong/insomnia at 2023.5.8, the last commit before compulsory account login was introduced. In a sense, Insomnium is a community response to the latest product update that forces account creation w/o warning.

HN

I was among the users who were deeply affected by the recent change. I still think Insomnia is a nice product in general, but I have to disagree with the direction it is going. So I have decided to fork it and make it 100% local and privacy-focused.

I choose to walk in shades.
Hearken now, to the song of dusk
The forest venerates your name
--- Insomnium, song of the dusk

Roadmap

I have removed user login, tracking, analytics, etc, from Insomnia so it is now a 100% local app. (And runs faster!)

If you have any feature request or encountered any bug, feel free to open an issue. Thanks! I'm also working on a Code Llama plugin for Insomnium to make it more easily customizable and extensible, while keeping the core product fast and 100% local-only. You can read more about Insomnium's roadmap here.

Vote for Insomnium's new icon now! github.com/ArchGPT/insomnium/discussions/11

Download

Insomnium is available for Mac, Windows, Ubuntu, Debian, CentOS, Fedora and can be downloaded here. Insomnium is also available on AUR for ArchLinux.

Alternatively, you can build Insomnium from source on your local machine using npm run app-package.

Migration from Insomnia

You can use the GUI (under Preferences/Data) or directly e.g. for linux cp -r ~/.config/Insomnia ~/.config/Insomnium. For MacOS and Windows, you can read more here. Feel free to open an issue/discussion if anything weird happens.

Develop Insomnium

Development on Insomnium can be done on Mac, Windows, or Linux as long as you have Node.js and Git. See the .nvmrc file located in the project for the correct Node version.

Initial Dev Setup

This repository is structured as a monorepo and contains many Node.JS packages. Each package has its own set of commands, but the most common commands are available from the root package.json and can be accessed using the npm run … command. Here are the only three commands you should need to start developing on the app.

# Install and Link Dependencies
npm i

# Run Lint
npm run lint

# Run type checking
npm run type-check

# Run Tests
npm test

# Start App with Live Reload
npm run dev

Linux

If you are on Linux, you may need to install the following supporting packages:

Ubuntu/Debian
# Update library
sudo apt-get update

# Install font configuration library & support
sudo apt-get install libfontconfig-dev
Fedora
# Install libcurl for node-libcurl
sudo dnf install libcurl-devel

Also on Linux, if Electron is failing during the install process, run the following

# Clear Electron install conflicts
rm -rf ~/.cache/electron

Windows

If you are on Windows and have problems, you may need to install Windows Build Tools

Editor Requirements

You can use any editor you'd like, but make sure to have support/plugins for the following tools:

  • ESLint - For catching syntax problems and common errors
  • JSX Syntax - For React components

Bugs and Feature Requests

Before submitting a bug or a feature request, you can read the issue guidelines.

Contributing

Please read through our contributing guidelines and code of conduct. Included are directions for opening issues, coding standards, and notes on development.

License

MIT