Voiden - an Offline, Git-native API tool built around Markdown (voiden.md)
from dhruv3006@lemmy.world to selfhosted@lemmy.world on 16 Apr 08:05
https://lemmy.world/post/45670318

We open sourced Voiden a few months ago: an offline API tool where API requests live as executable Markdown and are versioned in Git. We wanted to build something that combines the power and flexibility of Obsidian-style files with the simplicity of curl.

The basic idea of Voiden is that instead of being static forms, API requests are composed by using blocks (endpoint, auth, params, body). Blocks that you can add, reuse, override, and stitch together across files (more like functions than requests).

Most of the feedback, requests and contributions that we have gotten since Open Sourcing, have been around defining workflows, chaining requests, scripting them, and structuring everything in reusable .void files.

These are some of the key highlights that I wanted to share:

– Real scripting, (instead of sandboxes): In most API tools scripting lives in a constrained JS sandbox, an environment that doesn’t take advantage of powerful runtimes that might be available locally for a developer. The biggest limitation here is the assumption that the tool should define the runtime. Voiden runs fully locally, so this allows you to just run your scripts with actual runtimes (JS, Python, shell, with support for others being added).

– Multiple requests per file (mini workflows): Allowing multiple requests in a single .void file turned out to be surprisingly useful. Instead of scattering related requests, you can group them naturally: an order flow (create - pay - confirm), or a full CRUD cycle in one place. The file effectively becomes an executable flow: run one request, or the entire sequence end-to-end. And since Voiden is executable Markdown, docs and tests are in the same .void file that can be organised better, preventing duplication and drift.

– Stitch (composable workflows across files): Instead of a single large collection, workflows (“Stitch”) are built from .void files that you can combine across scenarios. You define small flows (auth, setup, CRUD, etc.) and stitch them together into larger workflows, without duplication. This is just the first version of this capability, we still have a lot to do here.

– Agents :The file-based, local-first model also works well with agents. Since Voiden has a built-in terminal and uses Markdown, we added “skills” so that Claude and Codex agents can work directly with .void files (using your own subscriptions).

We also published an SDK for community plugins, and made improvements to performance, reliability, and DX (keyboard-first), with careful attention to performance given the Electron base

Looking for feedback and suggestions.

Github : github.com/VoidenHQ/voiden

Download : voiden.md/download

Latest Lemmy discussion : lemmy.world/post/43922166

#selfhosted

threaded - newest

engineer@infosec.pub on 16 Apr 15:02 next collapse

This looks interesting. Has anyone used it?

dhruv3006@lemmy.world on 16 Apr 16:39 next collapse

You can join our discord to meet people who are using it : discord.com/invite/XSYCf7JF4F

nikolasdimi@lemmy.world on 16 Apr 19:53 collapse

yeah, around 11k installs so far - and a few committed and opinionated contributors :) - hope you give it a try.

BlameTheAntifa@lemmy.world on 16 Apr 20:21 collapse

This reminds me of the Jetbrains HTTP client. Is there a benefit if you already use Swagger?