Hazelnut is a project which goal is to automatize the bootstrap process of a Pharo environment. This bootstrap process will provide several advantages to the Pharo distribution:

  • making the process reproduceable and repeatable
  • giving support to deep evolution of the system when performing critical changes
  • providing a way to create experimental distributions for research


Hazelnut is an explicit and repeatable process to generate new Pharo Kernels. This process should guarantee:

  • healthy initial state of the new kernels, and the completeness of the initialization code that makes it possible
  • the ability to support deep changes such as modifying the reflective architecture of the system
  • the gradual identification of the core packages of the system
  • the break of the monolithic Pharo image and it's testing, working together with Tanker packages



Currently, Hazelnut loads and works on top of Pharo2.0. To load the code, you can evaluate the following piece of code:

Gofer it
	smalltalkhubUser: 'Guille' project: 'Seed';
	package: 'ConfigurationOfHazelnut';

(Smalltalk at: #ConfigurationOfHazelnut) loadDefault

Examples of usage

Implementation details


Related Work

  • Chacharas
  • SystemTracer
  • Spoon
  • MicroSqueak