Metaphor

A language designed for building software with AI

Conventional software development can create islands of disconnected information. Product requirements, engineering implementation details, testing, security, and deployment are often captured in different ways. Left unchecked, ambiguous or inconsistent elements can find their way into implementations, confusing everyone and leading to high costs to correct them.

When we add AI into this, things can get much worse. Our AIs only know about these things if we tell them, so we risk asking AIs to do things with far less understanding than we'd ask people to do

Metaphor is a simple prompt creation language designed to solve this. It provides a way to capture all these details to allow AIs to have a clear idea what you want and how they can help you. You can embed source code, requirements documents, design specifications, etc. along with notes about how your AI should use each one, so you can capture knowledge and expertise from across your team.

What makes Metaphor different?

Metaphor encourages you to work at a higher level. It's designed to let you focus on what you want your software to do, not how it's built. As new requirements and capabilities are needed, they can be captured in the Metaphor description of your software and checked to ensure they align with previous elements. Once you have a finished description, your AI can help deliver and maintain all aspects of the implementation.

By focusing on what you want and why, you provide the AI key insights that are not available in the source code alone. This means it can be much more effective at helping you maintain and enhance what you built. It also means the AI can be an invaluable partner intraining and onboarding new team members.

Metaphor in action

Iterate quickly

As AI can do your implementation work rapidly, trying new ideas and discarding ones you don't like is easy. This means you can afford to try a few different approaches if you're unsure which one might work best rather than settling for the first one you develop.

Metaphor provides you a solid base from which to experiment interactively (vibe code) and then capture what you learned in a more structured way before building a production-grade implementation.

Like conventional software development, Metaphor encourages teams to use version control and careful review before accepting changes. This also helps keep everyone aligned and dramatically improves time to value creation.

A modular approach

Another great strength of the Metaphor designs is it encourges you to break your context into reusable modules. This means you can build a library of components that can be adopted by different projects. This makes it easy to ensure your team is using the same coding rules, UX design templates, security practices, etc., on all your projects.

Try Humbug and Metaphor now

Download the latest version of Humbug, which includes Metaphor, for free:

For all other platforms, and for source code, head to: github.com/m6r-ai/humbug

You can also find the standalone Metaphor tools on GitHub: github.com/m6r-ai/m6rc and github.com/m6r-ai/m6rclib

Frequently asked questions

Have questions about Metaphor? Visit our FAQ page to find answers to common questions about the language, its features, and how to use it effectively.

Examples

You can find examples powered by Metaphor on GitHub. Some of these are demos we've written, and some are tools we use to help us build our software!

View our YouTube channel

Find out more on our YouTube channel.

Connect with us

Join us on Discord, or follow us on LinkedIn, to find out more about how Metaphor can help you.