A REST scripting language
I still dislike Postman. Heavy GUI tools for API testing always feel like they’re fighting against the developer’s workflow. You have to click through menus, manage collections in a proprietary format, and it’s a nightmare to version control.
And now, with the ubiquity of AI chat bots, developers want their coding agents to be able to handle all aspects of their projects. That means more documentation, configs, and resources living in your codebase.
I wanted something that:
To achieve these goals, I decided to make a programming language specialized for making HTTP requests. Simple script files can live in your codebase, alongside your project. For here, you and your coding assistant can easily read and edit it in your editor, run it from your terminal or a VSCode extension, and collaborate on it with git.
Cleaner than Postman. Clearer than cUrl.
I first started ideating on Bell back in 2024. The idea was to create a Domain Specific Language (DSL) that was as readable as a cURL command but as powerful as a full testing suite.
Now, with AI to help me with the more complex parts of the parser and runtime, I’ve brought that proof-of-concept to life.
Bell scripts are simple .bel files. You define your endpoint, headers, and body using a clean, declarative syntax.
url "https://api.example.com/v1/login"
body {
"username": "admin",
"password": "{env.ADMIN_PASSWORD}"
}
POST
That’s it!
In this MVP phase, it was important to build a little bit of every aspect of what this language could be. That meant in a monorepo we created:
core package for bell-langvscode package for the VSCode extensiondocs app that serves the website explaining belltest-app app for local testingI plan to start using Bell to test all my side projects. While there a certainly bugs and imperfections, I feel with time, and perhaps support from other devs, Bell can become a viable option for testing APIs. Maybe then, I’ll try bringing with me to work.