For the best experience on desktop, install the Chrome extension to track your reading on news.ycombinator.com
Hacker Newsnew | past | comments | ask | show | jobs | submit | history | heycesr's commentsregister

Thanks, let me know how it goes


TL;DR: We built PromptL, an open-source templating language for AI prompts, because we were frustrated with how messy prompt engineering had become. PromptL lets you write prompts in a structured, reusable way: with variables, logic, and multi-step workflows. No more hard-coded strings or copy-pasting between AI calls. We hope it makes prompt development more reliable and collaborative, and we’d love to share why and how we built it.

Over the past year, we worked a lot with LLMs. We constantly found ourselves wrestling with prompts: embedding variables into giant strings, stitching together calls, and juggling many slightly different versions. It felt like trying to write a program without a programming language.

We weren’t alone. Most teams manage prompts as plain text or JSON, leading to:

- Repetition and inconsistency - Hard to maintain structure - Poor readability - Clumsy collaboration

So we built PromptL to bring the benefits of a markup language to prompt design. In PromptL, you write a declarative prompt script with system/user messages, variables, and logic. A compiler turns this into something any LLM API can use (OpenAI, Anthropic, etc.).

Here's a quick taste of what PromptL looks like in action:

```

---

model: gpt-4o

temperature: 0.7

---

You are a helpful coding assistant.

<user>

Generate unit tests for the following function:

{{ code_snippet }}

</user>

```

This prompt:

- Defines model settings - Includes a system role message in plain text - Has a user block with a {{ code_snippet }} placeholder

Much easier than managing raw JSON or string concatenation. If you want to change something, just edit the template. PromptL handles formatting and interpolation automatically.

We built in features that we felt were missing in our prompt workflows:

1. Variables: Define once, reuse anywhere. No more brittle string concat.

2. Role blocks: <system>, <user>, <assistant> make multi-turn prompts easy to follow.

3. Control flow: Add basic logic: if/else and loops. Great for adapting prompts to context.

4. Chaining: Compose multiple steps in a workflow. For example, one prompt to analyze, another to act.

5. Multi-modal placeholders: Include non-text inputs (like images) cleanly in templates.

6. Provider-agnostic: PromptL compiles to a standard message array usable with any LLM. Built-in adapters for OpenAI, Anthropic, and open-source models.

We kept the syntax simple. If you know basic YAML/Markdown and a little programming logic, you can use PromptL. That was important, we wanted non-engineers to help build and edit prompts. At our company, even non-devs are tweaking PromptL files now.

Why did we build this?

We weren’t sure a “prompt language” was necessary. But once we built a prototype, we were hooked. It let us iterate faster: no more writing glue code for each prompt change, just edit the template and recompile.

We shared it with a few devs and got great feedback: they saved time and could iterate faster. That led to new features like chaining and control flow. PromptL is now at v0.5.4. Still early, but stable and usable.

We open-sourced it because we believe prompt engineering needs better tools and shared standards. You can find the compiler and spec on GitHub. Contributions welcome!

We’re excited (and a little nervous) to finally launch PromptL. Our goal is to start better conversations about prompt design and offer a tool we found useful. Even if PromptL isn’t the final answer, we hope it helps move things forward.

If you're curious, check out the repo or our docs. There’s a quick start guide and example templates. We’ll be hanging out in the comments, ask us anything!

Thanks for reading, and thanks to HN for inspiring tools like this. We built PromptL to make our lives easier. Maybe it can help you too.


Works for me!


Similar ethos, but we built the framework with SQL at its core instead of Python, which makes it ideal for working with databases or data warehouses.


> we built the framework with SQL at its core instead of Python

From your GitHub page:

> Prerequisites: You need to have NodeJS >18.x installed in your machine.

No, seems you built it with JavaScript at its core instead of SQL. How do you use it from GNU C? Zig? Delphi?


Not open source nor self-hosted AFAIK, but it sounds like you're looking for something like Retool (https://retool.com)


I've never worked with it myself, but Appsmith (appsmith.com) seems like a promising alternative to Retool.


Shameless plug: I built Typehut[1] for use cases like this, spinning up a super quick blog/publication that people can subscribe to.

Custom templates and domains are built-in too.

[1] https://typehut.com


I'm working on Typehut, a super-simple publishing platform for blogs, newsletters, changelogs, devlogs, etc.

Currently adding support for private sites and fully custom templates, to enable more use cases.

https://typehut.com/


Shameless plug: I built https://typehut.com as a simpler alternative to classic blog and publishing systems. It's super easy to get started and it has some nice things like email subscriptions built-in.

If anybody tries it out let me know!


FYI, I ca'n't reach your site! If it works will check out!


Hmm, works on my side. What’s the error you’re seeing?


Tomorrow I’ll be launching https://typehut.com, a super simple publishing platform for blogs, changelogs, newsletters, announcements, etc that I’ve been building during this last month.


Do you have any examples? I like the idea but I don't know what the end product will look like.


Sure! Just created this example site with some dummy content: https://example.typehut.com/

Right now there's only one template available, but I plan on adding custom templating mid-January.

(It's fully functional btw, so don't hesitate and sign up!)


Is this based on TipTap ? The text editor reminds me of it


Hmm nope, I'm not familiar with TipTap. The text editor is actually just a textarea, nothing fancy :)


Workflowy changed my life https://workflowy.com/


Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search:

HN For You