Glamorous Toolkit is the Moldable Development Environment

Make systems explainable through thousands of contextual tools

Download

Free and open-source for Mac, Linux & Windows
Star us on GitHub. Chat with us on Discord.

Thousands of contextual tools?

Programming, exploring data, browsing APIs, knowledge management, log investigations, domain modeling are all part of the same continuum. They require dedicated tools that can come to you in an integrated experience that is specific to your system. This is the essence of Moldable Development. And this is what Glamorous Toolkit makes practical.

Watch Tudor Girba's YOW 2023 talk
(The first two minutes has poor sound quality, but it's still worth it ;))

A single environment. Many use cases

Glamorous Toolkit is the Moldable Development environment made out of visual and interactive operators that can be combined inexpensively in many ways.

Domain discovery example

Explaining a domain object through examples and contextual views.

Software assessment example

An interactive exploration of dependencies between ActiveRecords in a Rails application that also shows the Ruby and SQL sources.

API exploration example

Exploring a REST API through contextual views.

DevOps investigations example

Investigating the logs of a failing Jenkins continuous delivery job.

Data exploration example

Exploring the data exported from a Twitter account.

System documentation example

Exploring the book about Glamorous Toolkit written in Glamorous Toolkit.

System specific editors example

Editing a AT Protocol lexicon definition at the domain level: highlighting of name strings, completion inside JSON strings, navigation from a reference to its definition.

How to start?

Download and run.

To exploit Glamorous Toolkit, you have to program it. To learn how to program it, first learn how to learn inside the environment.

Then pick a problem you care about and work your way through it.

Get started
Watch Oscar Nierstrasz's GT in 7 minutes series.

Made to work with many languages and technologies

Glamorous Toolkit is implemented in Pharo and Rust but it was designed to be extended for other technologies and languages. It can be used to analyze various sources such as Java, C#, Ruby/Rails, Python, TypeScript, JavaScript, React or COBOL. And it can be used to work with various runtimes like GraphQL, Python, JavaScript or Gemstone.

Editing GraphQL and exploring a server response from a Lepiter page.

Explaining a tokenization algorithm implemented in Python.

A dedicated environment for defining support for other languages.

Exploring COBOL screens, control flows and source code.

So, what exactly is Moldable Development again?

Moldable Development is a way of programming through contextual tools built for each problem.

The premise of Moldable Development is that there is no single perspective on a system that is correct. There are always many, and different parts of the system are best shown differently. These shapes summarize the system from specific perspectives. This then leads to a compressed communication and a new feedback loop.

Glamorous Toolkit itself is an extensive case study of how contextual tools enhance programming abilities. It comes out of the box with thousands of extensions and examples that touch on the whole system.

The goal? To make the inside of systems explainable.

The need for moldability is pervasive. The treemap shows the classes of Glamorous Toolkit organized in packages. Blue denotes classes that contain at least one contextual view; green shows those that have an example.

Watch Simon Wardley and Tudor Girba chat about Moldable Development and thousands of tools per system.