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 : https://github.com/VoidenHQ/voiden

Download : https://voiden.md/download

Latest Lemmy discussion : https://lemmy.world/post/43922166

  • Decronym@lemmy.decronym.xyzB
    link
    fedilink
    English
    arrow-up
    1
    ·
    44 minutes ago

    Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:

    Fewer Letters More Letters
    AP WiFi Access Point
    Git Popular version control system, primarily for code
    HTTP Hypertext Transfer Protocol, the Web
    IP Internet Protocol
    IoT Internet of Things for device controllers
    Zigbee Wireless mesh network for low-power devices

    [Thread #241 for this comm, first seen 17th Apr 2026, 04:50] [FAQ] [Full list] [Contact] [Source code]

    • dhruv3006@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      49 minutes ago

      imo Swagger is good for looking at the API. For local and odd setups for example If you need shell scripts swagger becomes pretty rigid.